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,
126 MessageBoxLabelPelette,
127 MessageBoxLabelPalette = MessageBoxLabelPelette,
149 MdiSubWindowTitleFont,
171 enum StandardPixmap {
176 TitleBarNormalButton,
178 TitleBarUnshadeButton,
179 TitleBarContextHelpButton,
180 DockWidgetCloseButton,
181 MessageBoxInformation,
199 ToolBarHorizontalExtensionButton,
200 ToolBarVerticalExtensionButton,
205 FileDialogDetailedView,
207 FileDialogContentsView,
243 DialogYesToAllButton,
249 RestoreDefaultsButton,
252 TabScrollRightButton,
258 CustomBase = 0xf0000000
260 Q_ENUM(StandardPixmap)
264 WindowsKeyboardScheme,
271 Q_ENUM(KeyboardSchemes)
275 GeneralUiEffect = 0x1,
276 AnimateMenuUiEffect = 0x2,
277 FadeMenuUiEffect = 0x4,
278 AnimateComboUiEffect = 0x8,
279 AnimateTooltipUiEffect = 0x10,
280 FadeTooltipUiEffect = 0x20,
281 AnimateToolBoxUiEffect = 0x40,
287 DontUseCustomDirectoryIcons = 0x01
289 Q_DECLARE_FLAGS(IconOptions, IconOption)
291 explicit QPlatformTheme();
292 virtual ~QPlatformTheme();
294 virtual QPlatformMenuItem* createPlatformMenuItem()
const;
295 virtual QPlatformMenu* createPlatformMenu()
const;
296 virtual QPlatformMenuBar* createPlatformMenuBar()
const;
297 virtual void showPlatformMenuBar() {}
299 virtual bool usePlatformNativeDialog(DialogType type)
const;
300 virtual QPlatformDialogHelper *createPlatformDialogHelper(DialogType type)
const;
302#ifndef QT_NO_SYSTEMTRAYICON
303 virtual QPlatformSystemTrayIcon *createPlatformSystemTrayIcon()
const;
306 virtual Qt::ColorScheme colorScheme()
const;
308 virtual const QPalette *palette(Palette type = SystemPalette)
const;
310 virtual const QFont *font(Font type = SystemFont)
const;
312 virtual QVariant themeHint(ThemeHint hint)
const;
314 virtual QPixmap standardPixmap(StandardPixmap sp,
const QSizeF &size)
const;
315 virtual QIcon fileIcon(
const QFileInfo &fileInfo,
316 QPlatformTheme::IconOptions iconOptions = { })
const;
317 virtual QIconEngine *createIconEngine(
const QString &iconName)
const;
319#if QT_CONFIG(shortcut)
320 virtual QList<QKeySequence> keyBindings(QKeySequence::StandardKey key)
const;
323 virtual QString standardButtonText(
int button)
const;
324#if QT_CONFIG(shortcut)
325 virtual QKeySequence standardButtonShortcut(
int button)
const;
327 virtual void requestColorScheme(Qt::ColorScheme scheme);
328 virtual Qt::ContrastPreference contrastPreference()
const;
329 virtual Qt::MotionPreference motionPreference()
const;
331 static QVariant defaultThemeHint(ThemeHint hint);
332 static QString defaultStandardButtonText(
int button);
333 static QString removeMnemonics(
const QString &original);
334 QString name()
const;
337 explicit QPlatformTheme(QPlatformThemePrivate *priv);
338 QScopedPointer<QPlatformThemePrivate> d_ptr;
341 friend class QPlatformThemeFactory;