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,
106 MenuActivationButtons,
128 MessageBoxLabelPelette,
129 MessageBoxLabelPalette = MessageBoxLabelPelette,
151 MdiSubWindowTitleFont,
173 enum StandardPixmap {
178 TitleBarNormalButton,
180 TitleBarUnshadeButton,
181 TitleBarContextHelpButton,
182 DockWidgetCloseButton,
183 MessageBoxInformation,
201 ToolBarHorizontalExtensionButton,
202 ToolBarVerticalExtensionButton,
207 FileDialogDetailedView,
209 FileDialogContentsView,
245 DialogYesToAllButton,
251 RestoreDefaultsButton,
254 TabScrollRightButton,
260 CustomBase = 0xf0000000
262 Q_ENUM(StandardPixmap)
266 WindowsKeyboardScheme,
273 Q_ENUM(KeyboardSchemes)
277 GeneralUiEffect = 0x1,
278 AnimateMenuUiEffect = 0x2,
279 FadeMenuUiEffect = 0x4,
280 AnimateComboUiEffect = 0x8,
281 AnimateTooltipUiEffect = 0x10,
282 FadeTooltipUiEffect = 0x20,
283 AnimateToolBoxUiEffect = 0x40,
289 DontUseCustomDirectoryIcons = 0x01
291 Q_DECLARE_FLAGS(IconOptions, IconOption)
293 explicit QPlatformTheme();
294 virtual ~QPlatformTheme();
296 virtual QPlatformMenuItem* createPlatformMenuItem()
const;
297 virtual QPlatformMenu* createPlatformMenu()
const;
298 virtual QPlatformMenuBar* createPlatformMenuBar()
const;
299 virtual void showPlatformMenuBar() {}
301 virtual bool usePlatformNativeDialog(DialogType type)
const;
302 virtual QPlatformDialogHelper *createPlatformDialogHelper(DialogType type)
const;
304#ifndef QT_NO_SYSTEMTRAYICON
305 virtual QPlatformSystemTrayIcon *createPlatformSystemTrayIcon()
const;
308 virtual Qt::ColorScheme colorScheme()
const;
310 virtual const QPalette *palette(Palette type = SystemPalette)
const;
312 virtual const QFont *font(Font type = SystemFont)
const;
314 virtual QVariant themeHint(ThemeHint hint)
const;
316 virtual QPixmap standardPixmap(StandardPixmap sp,
const QSizeF &size)
const;
317 virtual QIcon fileIcon(
const QFileInfo &fileInfo,
318 QPlatformTheme::IconOptions iconOptions = { })
const;
319 virtual QIconEngine *createIconEngine(
const QString &iconName)
const;
321#if QT_CONFIG(shortcut)
322 virtual QList<QKeySequence> keyBindings(QKeySequence::StandardKey key)
const;
325 virtual QString standardButtonText(
int button)
const;
326#if QT_CONFIG(shortcut)
327 virtual QKeySequence standardButtonShortcut(
int button)
const;
329 virtual void requestColorScheme(Qt::ColorScheme scheme);
330 virtual Qt::ContrastPreference contrastPreference()
const;
331 virtual Qt::MotionPreference motionPreference()
const;
333 static QVariant defaultThemeHint(ThemeHint hint);
334 static QString defaultStandardButtonText(
int button);
335 static QString removeMnemonics(
const QString &original);
336 QString name()
const;
339 explicit QPlatformTheme(QPlatformThemePrivate *priv);
340 QScopedPointer<QPlatformThemePrivate> d_ptr;
343 friend class QPlatformThemeFactory;