diff options
author | hjk <hjk121@nokiamail.com> | 2014-01-06 10:36:40 +0100 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-01-06 12:39:21 +0100 |
commit | 178bf93d15e5070dde16c32ccc72357090091bf9 (patch) | |
tree | 66fbc9456f63773b7606fe6f963ab5629b741dad /src | |
parent | 54340fd13b1ae3a07af2f0705541ba2de6d90124 (diff) |
Core: Add ICore::dialogParent() specific for use as dialog parent
Change-Id: I72dca0f95b418a32ac3859f086053f91b9e9ec67
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/coreplugin/icore.cpp | 15 | ||||
-rw-r--r-- | src/plugins/coreplugin/icore.h | 1 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/plugins/coreplugin/icore.cpp b/src/plugins/coreplugin/icore.cpp index a226c2b609..561b2a9d36 100644 --- a/src/plugins/coreplugin/icore.cpp +++ b/src/plugins/coreplugin/icore.cpp @@ -33,6 +33,7 @@ #include <extensionsystem/pluginmanager.h> #include <QSysInfo> +#include <QApplication> /*! \namespace Core @@ -170,10 +171,16 @@ Returns the main application window. - For use as dialog parent, and so on. + For dialog parents use \c dialogParent(). */ /*! + \fn QWidget *ICore::dialogParent() + + Returns a widget pointer suitable to use as parent for QDialogs. + */ + +/*! \fn IContext *ICore::currentContextObject() Returns the context object of the current main context. @@ -451,6 +458,12 @@ QWidget *ICore::mainWindow() return m_mainwindow; } +QWidget *ICore::dialogParent() +{ + QWidget *active = QApplication::activeModalWidget(); + return active ? active : m_mainwindow; +} + QStatusBar *ICore::statusBar() { return m_mainwindow->statusBar(); diff --git a/src/plugins/coreplugin/icore.h b/src/plugins/coreplugin/icore.h index 5f4fbdb14f..b716db16a1 100644 --- a/src/plugins/coreplugin/icore.h +++ b/src/plugins/coreplugin/icore.h @@ -94,6 +94,7 @@ public: static QString buildCompatibilityString(); static QWidget *mainWindow(); + static QWidget *dialogParent(); static QStatusBar *statusBar(); /* Raises and activates the window for the widget. This contains workarounds for X11. */ static void raiseWindow(QWidget *widget); |