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>
This commit is contained in:
Joerg Bornemann 2012-10-01 12:55:27 +02:00 committed by The Qt Project
parent 07c95ad7f3
commit 24c403a2bd
5 changed files with 32 additions and 0 deletions

View File

@ -252,6 +252,11 @@ void QPlatformWindow::setParent(const QPlatformWindow *parent)
*/ */
void QPlatformWindow::setWindowTitle(const QString &title) { Q_UNUSED(title); } 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 Reimplement to set the window icon to \a icon
*/ */

View File

@ -97,6 +97,7 @@ public:
virtual void setParent(const QPlatformWindow *window); virtual void setParent(const QPlatformWindow *window);
virtual void setWindowTitle(const QString &title); virtual void setWindowTitle(const QString &title);
virtual void setWindowFilePath(const QString &title);
virtual void setWindowIcon(const QIcon &icon); virtual void setWindowIcon(const QIcon &icon);
virtual void raise(); virtual void raise();
virtual void lower(); virtual void lower();

View File

@ -570,6 +570,27 @@ QString QWindow::windowTitle() const
return d->windowTitle; return d->windowTitle;
} }
/*!
\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 \property QWindow::windowIcon
\brief the window's icon in the windowing system \brief the window's icon in the windowing system

View File

@ -94,6 +94,7 @@ class Q_GUI_EXPORT QWindow : public QObject, public QSurface
Q_DECLARE_PRIVATE(QWindow) Q_DECLARE_PRIVATE(QWindow)
Q_PROPERTY(QString windowTitle READ windowTitle WRITE setWindowTitle) 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(QIcon windowIcon READ windowIcon WRITE setWindowIcon)
Q_PROPERTY(Qt::WindowModality windowModality READ windowModality WRITE setWindowModality NOTIFY windowModalityChanged) Q_PROPERTY(Qt::WindowModality windowModality READ windowModality WRITE setWindowModality NOTIFY windowModalityChanged)
Q_PROPERTY(int x READ x WRITE setX NOTIFY xChanged) Q_PROPERTY(int x READ x WRITE setX NOTIFY xChanged)
@ -203,6 +204,9 @@ public:
void resize(const QSize &newSize); void resize(const QSize &newSize);
inline void resize(int w, int h) { resize(QSize(w, h)); } inline void resize(int w, int h) { resize(QSize(w, h)); }
void setWindowFilePath(const QString &filePath);
QString windowFilePath() const;
void setWindowIcon(const QIcon &icon); void setWindowIcon(const QIcon &icon);
QIcon windowIcon() const; QIcon windowIcon() const;

View File

@ -114,6 +114,7 @@ public:
bool exposed; bool exposed;
QSurfaceFormat requestedFormat; QSurfaceFormat requestedFormat;
QString windowTitle; QString windowTitle;
QString windowFilePath;
QIcon windowIcon; QIcon windowIcon;
QRect geometry; QRect geometry;
Qt::WindowState windowState; Qt::WindowState windowState;