46 Q_DECLARE_PRIVATE(QPlatformTheme)
49 Q_DISABLE_COPY_MOVE(QPlatformTheme)
53 KeyboardInputInterval,
54 MouseDoubleClickInterval,
57 KeyboardAutoRepeatRate,
62 MaximumScrollBarDragDistance,
65 ItemViewActivateItemOnSingleClick,
67 SystemIconFallbackThemeName,
71 DialogButtonBoxLayout,
72 DialogButtonBoxButtonsHaveIcons,
73 UseFullScreenForPopupMenu,
76 SpellCheckUnderlineStyle,
79 PasswordMaskCharacter,
80 DialogSnapToDefaultButton,
81 ContextMenuOnMouseRelease,
82 MousePressAndHoldInterval,
83 MouseDoubleClickDistance,
85 TouchDoubleTapDistance,
86 ShowShortcutsInContextMenus,
87 IconFallbackSearchPaths,
88 MouseQuickSelectionThreshold,
89 InteractiveResizeAcrossScreens,
91 PreselectFirstFileInDirectory,
93 SetFocusOnTouchRelease,
97 MenuBarFocusOnAltPressRelease,
102 PreferFileIconFromTheme,
104 ScrollSingleStepDistance,
127 MessageBoxLabelPelette,
128 MessageBoxLabelPalette = MessageBoxLabelPelette,
150 MdiSubWindowTitleFont,
172 enum StandardPixmap {
177 TitleBarNormalButton,
179 TitleBarUnshadeButton,
180 TitleBarContextHelpButton,
181 DockWidgetCloseButton,
182 MessageBoxInformation,
200 ToolBarHorizontalExtensionButton,
201 ToolBarVerticalExtensionButton,
206 FileDialogDetailedView,
208 FileDialogContentsView,
244 DialogYesToAllButton,
250 RestoreDefaultsButton,
253 TabScrollRightButton,
259 CustomBase = 0xf0000000
261 Q_ENUM(StandardPixmap)
265 WindowsKeyboardScheme,
272 Q_ENUM(KeyboardSchemes)
276 GeneralUiEffect = 0x1,
277 AnimateMenuUiEffect = 0x2,
278 FadeMenuUiEffect = 0x4,
279 AnimateComboUiEffect = 0x8,
280 AnimateTooltipUiEffect = 0x10,
281 FadeTooltipUiEffect = 0x20,
282 AnimateToolBoxUiEffect = 0x40,
288 DontUseCustomDirectoryIcons = 0x01
290 Q_DECLARE_FLAGS(IconOptions, IconOption)
292 explicit QPlatformTheme();
293 virtual ~QPlatformTheme();
295 virtual QPlatformMenuItem* createPlatformMenuItem()
const;
296 virtual QPlatformMenu* createPlatformMenu()
const;
297 virtual QPlatformMenuBar* createPlatformMenuBar()
const;
298 virtual void showPlatformMenuBar() {}
300 virtual bool usePlatformNativeDialog(DialogType type)
const;
301 virtual QPlatformDialogHelper *createPlatformDialogHelper(DialogType type)
const;
303#ifndef QT_NO_SYSTEMTRAYICON
304 virtual QPlatformSystemTrayIcon *createPlatformSystemTrayIcon()
const;
307 virtual Qt::ColorScheme colorScheme()
const;
309 virtual const QPalette *palette(Palette type = SystemPalette)
const;
311 virtual const QFont *font(Font type = SystemFont)
const;
313 virtual QVariant themeHint(ThemeHint hint)
const;
315 virtual QPixmap standardPixmap(StandardPixmap sp,
const QSizeF &size)
const;
316 virtual QIcon fileIcon(
const QFileInfo &fileInfo,
317 QPlatformTheme::IconOptions iconOptions = { })
const;
318 virtual QIconEngine *createIconEngine(
const QString &iconName)
const;
320#if QT_CONFIG(shortcut)
321 virtual QList<QKeySequence> keyBindings(QKeySequence::StandardKey key)
const;
324 virtual QString standardButtonText(
int button)
const;
325#if QT_CONFIG(shortcut)
326 virtual QKeySequence standardButtonShortcut(
int button)
const;
328 virtual void requestColorScheme(Qt::ColorScheme scheme);
329 virtual Qt::ContrastPreference contrastPreference()
const;
330 virtual Qt::MotionPreference motionPreference()
const;
332 static QVariant defaultThemeHint(ThemeHint hint);
333 static QString defaultStandardButtonText(
int button);
334 static QString removeMnemonics(
const QString &original);
335 QString name()
const;
338 explicit QPlatformTheme(QPlatformThemePrivate *priv);
339 QScopedPointer<QPlatformThemePrivate> d_ptr;
342 friend class QPlatformThemeFactory;