From ad22d8b45b175183e8556456d48f09f552e8b9c3 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Fri, 24 May 2019 23:52:37 +0200 Subject: [PATCH] Fixed "window on top" * do not show navigator * no longer "on top" does not mean "on bottom" * Qt::QueuedConnection --- src/blackgui/components/navigatordialog.h | 2 +- src/blackgui/guiapplication.cpp | 2 +- src/blackgui/guiutility.cpp | 2 +- src/swiftguistandard/swiftguistd.cpp | 5 +++-- src/swiftguistandard/swiftguistdinit.cpp | 4 ++-- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/blackgui/components/navigatordialog.h b/src/blackgui/components/navigatordialog.h index c2a9914b3..3b6d6ac2d 100644 --- a/src/blackgui/components/navigatordialog.h +++ b/src/blackgui/components/navigatordialog.h @@ -131,7 +131,7 @@ namespace BlackGui int m_currentColumns = 1; QWidgetAction *m_marginMenuAction = nullptr; //!< menu widget(!) action for margin widget CMarginsInput *m_input = nullptr; //!< margins widget - QTimer m_watchdog; + QTimer m_watchdog; //!< navigator watchdog BlackMisc::CSetting m_settings { this, &CNavigatorDialog::onSettingsChanged }; }; } // ns diff --git a/src/blackgui/guiapplication.cpp b/src/blackgui/guiapplication.cpp index 785fec4e9..8ff2b7e78 100644 --- a/src/blackgui/guiapplication.cpp +++ b/src/blackgui/guiapplication.cpp @@ -1118,7 +1118,7 @@ namespace BlackGui bool CGuiApplication::toggleStayOnTop() { - QWidget *w = CGuiApplication::mainApplicationWidget(); + QMainWindow *w = CGuiApplication::mainApplicationWindow(); if (!w) { return false; } const bool onTop = CGuiUtility::toggleStayOnTop(w); CLogMessage(w).info(onTop ? QStringLiteral("Window on top") : QStringLiteral("Window not always on top")); diff --git a/src/blackgui/guiutility.cpp b/src/blackgui/guiutility.cpp index ee8474094..fbbadc134 100644 --- a/src/blackgui/guiutility.cpp +++ b/src/blackgui/guiutility.cpp @@ -393,7 +393,7 @@ namespace BlackGui if (Qt::WindowStaysOnTopHint & flags) { flags &= ~Qt::WindowStaysOnTopHint; - flags |= Qt::WindowStaysOnBottomHint; + // flags |= Qt::WindowStaysOnBottomHint; } else { diff --git a/src/swiftguistandard/swiftguistd.cpp b/src/swiftguistandard/swiftguistd.cpp index b55daf442..ce4c636c9 100644 --- a/src/swiftguistandard/swiftguistd.cpp +++ b/src/swiftguistandard/swiftguistd.cpp @@ -380,7 +380,8 @@ void SwiftGuiStd::onToggledWindowsOnTop(bool onTop) { if (onTop) { - if (m_navigator) { m_navigator->showNavigator(true); } + // here we could automatically display the navigator + // if (m_navigator) { m_navigator->showNavigator(true); } ui->comp_MainInfoArea->allFloatingOnTop(); } } @@ -418,7 +419,7 @@ void SwiftGuiStd::showNormal() void SwiftGuiStd::onNavigatorClosed() { - // this->showNormal(); + // void } void SwiftGuiStd::verifyPrerequisites() diff --git a/src/swiftguistandard/swiftguistdinit.cpp b/src/swiftguistandard/swiftguistdinit.cpp index 17c6f26cb..d3e9f300a 100644 --- a/src/swiftguistandard/swiftguistdinit.cpp +++ b/src/swiftguistandard/swiftguistdinit.cpp @@ -223,7 +223,7 @@ void SwiftGuiStd::initGuiSignals() connect(ui->menu_WindowToggleNavigator, &QAction::triggered, m_navigator.data(), &CNavigatorDialog::toggleNavigatorVisibility); connect(ui->menu_InternalsPage, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked); connect(ui->menu_MovingMap, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked); - connect(m_navigator.data(), &CNavigatorDialog::navigatorClosed, this, &SwiftGuiStd::onNavigatorClosed); + connect(m_navigator.data(), &CNavigatorDialog::navigatorClosed, this, &SwiftGuiStd::onNavigatorClosed, Qt::QueuedConnection); // settings (GUI component), styles connect(ui->comp_MainInfoArea->getSettingsComponent(), &CSettingsComponent::changedWindowsOpacity, this, &SwiftGuiStd::onChangedWindowOpacity); @@ -270,7 +270,7 @@ void SwiftGuiStd::initGuiSignals() }); // on top - connect(sGui, &CGuiApplication::alwaysOnTop, this, &SwiftGuiStd::onToggledWindowsOnTop); + connect(sGui, &CGuiApplication::alwaysOnTop, this, &SwiftGuiStd::onToggledWindowsOnTop, Qt::QueuedConnection); // main info area connect(ui->comp_MainInfoArea, &CMainInfoAreaComponent::changedWholeInfoAreaFloating, this, &SwiftGuiStd::onChangedMainInfoAreaFloating, Qt::QueuedConnection);