45 Q_DECLARE_PRIVATE(QPlatformTheme)
48 Q_DISABLE_COPY_MOVE(QPlatformTheme)
52 KeyboardInputInterval,
53 MouseDoubleClickInterval,
56 KeyboardAutoRepeatRate,
61 MaximumScrollBarDragDistance,
64 ItemViewActivateItemOnSingleClick,
66 SystemIconFallbackThemeName,
70 DialogButtonBoxLayout,
71 DialogButtonBoxButtonsHaveIcons,
72 UseFullScreenForPopupMenu,
75 SpellCheckUnderlineStyle,
78 PasswordMaskCharacter,
79 DialogSnapToDefaultButton,
80 ContextMenuOnMouseRelease,
81 MousePressAndHoldInterval,
82 MouseDoubleClickDistance,
84 TouchDoubleTapDistance,
85 ShowShortcutsInContextMenus,
86 IconFallbackSearchPaths,
87 MouseQuickSelectionThreshold,
88 InteractiveResizeAcrossScreens,
90 PreselectFirstFileInDirectory,
92 SetFocusOnTouchRelease,
96 MenuBarFocusOnAltPressRelease,
101 PreferFileIconFromTheme,
103 ScrollSingleStepDistance,
125 MessageBoxLabelPelette,
126 MessageBoxLabelPalette = MessageBoxLabelPelette,
148 MdiSubWindowTitleFont,
170 enum StandardPixmap {
175 TitleBarNormalButton,
177 TitleBarUnshadeButton,
178 TitleBarContextHelpButton,
179 DockWidgetCloseButton,
180 MessageBoxInformation,
198 ToolBarHorizontalExtensionButton,
199 ToolBarVerticalExtensionButton,
204 FileDialogDetailedView,
206 FileDialogContentsView,
242 DialogYesToAllButton,
248 RestoreDefaultsButton,
253 CustomBase = 0xf0000000
255 Q_ENUM(StandardPixmap)
259 WindowsKeyboardScheme,
266 Q_ENUM(KeyboardSchemes)
270 GeneralUiEffect = 0x1,
271 AnimateMenuUiEffect = 0x2,
272 FadeMenuUiEffect = 0x4,
273 AnimateComboUiEffect = 0x8,
274 AnimateTooltipUiEffect = 0x10,
275 FadeTooltipUiEffect = 0x20,
276 AnimateToolBoxUiEffect = 0x40,
282 DontUseCustomDirectoryIcons = 0x01
284 Q_DECLARE_FLAGS(IconOptions, IconOption)
286 explicit QPlatformTheme();
287 virtual ~QPlatformTheme();
289 virtual QPlatformMenuItem* createPlatformMenuItem()
const;
290 virtual QPlatformMenu* createPlatformMenu()
const;
291 virtual QPlatformMenuBar* createPlatformMenuBar()
const;
292 virtual void showPlatformMenuBar() {}
294 virtual bool usePlatformNativeDialog(DialogType type)
const;
295 virtual QPlatformDialogHelper *createPlatformDialogHelper(DialogType type)
const;
297#ifndef QT_NO_SYSTEMTRAYICON
298 virtual QPlatformSystemTrayIcon *createPlatformSystemTrayIcon()
const;
301 virtual Qt::ColorScheme colorScheme()
const;
303 virtual const QPalette *palette(Palette type = SystemPalette)
const;
305 virtual const QFont *font(Font type = SystemFont)
const;
307 virtual QVariant themeHint(ThemeHint hint)
const;
309 virtual QPixmap standardPixmap(StandardPixmap sp,
const QSizeF &size)
const;
310 virtual QIcon fileIcon(
const QFileInfo &fileInfo,
311 QPlatformTheme::IconOptions iconOptions = { })
const;
312 virtual QIconEngine *createIconEngine(
const QString &iconName)
const;
314#if QT_CONFIG(shortcut)
315 virtual QList<QKeySequence> keyBindings(QKeySequence::StandardKey key)
const;
318 virtual QString standardButtonText(
int button)
const;
319#if QT_CONFIG(shortcut)
320 virtual QKeySequence standardButtonShortcut(
int button)
const;
322 virtual void requestColorScheme(Qt::ColorScheme scheme);
323 virtual Qt::ContrastPreference contrastPreference()
const;
325 static QVariant defaultThemeHint(ThemeHint hint);
326 static QString defaultStandardButtonText(
int button);
327 static QString removeMnemonics(
const QString &original);
328 QString name()
const;
331 explicit QPlatformTheme(QPlatformThemePrivate *priv);
332 QScopedPointer<QPlatformThemePrivate> d_ptr;
335 friend class QPlatformThemeFactory;