diff options
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxtheme.cpp')
-rw-r--r-- | src/plugins/platforms/qnx/qqnxtheme.cpp | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/src/plugins/platforms/qnx/qqnxtheme.cpp b/src/plugins/platforms/qnx/qqnxtheme.cpp index cd82e0c0c9..472f47141c 100644 --- a/src/plugins/platforms/qnx/qqnxtheme.cpp +++ b/src/plugins/platforms/qnx/qqnxtheme.cpp @@ -41,12 +41,15 @@ #include "qqnxtheme.h" +#include "qqnxfiledialoghelper.h" #include "qqnxsystemsettings.h" QT_BEGIN_NAMESPACE -QQnxTheme::QQnxTheme(QPlatformFontDatabase *fontDatabase) - : m_fontDatabase(fontDatabase) +QQnxTheme::QQnxTheme(QPlatformFontDatabase *fontDatabase, + QQnxBpsEventFilter *eventFilter) + : m_fontDatabase(fontDatabase), + m_eventFilter(eventFilter) { } @@ -55,6 +58,37 @@ QQnxTheme::~QQnxTheme() qDeleteAll(m_fonts); } +bool QQnxTheme::usePlatformNativeDialog(DialogType type) const +{ + if (type == QPlatformTheme::FileDialog) + return true; +#if !defined(QT_NO_COLORDIALOG) + if (type == QPlatformTheme::ColorDialog) + return false; +#endif +#if !defined(QT_NO_FONTDIALOG) + if (type == QPlatformTheme::FontDialog) + return false; +#endif + return false; +} + +QPlatformDialogHelper *QQnxTheme::createPlatformDialogHelper(DialogType type) const +{ + switch (type) { + case QPlatformTheme::FileDialog: + return new QQnxFileDialogHelper(m_eventFilter); +#ifndef QT_NO_COLORDIALOG + case QPlatformTheme::ColorDialog: +#endif +#ifndef QT_NO_FONTDIALOG + case QPlatformTheme::FontDialog: +#endif + default: + return 0; + } +} + const QFont *QQnxTheme::font(Font type) const { if (m_fonts.isEmpty() && m_fontDatabase) |