summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxtheme.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxtheme.cpp')
-rw-r--r--src/plugins/platforms/qnx/qqnxtheme.cpp38
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)