7#include <private/qguiapplication_p.h>
8#include <qpa/qplatformtheme_p.h>
9#include <qpa/qplatformthemefactory_p.h>
10#include <qpa/qplatformintegration.h>
12#include <QDBusConnection>
13#include <QDBusMessage>
14#include <QDBusPendingCall>
15#include <QDBusPendingCallWatcher>
16#include <QDBusPendingReply>
58 switch (colorschemePref) {
101 "/org/freedesktop/portal/desktop"_L1,
102 "org.freedesktop.DBus.Properties"_L1,
104 message <<
"org.freedesktop.portal.FileChooser"_L1 <<
"version"_L1;
109 if (
reply.isValid()) {
110 d->fileChooserPortalVersion = reply.value().toUInt();
117 "/org/freedesktop/portal/desktop"_L1,
118 "org.freedesktop.portal.Settings"_L1,
120 message <<
"org.freedesktop.appearance"_L1 <<
"color-scheme"_L1;
124 if (
reply.isValid()) {
134 return d->baseTheme->createPlatformMenuItem();
140 return d->baseTheme->createPlatformMenu();
146 return d->baseTheme->createPlatformMenuBar();
152 return d->baseTheme->showPlatformMenuBar();
162 return d->baseTheme->usePlatformNativeDialog(
type);
172 if (
d->baseTheme->usePlatformNativeDialog(
type))
174 d->fileChooserPortalVersion);
179 return d->baseTheme->createPlatformDialogHelper(
type);
182#ifndef QT_NO_SYSTEMTRAYICON
186 return d->baseTheme->createPlatformSystemTrayIcon();
193 return d->baseTheme->palette(
type);
199 return d->baseTheme->font(
type);
205 return d->baseTheme->themeHint(
hint);
212 return d->baseTheme->colorScheme();
213 return d->colorScheme;
219 return d->baseTheme->standardPixmap(
sp,
size);
223 QPlatformTheme::IconOptions iconOptions)
const
226 return d->baseTheme->fileIcon(fileInfo, iconOptions);
232 return d->baseTheme->createIconEngine(iconName);
235#if QT_CONFIG(shortcut)
239 return d->baseTheme->keyBindings(
key);
246 return d->baseTheme->standardButtonText(
button);
QDBusMessage call(const QDBusMessage &message, QDBus::CallMode mode=QDBus::Block, int timeout=-1) const
Sends the message over this connection and blocks, waiting for a reply, for at most timeout milliseco...
static QDBusConnection sessionBus()
Returns a QDBusConnection object opened with the session bus.
QDBusPendingCall asyncCall(const QDBusMessage &message, int timeout=-1) const
static QDBusMessage createMethodCall(const QString &destination, const QString &path, const QString &interface, const QString &method)
Constructs a new DBus message representing a method call.
void finished(QDBusPendingCallWatcher *self=nullptr)
This signal is emitted when the pending call has finished and its reply is available.
QVariant variant() const
Returns this D-Bus variant as a QVariant object.
\inmodule QtCore \reentrant
static QPlatformIntegration * platform_integration
The QIconEngine class provides an abstract base class for QIcon renderers.
The QIcon class provides scalable icons in different modes and states.
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
The QPalette class contains color groups for each widget state.
Returns a copy of the pixmap that is transformed using the given transformation transform and transfo...
\macro QT_RESTRICTED_CAST_FROM_ASCII
uint toUInt(bool *ok=nullptr) const
Returns the variant as an unsigned int if the variant has userType() \l QMetaType::UInt,...
Qt::ColorScheme colorScheme
static Qt::ColorScheme colorSchemeFromXdgPref(const XdgColorschemePref colorschemePref)
QXdgDesktopPortalThemePrivate()
QPlatformTheme * baseTheme
uint fileChooserPortalVersion
~QXdgDesktopPortalThemePrivate()
Qt::ColorScheme colorScheme() const override
QPlatformMenuItem * createPlatformMenuItem() const override
QPixmap standardPixmap(StandardPixmap sp, const QSizeF &size) const override
QIcon fileIcon(const QFileInfo &fileInfo, QPlatformTheme::IconOptions iconOptions={ }) const override
Return an icon for fileInfo, observing iconOptions.
QString standardButtonText(int button) const override
Returns the text of a standard button.
bool usePlatformNativeDialog(DialogType type) const override
QPlatformSystemTrayIcon * createPlatformSystemTrayIcon() const override
Factory function for QSystemTrayIcon.
QIconEngine * createIconEngine(const QString &iconName) const override
Factory function for the QIconEngine used by QIcon::fromTheme().
QPlatformDialogHelper * createPlatformDialogHelper(DialogType type) const override
const QPalette * palette(Palette type=SystemPalette) const override
const QFont * font(Font type=SystemFont) const override
void showPlatformMenuBar() override
QPlatformMenuBar * createPlatformMenuBar() const override
QPlatformMenu * createPlatformMenu() const override
QVariant themeHint(ThemeHint hint) const override
Combined button and popup list for selecting options.
static QString themeName()
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLuint GLsizei const GLchar * message
static QT_BEGIN_NAMESPACE QVariant hint(QPlatformIntegration::StyleHint h)
static const wchar_t * themeNames[QWindowsVistaStylePrivate::NThemes]
QFutureWatcher< int > watcher