From 4fa8095ad418aa2a2575255d653a190f833fdc47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Thu, 29 Jun 2023 17:55:19 +0200 Subject: [PATCH] macOS: Respect QDir::Hidden for native file dialogs The default for showsHiddenFiles is NO, so we were not showing hidden files unless the user toggled them via the keyboard shortcut. Change-Id: I796144452cf8f5a6cc46f1ba6747affcd0a35879 Reviewed-by: Volker Hilsheimer (cherry picked from commit bc648641209ff598687ae9bcf88cd40d8aaf8847) Reviewed-by: Qt Cherry-pick Bot --- src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm index b53235a0f19..1b414d07711 100644 --- a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm +++ b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm @@ -243,8 +243,12 @@ typedef QSharedPointer SharedPointerFileDialogOptions; return NO; } - if (!(filter & QDir::Hidden) && fileInfo.isHidden()) - return NO; + // We control the visibility of hidden files via the showsHiddenFiles + // property on the panel, based on QDir::Hidden being set. But the user + // can also toggle this via the Command+Shift+. keyboard shortcut, + // in which case they have explicitly requested to show hidden files, + // and we should enable them even if QDir::Hidden was not set. In + // effect, we don't need to filter on QDir::Hidden here. return YES; } @@ -350,6 +354,8 @@ typedef QSharedPointer SharedPointerFileDialogOptions; if (m_panel.allowedFileTypes.count > 2) m_panel.extensionHidden = NO; + m_panel.showsHiddenFiles = m_options->filter().testFlag(QDir::Hidden); + if (m_panel.visible) [m_panel validateVisibleColumns]; }