summaryrefslogtreecommitdiffstats
path: root/src/widgets/dialogs
diff options
context:
space:
mode:
authorRohan McGovern <rohan.mcgovern@nokia.com>2012-02-29 09:18:59 +1000
committerRohan McGovern <rohan.mcgovern@nokia.com>2012-02-29 09:23:14 +1000
commit98dd1781d9256f68025d2a2db408f4f5947f3214 (patch)
treedbe1424abd90014edb5546c920ca585ed62b46e3 /src/widgets/dialogs
parent6c1bdc1854a7700c2b3a345b95f6a2fdca84037d (diff)
parentfa1b9070af66edb81b2a3735c1951f78b22bd666 (diff)
Merge master -> api_changes
Includes fixes for tst_qfiledialog2, tst_qtextedit autotests on mac. Change-Id: I49cac26894d31291a8339ccc1eb80b6a940f0827
Diffstat (limited to 'src/widgets/dialogs')
-rw-r--r--src/widgets/dialogs/qdialog.cpp10
-rw-r--r--src/widgets/dialogs/qfilesystemmodel.cpp10
-rw-r--r--src/widgets/dialogs/qmessagebox.cpp6
3 files changed, 12 insertions, 14 deletions
diff --git a/src/widgets/dialogs/qdialog.cpp b/src/widgets/dialogs/qdialog.cpp
index 49b4dd3a23..5ffb5466d6 100644
--- a/src/widgets/dialogs/qdialog.cpp
+++ b/src/widgets/dialogs/qdialog.cpp
@@ -55,6 +55,7 @@
#include "qplatformtheme_qpa.h"
#include "private/qdialog_p.h"
#include "private/qguiapplication_p.h"
+#include "qplatformtheme_qpa.h"
#ifndef QT_NO_ACCESSIBILITY
#include "qaccessible.h"
#endif
@@ -790,11 +791,10 @@ void QDialog::showEvent(QShowEvent *event)
/*! \internal */
void QDialog::adjustPosition(QWidget* w)
{
-#ifdef Q_WS_X11
- // if the WM advertises that it will place the windows properly for us, let it do it :)
- if (X11->isSupportedByWM(ATOM(_NET_WM_FULL_PLACEMENT)))
- return;
-#endif
+
+ if (const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme())
+ if (theme->themeHint(QPlatformTheme::WindowAutoPlacement).toBool())
+ return;
QPoint p(0, 0);
int extraw = 0, extrah = 0, scrn = 0;
if (w)
diff --git a/src/widgets/dialogs/qfilesystemmodel.cpp b/src/widgets/dialogs/qfilesystemmodel.cpp
index 7ea4302a56..0211b2512c 100644
--- a/src/widgets/dialogs/qfilesystemmodel.cpp
+++ b/src/widgets/dialogs/qfilesystemmodel.cpp
@@ -1926,12 +1926,10 @@ void QFileSystemModelPrivate::init()
q, SIGNAL(directoryLoaded(QString)));
q->connect(&delayedSortTimer, SIGNAL(timeout()), q, SLOT(_q_performDelayedSort()), Qt::QueuedConnection);
- QHash<int, QByteArray> roles = q->roleNames();
- roles.insertMulti(QFileSystemModel::FileIconRole, "fileIcon"); // == Qt::decoration
- roles.insert(QFileSystemModel::FilePathRole, "filePath");
- roles.insert(QFileSystemModel::FileNameRole, "fileName");
- roles.insert(QFileSystemModel::FilePermissions, "filePermissions");
- q->setRoleNames(roles);
+ roleNames.insertMulti(QFileSystemModel::FileIconRole, QByteArrayLiteral("fileIcon")); // == Qt::decoration
+ roleNames.insert(QFileSystemModel::FilePathRole, QByteArrayLiteral("filePath"));
+ roleNames.insert(QFileSystemModel::FileNameRole, QByteArrayLiteral("fileName"));
+ roleNames.insert(QFileSystemModel::FilePermissions, QByteArrayLiteral("filePermissions"));
}
/*!
diff --git a/src/widgets/dialogs/qmessagebox.cpp b/src/widgets/dialogs/qmessagebox.cpp
index 634e911cd1..a737584e3f 100644
--- a/src/widgets/dialogs/qmessagebox.cpp
+++ b/src/widgets/dialogs/qmessagebox.cpp
@@ -1365,13 +1365,13 @@ void QMessageBox::keyPressEvent(QKeyEvent *e)
#ifndef QT_NO_SHORTCUT
if (!(e->modifiers() & Qt::AltModifier)) {
- int key = e->key() & ~((int)Qt::MODIFIER_MASK|(int)Qt::UNICODE_ACCEL);
+ int key = e->key() & ~Qt::MODIFIER_MASK;
if (key) {
const QList<QAbstractButton *> buttons = d->buttonBox->buttons();
for (int i = 0; i < buttons.count(); ++i) {
QAbstractButton *pb = buttons.at(i);
- int acc = pb->shortcut() & ~((int)Qt::MODIFIER_MASK|(int)Qt::UNICODE_ACCEL);
- if (acc == key) {
+ QKeySequence shortcut = pb->shortcut();
+ if (!shortcut.isEmpty() && key == (shortcut[0] & ~Qt::MODIFIER_MASK)) {
pb->animateClick();
return;
}