diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2012-10-01 12:55:27 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-10-02 08:06:18 +0200 |
commit | 24c403a2bd71578a1978baed1c60f08c12cd62c5 (patch) | |
tree | ce787724bf5b847c48bb5e6981e49904d9f35803 /src | |
parent | 07c95ad7f3c2450f0dbb6edfa5e207a03cb88034 (diff) |
QWindow::setWindowFilePath added
QWindow::setWindowFilePath sets the file path of the document
that is currently represented by the window.
The window system might display it in the window's title bar
along with an icon matching the file type.
Task-number: QTBUG-27299
Change-Id: I8f620d1262fc0b4cd16884198b16853b73ce3b1f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/kernel/qplatformwindow.cpp | 5 | ||||
-rw-r--r-- | src/gui/kernel/qplatformwindow.h | 1 | ||||
-rw-r--r-- | src/gui/kernel/qwindow.cpp | 21 | ||||
-rw-r--r-- | src/gui/kernel/qwindow.h | 4 | ||||
-rw-r--r-- | src/gui/kernel/qwindow_p.h | 1 |
5 files changed, 32 insertions, 0 deletions
diff --git a/src/gui/kernel/qplatformwindow.cpp b/src/gui/kernel/qplatformwindow.cpp index 9e1e6be532..cdf5c6135a 100644 --- a/src/gui/kernel/qplatformwindow.cpp +++ b/src/gui/kernel/qplatformwindow.cpp @@ -253,6 +253,11 @@ void QPlatformWindow::setParent(const QPlatformWindow *parent) void QPlatformWindow::setWindowTitle(const QString &title) { Q_UNUSED(title); } /*! + Reimplement to set the window file path to \a filePath +*/ +void QPlatformWindow::setWindowFilePath(const QString &filePath) { Q_UNUSED(filePath); } + +/*! Reimplement to set the window icon to \a icon */ void QPlatformWindow::setWindowIcon(const QIcon &icon) { Q_UNUSED(icon); } diff --git a/src/gui/kernel/qplatformwindow.h b/src/gui/kernel/qplatformwindow.h index 5586b3c35a..7ea17d05aa 100644 --- a/src/gui/kernel/qplatformwindow.h +++ b/src/gui/kernel/qplatformwindow.h @@ -97,6 +97,7 @@ public: virtual void setParent(const QPlatformWindow *window); virtual void setWindowTitle(const QString &title); + virtual void setWindowFilePath(const QString &title); virtual void setWindowIcon(const QIcon &icon); virtual void raise(); virtual void lower(); diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index 98c9451de1..1e2ac5b0a6 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -571,6 +571,27 @@ QString QWindow::windowTitle() const } /*! + \property QWindow::windowFilePath + \brief the file name this window is representing. + + This property might be used by the windowing system to display the file + path of the document this window is representing in the tile bar. +*/ +void QWindow::setWindowFilePath(const QString &filePath) +{ + Q_D(QWindow); + d->windowFilePath = filePath; + if (d->platformWindow) + d->platformWindow->setWindowFilePath(filePath); +} + +QString QWindow::windowFilePath() const +{ + Q_D(const QWindow); + return d->windowFilePath; +} + +/*! \property QWindow::windowIcon \brief the window's icon in the windowing system diff --git a/src/gui/kernel/qwindow.h b/src/gui/kernel/qwindow.h index c3ac78fab2..62268cd88a 100644 --- a/src/gui/kernel/qwindow.h +++ b/src/gui/kernel/qwindow.h @@ -94,6 +94,7 @@ class Q_GUI_EXPORT QWindow : public QObject, public QSurface Q_DECLARE_PRIVATE(QWindow) Q_PROPERTY(QString windowTitle READ windowTitle WRITE setWindowTitle) + Q_PROPERTY(QString windowFilePath READ windowFilePath WRITE setWindowFilePath) Q_PROPERTY(QIcon windowIcon READ windowIcon WRITE setWindowIcon) Q_PROPERTY(Qt::WindowModality windowModality READ windowModality WRITE setWindowModality NOTIFY windowModalityChanged) Q_PROPERTY(int x READ x WRITE setX NOTIFY xChanged) @@ -203,6 +204,9 @@ public: void resize(const QSize &newSize); inline void resize(int w, int h) { resize(QSize(w, h)); } + void setWindowFilePath(const QString &filePath); + QString windowFilePath() const; + void setWindowIcon(const QIcon &icon); QIcon windowIcon() const; diff --git a/src/gui/kernel/qwindow_p.h b/src/gui/kernel/qwindow_p.h index caa5184594..57f79f1faa 100644 --- a/src/gui/kernel/qwindow_p.h +++ b/src/gui/kernel/qwindow_p.h @@ -114,6 +114,7 @@ public: bool exposed; QSurfaceFormat requestedFormat; QString windowTitle; + QString windowFilePath; QIcon windowIcon; QRect geometry; Qt::WindowState windowState; |