summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Faure <faure@kde.org>2012-06-23 14:08:25 +0200
committerQt by Nokia <qt-info@nokia.com>2012-06-27 09:23:15 +0200
commit2246e48a760823234952031afd247e5d0419e38c (patch)
tree943afc41b3708de63f821b22456bcfe2f088b7c0
parentae7e9a407fbcd06926216e9f9bdebc0a8144527c (diff)
Add QGuiApplication::setApplicationDisplayName.
This is for use in window titles. Change-Id: I0070a08abd379ae2edcfab4413c182bd9e840678 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
-rw-r--r--src/gui/kernel/qguiapplication.cpp27
-rw-r--r--src/gui/kernel/qguiapplication.h4
-rw-r--r--src/gui/kernel/qguiapplication_p.h1
-rw-r--r--tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp13
4 files changed, 45 insertions, 0 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index dbee892319..a3d9c1f2ab 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -119,6 +119,7 @@ enum ApplicationResourceFlags
static unsigned applicationResourceFlags = 0;
QString *QGuiApplicationPrivate::platform_name = 0;
+QString *QGuiApplicationPrivate::displayName = 0;
QPalette *QGuiApplicationPrivate::app_pal = 0; // default application palette
@@ -369,6 +370,8 @@ QGuiApplication::~QGuiApplication()
delete QGuiApplicationPrivate::platform_name;
QGuiApplicationPrivate::platform_name = 0;
+ delete QGuiApplicationPrivate::displayName;
+ QGuiApplicationPrivate::displayName = 0;
}
QGuiApplicationPrivate::QGuiApplicationPrivate(int &argc, char **argv, int flags)
@@ -382,6 +385,30 @@ QGuiApplicationPrivate::QGuiApplicationPrivate(int &argc, char **argv, int flags
}
/*!
+ \property QGuiApplication::applicationDisplayName
+ \brief the user-visible name of this application
+ \since 5.0
+
+ This name is shown to the user, for instance in window titles.
+ It can be translated, if necessary.
+
+ If not set, the application display name defaults to the application name.
+
+ \sa applicationName
+*/
+void QGuiApplication::setApplicationDisplayName(const QString &name)
+{
+ if (!QGuiApplicationPrivate::displayName)
+ QGuiApplicationPrivate::displayName = new QString;
+ *QGuiApplicationPrivate::displayName = name;
+}
+
+QString QGuiApplication::applicationDisplayName()
+{
+ return QGuiApplicationPrivate::displayName ? *QGuiApplicationPrivate::displayName : applicationName();
+}
+
+/*!
Returns the most recently shown modal window. If no modal windows are
visible, this function returns zero.
diff --git a/src/gui/kernel/qguiapplication.h b/src/gui/kernel/qguiapplication.h
index a366826c28..b84d73147d 100644
--- a/src/gui/kernel/qguiapplication.h
+++ b/src/gui/kernel/qguiapplication.h
@@ -74,6 +74,7 @@ class QStyleHints;
class Q_GUI_EXPORT QGuiApplication : public QCoreApplication
{
Q_OBJECT
+ Q_PROPERTY(QString applicationDisplayName READ applicationDisplayName WRITE setApplicationDisplayName)
Q_PROPERTY(Qt::LayoutDirection layoutDirection READ layoutDirection WRITE setLayoutDirection)
Q_PROPERTY(QString platformName READ platformName STORED false)
Q_PROPERTY(bool quitOnLastWindowClosed READ quitOnLastWindowClosed WRITE setQuitOnLastWindowClosed)
@@ -82,6 +83,9 @@ public:
QGuiApplication(int &argc, char **argv, int = ApplicationFlags);
virtual ~QGuiApplication();
+ static void setApplicationDisplayName(const QString &name);
+ static QString applicationDisplayName();
+
static QWindowList allWindows();
static QWindowList topLevelWindows();
static QWindow *topLevelAt(const QPoint &pos);
diff --git a/src/gui/kernel/qguiapplication_p.h b/src/gui/kernel/qguiapplication_p.h
index a564120a3b..a9fe118f2b 100644
--- a/src/gui/kernel/qguiapplication_p.h
+++ b/src/gui/kernel/qguiapplication_p.h
@@ -164,6 +164,7 @@ public:
static QGuiApplicationPrivate *instance() { return self; }
static QString *platform_name;
+ static QString *displayName;
QWindowList modalWindowList;
static void showModalWindow(QWindow *window);
diff --git a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp
index 372dd65ff4..dda810ab41 100644
--- a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp
+++ b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp
@@ -50,6 +50,7 @@ class tst_QGuiApplication: public QObject
Q_OBJECT
private slots:
+ void displayName();
void focusObject();
void allWindows();
void topLevelWindows();
@@ -60,6 +61,18 @@ private slots:
void quitOnLastWindowClosed();
};
+void tst_QGuiApplication::displayName()
+{
+ int argc = 1;
+ char *argv[] = { const_cast<char*>("tst_qguiapplication") };
+ QGuiApplication app(argc, argv);
+ QCOMPARE(::qAppName(), QString::fromLatin1("tst_qguiapplication"));
+ QCOMPARE(QGuiApplication::applicationName(), QString::fromLatin1("tst_qguiapplication"));
+ QCOMPARE(QGuiApplication::applicationDisplayName(), QString::fromLatin1("tst_qguiapplication"));
+ QGuiApplication::setApplicationDisplayName("The GUI Application");
+ QCOMPARE(QGuiApplication::applicationDisplayName(), QString::fromLatin1("The GUI Application"));
+}
+
class DummyWindow : public QWindow
{
public: