Ref T447, toggleStayOnTop for CGuiApplication

This commit is contained in:
Klaus Basan
2018-12-10 03:40:10 +01:00
parent 9f408e8319
commit 6ebb2ee502
4 changed files with 20 additions and 20 deletions

View File

@@ -697,7 +697,7 @@ namespace BlackGui
void CGuiApplication::addMenuWindow(QMenu &menu) void CGuiApplication::addMenuWindow(QMenu &menu)
{ {
QPointer<QWidget> w = mainApplicationWidget(); QPointer<QWidget> w = CGuiApplication::mainApplicationWidget();
if (!w) { return; } if (!w) { return; }
const QSize iconSize = CIcons::empty16().size(); const QSize iconSize = CIcons::empty16().size();
QPixmap icon = w->style()->standardIcon(QStyle::SP_TitleBarMaxButton).pixmap(iconSize); QPixmap icon = w->style()->standardIcon(QStyle::SP_TitleBarMaxButton).pixmap(iconSize);
@@ -731,10 +731,7 @@ namespace BlackGui
c = connect(a, &QAction::triggered, this, [ = ]() c = connect(a, &QAction::triggered, this, [ = ]()
{ {
if (!w) { return; } if (!w) { return; }
const bool onTop = CGuiUtility::toggleStayOnTop(w); this->toggleStayOnTop();
CLogMessage(w.data()).info(onTop ?
QStringLiteral("Window on top") :
QStringLiteral("Window not always on top"));
}); });
Q_ASSERT_X(c, Q_FUNC_INFO, "Connect failed"); Q_ASSERT_X(c, Q_FUNC_INFO, "Connect failed");
Q_UNUSED(c); Q_UNUSED(c);
@@ -993,6 +990,15 @@ namespace BlackGui
arg(w->fontMetrics().averageCharWidth()); arg(w->fontMetrics().averageCharWidth());
} }
bool CGuiApplication::toggleStayOnTop()
{
QWidget *w = CGuiApplication::mainApplicationWidget();
if (!w) { return false; }
const bool onTop = CGuiUtility::toggleStayOnTop(w);
CLogMessage(w).info(onTop ? QStringLiteral("Window on top") : QStringLiteral("Window not always on top"));
return onTop;
}
void CGuiApplication::triggerNewVersionCheck(int delayedMs) void CGuiApplication::triggerNewVersionCheck(int delayedMs)
{ {
if (!m_updateSetting.get()) { return; } if (!m_updateSetting.get()) { return; }

View File

@@ -210,6 +210,9 @@ namespace BlackGui
//! \copydoc BlackCore::CApplication::gracefulShutdown //! \copydoc BlackCore::CApplication::gracefulShutdown
virtual void gracefulShutdown() override; virtual void gracefulShutdown() override;
//! Toggle stay on top
bool toggleStayOnTop();
//! Save the main widget state? //! Save the main widget state?
void setSaveMainWidgetState(bool save) { m_saveMainWidgetState = save; } void setSaveMainWidgetState(bool save) { m_saveMainWidgetState = save; }

View File

@@ -354,19 +354,13 @@ void SwiftGuiStd::onChangedWindowOpacity(int opacity)
void SwiftGuiStd::toogleWindowStayOnTop() void SwiftGuiStd::toogleWindowStayOnTop()
{ {
CGuiUtility::toggleStayOnTop(this); if (sGui) { sGui->toggleStayOnTop(); }
} }
void SwiftGuiStd::toggleWindowVisibility() void SwiftGuiStd::toggleWindowVisibility()
{ {
if (this->isVisible()) if (this->isVisible()) { this->hide(); return; }
{ this->show();
this->hide();
}
else
{
this->show();
}
} }
void SwiftGuiStd::onStyleSheetsChanged() void SwiftGuiStd::onStyleSheetsChanged()

View File

@@ -88,16 +88,13 @@ protected:
//! @} //! @}
//! Get a minimize action which minimizes the window //! Get a minimize action which minimizes the window
//! Actions for navigator @{
QAction *getWindowMinimizeAction(QObject *parent); QAction *getWindowMinimizeAction(QObject *parent);
//! Get a normal window action which minimizes the window
QAction *getWindowNormalAction(QObject *parent); QAction *getWindowNormalAction(QObject *parent);
//! Toggle window visibility action
QAction *getToggleWindowVisibilityAction(QObject *parent); QAction *getToggleWindowVisibilityAction(QObject *parent);
//! Toggle window stay on top action
QAction *getToggleStayOnTopAction(QObject *parent); QAction *getToggleStayOnTopAction(QObject *parent);
//! @}
private: private:
QScopedPointer<Ui::SwiftGuiStd> ui; QScopedPointer<Ui::SwiftGuiStd> ui;