aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2014-01-06 10:36:40 +0100
committerhjk <hjk121@nokiamail.com>2014-01-06 12:39:21 +0100
commit178bf93d15e5070dde16c32ccc72357090091bf9 (patch)
tree66fbc9456f63773b7606fe6f963ab5629b741dad /src
parent54340fd13b1ae3a07af2f0705541ba2de6d90124 (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.cpp15
-rw-r--r--src/plugins/coreplugin/icore.h1
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);