From 18e289e1519e2f8d005b26eca1a2a7d2a7947ed4 Mon Sep 17 00:00:00 2001 From: Alexey Rochev Date: Sun, 17 Nov 2024 23:33:33 +0300 Subject: [PATCH] Also filter out KDirSelectDialog --- src/ui/screens/mainwindow/mainwindow.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ui/screens/mainwindow/mainwindow.cpp b/src/ui/screens/mainwindow/mainwindow.cpp index 67ea597c..8d8f7064 100644 --- a/src/ui/screens/mainwindow/mainwindow.cpp +++ b/src/ui/screens/mainwindow/mainwindow.cpp @@ -146,6 +146,7 @@ namespace tremotesf { #ifndef Q_OS_MACOS constexpr auto kdePlatformFileDialogClassName = "KDEPlatformFileDialog"; + constexpr auto kDirSelectDialogClassName = "KDirSelectDialog"; [[nodiscard]] std::vector> toQPointers(const QWidgetList& widgets) { return {widgets.begin(), widgets.end()}; @@ -1492,7 +1493,8 @@ namespace tremotesf { mOtherWindowsHiddenByUs.clear(); for (auto&& widget : toQPointers(qApp->topLevelWidgets())) { if (widget != mWindow && widget->isWindow() && !widget->isHidden() && - !widget->inherits(kdePlatformFileDialogClassName)) { + // These are managed by QFileDialog + !widget->inherits(kdePlatformFileDialogClassName) && !widget->inherits(kDirSelectDialogClassName)) { info().log("Hiding {}", *widget); widget->hide(); mOtherWindowsHiddenByUs.push_back(std::move(widget));