summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
diff options
context:
space:
mode:
authorDavid Edmundson <davidedmundson@kde.org>2023-06-01 23:15:44 +0100
committerDavid Edmundson <davidedmundson@kde.org>2023-07-05 14:09:31 +0100
commitd0a5866f6fb31b4642421b1003d6d3abfd7a94ea (patch)
treec052cdf76427b6da4764e8248afc1db19863182b /src/plugins/platforms/xcb
parentd2a73883ae110c423dce126d15c2b1c0df1b51a3 (diff)
qgenericunixservices: Move x11 specific code to the Xcb backend
QGenericUnixServices is an abstract class subclassed by the wayland backend for wayland specific functionality. This moves to a consistent pattern where X11 code is also the X11 backend rather than guarded with if statements. Change-Id: I1cc7ebac811463451d744fdc034f5ad5fd022bc6 Reviewed-by: Liang Qi <liang.qi@qt.io>
Diffstat (limited to 'src/plugins/platforms/xcb')
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp
index d25b059852..8fe5d0b1cd 100644
--- a/src/plugins/platforms/xcb/qxcbintegration.cpp
+++ b/src/plugins/platforms/xcb/qxcbintegration.cpp
@@ -93,10 +93,17 @@ static bool runningUnderDebugger()
#endif
}
+class QXcbUnixServices : public QGenericUnixServices
+{
+public:
+ QString portalWindowIdentifier(QWindow *window) override;
+};
+
+
QXcbIntegration *QXcbIntegration::m_instance = nullptr;
QXcbIntegration::QXcbIntegration(const QStringList &parameters, int &argc, char **argv)
- : m_services(new QGenericUnixServices)
+ : m_services(new QXcbUnixServices)
, m_instanceName(nullptr)
, m_canGrab(true)
, m_defaultVisualId(UINT_MAX)
@@ -593,4 +600,9 @@ void QXcbIntegration::setApplicationBadge(qint64 number)
unixServices->setApplicationBadge(number);
}
+QString QXcbUnixServices::portalWindowIdentifier(QWindow *window)
+{
+ return "x11:"_L1 + QString::number(window->winId(), 16);
+}
+
QT_END_NAMESPACE