summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qguiapplication.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2012-03-14 14:51:19 +0100
committerQt by Nokia <qt-info@nokia.com>2012-03-14 18:35:25 +0100
commit259332e6553f01d438fdff56e22c37eaeb3920e3 (patch)
treeebf16abe23a8449cae205fddae9fe515f5d95efd /src/gui/kernel/qguiapplication.cpp
parent7f09f36873aa38810ab4315cce0ed80536c301eb (diff)
Add QGuiApplication::platformName.
Store the name of the QPA plugin as platformName. Change-Id: Id87cab2a189743c0dd727c86080f7d4595a852bb Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/gui/kernel/qguiapplication.cpp')
-rw-r--r--src/gui/kernel/qguiapplication.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index 26690c78cf..77b69af3eb 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -110,6 +110,7 @@ enum ApplicationResourceFlags
static unsigned applicationResourceFlags = 0;
+QString *QGuiApplicationPrivate::platform_name = 0;
bool QGuiApplicationPrivate::app_do_modal = false;
QPalette *QGuiApplicationPrivate::app_pal = 0; // default application palette
@@ -361,6 +362,9 @@ QGuiApplication::~QGuiApplication()
#ifndef QT_NO_CURSOR
d->cursor_list.clear();
#endif
+
+ delete QGuiApplicationPrivate::platform_name;
+ QGuiApplicationPrivate::platform_name = 0;
}
QGuiApplicationPrivate::QGuiApplicationPrivate(int &argc, char **argv, int flags)
@@ -470,6 +474,17 @@ QWindow *QGuiApplication::topLevelAt(const QPoint &pos)
return 0;
}
+/*!
+ \property QGuiApplication::platformName
+ \brief The name of the underlying platform plugin.
+ \since 5.0
+*/
+
+QString QGuiApplication::platformName()
+{
+ return QGuiApplicationPrivate::platform_name ?
+ *QGuiApplicationPrivate::platform_name : QString();
+}
static void init_platform(const QString &pluginArgument, const QString &platformPluginPath)
{
@@ -509,7 +524,9 @@ static void init_platform(const QString &pluginArgument, const QString &platform
// Create the platform integration.
QGuiApplicationPrivate::platform_integration = QPlatformIntegrationFactory::create(name, platformPluginPath);
- if (!QGuiApplicationPrivate::platform_integration) {
+ if (QGuiApplicationPrivate::platform_integration) {
+ QGuiApplicationPrivate::platform_name = new QString(name);
+ } else {
QStringList keys = QPlatformIntegrationFactory::keys(platformPluginPath);
QString fatalMessage =
QString::fromLatin1("Failed to load platform plugin \"%1\". Available platforms are: \n").arg(name);