diff options
Diffstat (limited to 'src/imports/controls/material/qquickmaterialtheme.cpp')
-rw-r--r-- | src/imports/controls/material/qquickmaterialtheme.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/imports/controls/material/qquickmaterialtheme.cpp b/src/imports/controls/material/qquickmaterialtheme.cpp index 63def7a5..3ea41779 100644 --- a/src/imports/controls/material/qquickmaterialtheme.cpp +++ b/src/imports/controls/material/qquickmaterialtheme.cpp @@ -36,6 +36,7 @@ #include "qquickmaterialtheme_p.h" +#include <QtGui/qpa/qplatformdialoghelper.h> #include <QtGui/qfont.h> #include <QtGui/qfontinfo.h> @@ -105,4 +106,21 @@ const QFont *QQuickMaterialTheme::font(QPlatformTheme::Font type) const } } +QVariant QQuickMaterialTheme::themeHint(ThemeHint hint) const +{ + switch (hint) { + case QPlatformTheme::DialogButtonBoxLayout: + // https://material.io/guidelines/components/dialogs.html#dialogs-specs + // As per spec, affirmative actions are placed to the right, dismissive + // actions are placed directly to the left of affirmative actions. + // In the Android sources, there are additional type of actions - + // neutral, which are placed to the left. + // Rules for macOS seems to be the most suitable here and are also used + // in the Android QPA plugin. + return QVariant(QPlatformDialogHelper::MacLayout); + default: + return QQuickProxyTheme::themeHint(hint); + } +} + QT_END_NAMESPACE |