diff options
Diffstat (limited to 'src/widgets/dialogs')
-rw-r--r-- | src/widgets/dialogs/qdialog.cpp | 10 | ||||
-rw-r--r-- | src/widgets/dialogs/qfilesystemmodel.cpp | 10 | ||||
-rw-r--r-- | src/widgets/dialogs/qmessagebox.cpp | 6 |
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; } |