Utility function to change window flags

This commit is contained in:
Klaus Basan
2017-09-22 04:31:55 +02:00
committed by Mathew Sutcliffe
parent 1bfe125108
commit daaf895c3b
2 changed files with 22 additions and 0 deletions

View File

@@ -19,6 +19,7 @@
#include "blackgui/guiapplication.h"
#include "blackgui/guiutility.h"
#include "blackgui/registermetadata.h"
#include "blackmisc/slot.h"
#include "blackmisc/directoryutils.h"
#include "blackmisc/datacache.h"
#include "blackmisc/logcategory.h"
@@ -194,6 +195,24 @@ namespace BlackGui
emit uiObjectTreeReady();
}
void CGuiApplication::addWindowFlags(Qt::WindowFlags flags)
{
QWidget *maw = this->mainApplicationWindow();
if (maw)
{
Qt::WindowFlags windowFlags = maw->windowFlags();
windowFlags |= flags;
maw->setWindowFlags(windowFlags);
}
else
{
connectOnce(this, &CGuiApplication::uiObjectTreeReady, this, [ = ]
{
this->addWindowFlags(flags);
});
}
}
void CGuiApplication::setWindowIcon(const QPixmap &icon)
{
instance()->m_windowIcon = icon;

View File

@@ -111,6 +111,9 @@ namespace BlackGui
//! Init the main application window based on information in this application
void initMainApplicationWindow(QWidget *mainWindow);
//! Set window flag on main application window
void addWindowFlags(Qt::WindowFlags flags);
//! \name print messages generated during parsing / cmd handling
//! @{
virtual bool cmdLineErrorMessage(const QString &cmdLineErrorMessage, bool retry = false) const override;