Move UNIX themes into QtGui

Task-number: QTBUG-83255
Change-Id: I9e3aecd8e172b60121f472c840eaf2a5538af438
Reviewed-by: Liang Qi <liang.qi@qt.io>
This commit is contained in:
Friedemann Kleint 2020-06-17 13:59:36 +02:00
parent 8ba9d2e022
commit c068b80727
49 changed files with 108 additions and 150 deletions

View File

@ -721,6 +721,29 @@ qt_extend_target(Gui CONDITION TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR N
Qt::DBus
)
qt_extend_target(Gui CONDITION UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT)
SOURCES
platform/unix/qgenericunixthemes.cpp platform/unix/qgenericunixthemes_p.h
)
qt_extend_target(Gui CONDITION TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT)
SOURCES
platform/unix/dbusmenu/qdbusmenuadaptor.cpp platform/unix/dbusmenu/qdbusmenuadaptor_p.h
platform/unix/dbusmenu/qdbusmenubar.cpp platform/unix/dbusmenu/qdbusmenubar_p.h
platform/unix/dbusmenu/qdbusmenuconnection.cpp platform/unix/dbusmenu/qdbusmenuconnection_p.h
platform/unix/dbusmenu/qdbusmenuregistrarproxy.cpp platform/unix/dbusmenu/qdbusmenuregistrarproxy_p.h
platform/unix/dbusmenu/qdbusmenutypes.cpp platform/unix/dbusmenu/qdbusmenutypes_p.h
platform/unix/dbusmenu/qdbusplatformmenu.cpp platform/unix/dbusmenu/qdbusplatformmenu_p.h
)
qt_extend_target(Gui CONDITION QT_FEATURE_systemtrayicon AND TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT)
SOURCES
platform/unix/dbustray/qdbustrayicon.cpp platform/unix/dbustray/qdbustrayicon_p.h
platform/unix/dbustray/qdbustraytypes.cpp platform/unix/dbustray/qdbustraytypes_p.h
platform/unix/dbustray/qstatusnotifieritemadaptor.cpp platform/unix/dbustray/qstatusnotifieritemadaptor_p.h
platform/unix/dbustray/qxdgnotificationproxy.cpp platform/unix/dbustray/qxdgnotificationproxy_p.h
)
qt_extend_target(Gui CONDITION IOS OR MACOS
SOURCES
rhi/qrhimetal.mm rhi/qrhimetal_p.h

View File

@ -869,6 +869,29 @@ qt_extend_target(Gui CONDITION TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR N
Qt::DBus
)
qt_extend_target(Gui CONDITION UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT)
SOURCES
platform/unix/qgenericunixthemes.cpp platform/unix/qgenericunixthemes_p.h
)
qt_extend_target(Gui CONDITION TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT)
SOURCES
platform/unix/dbusmenu/qdbusmenuadaptor.cpp platform/unix/dbusmenu/qdbusmenuadaptor_p.h
platform/unix/dbusmenu/qdbusmenubar.cpp platform/unix/dbusmenu/qdbusmenubar_p.h
platform/unix/dbusmenu/qdbusmenuconnection.cpp platform/unix/dbusmenu/qdbusmenuconnection_p.h
platform/unix/dbusmenu/qdbusmenuregistrarproxy.cpp platform/unix/dbusmenu/qdbusmenuregistrarproxy_p.h
platform/unix/dbusmenu/qdbusmenutypes.cpp platform/unix/dbusmenu/qdbusmenutypes_p.h
platform/unix/dbusmenu/qdbusplatformmenu.cpp platform/unix/dbusmenu/qdbusplatformmenu_p.h
)
qt_extend_target(Gui CONDITION QT_FEATURE_systemtrayicon AND TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT)
SOURCES
platform/unix/dbustray/qdbustrayicon.cpp platform/unix/dbustray/qdbustrayicon_p.h
platform/unix/dbustray/qdbustraytypes.cpp platform/unix/dbustray/qdbustraytypes_p.h
platform/unix/dbustray/qstatusnotifieritemadaptor.cpp platform/unix/dbustray/qstatusnotifieritemadaptor_p.h
platform/unix/dbustray/qxdgnotificationproxy.cpp platform/unix/dbustray/qxdgnotificationproxy_p.h
)
qt_extend_target(Gui CONDITION IOS OR MACOS
SOURCES
rhi/qrhimetal.mm rhi/qrhimetal_p.h

View File

@ -0,0 +1,15 @@
HEADERS += \
platform/unix/dbusmenu/qdbusmenuadaptor_p.h \
platform/unix/dbusmenu/qdbusmenutypes_p.h \
platform/unix/dbusmenu/qdbusmenuconnection_p.h \
platform/unix/dbusmenu/qdbusmenubar_p.h \
platform/unix/dbusmenu/qdbusmenuregistrarproxy_p.h \
platform/unix/dbusmenu/qdbusplatformmenu_p.h
SOURCES += \
platform/unix/dbusmenu/qdbusmenuadaptor.cpp \
platform/unix/dbusmenu/qdbusmenutypes.cpp \
platform/unix/dbusmenu/qdbusmenuconnection.cpp \
platform/unix/dbusmenu/qdbusmenubar.cpp \
platform/unix/dbusmenu/qdbusmenuregistrarproxy.cpp \
platform/unix/dbusmenu/qdbusplatformmenu.cpp

View File

@ -40,7 +40,7 @@
#include <QtGui/qtgui-config.h>
#ifndef QT_NO_SYSTEMTRAYICON
#include "qdbustrayicon_p.h"
#include "../dbustray/qdbustrayicon_p.h"
#endif
#include "qdbusmenuconnection_p.h"
#include "qdbusmenuadaptor_p.h"

View File

@ -0,0 +1,11 @@
HEADERS += \
platform/unix/dbustray/qdbustrayicon_p.h \
platform/unix/dbustray/qdbustraytypes_p.h \
platform/unix/dbustray/qstatusnotifieritemadaptor_p.h \
platform/unix/dbustray/qxdgnotificationproxy_p.h
SOURCES += \
platform/unix/dbustray/qdbustrayicon.cpp \
platform/unix/dbustray/qdbustraytypes.cpp \
platform/unix/dbustray/qstatusnotifieritemadaptor.cpp \
platform/unix/dbustray/qxdgnotificationproxy.cpp

View File

@ -41,10 +41,10 @@
#ifndef QT_NO_SYSTEMTRAYICON
#include "qdbusmenuconnection_p.h"
#include <private/qdbusmenuconnection_p.h>
#include "qstatusnotifieritemadaptor_p.h"
#include "qdbusmenuadaptor_p.h"
#include "qdbusplatformmenu_p.h"
#include <private/qdbusmenuadaptor_p.h>
#include <private/qdbusplatformmenu_p.h>
#include "qxdgnotificationproxy_p.h"
#include <qpa/qplatformmenu.h>

View File

@ -83,7 +83,7 @@ class QDBusTrayIcon: public QPlatformSystemTrayIcon
Q_PROPERTY(QString attentionIconName READ attentionIconName NOTIFY attention)
Q_PROPERTY(QIcon attentionIcon READ attentionIcon NOTIFY attention)
Q_PROPERTY(QDBusPlatformMenu *menu READ menu NOTIFY menuChanged)
Q_MOC_INCLUDE("qdbusplatformmenu_p.h")
Q_MOC_INCLUDE(<private/qdbusplatformmenu_p.h>)
public:
QDBusTrayIcon();

View File

@ -53,7 +53,7 @@
#include <QPainter>
#include <QGuiApplication>
#include <qpa/qplatformmenu.h>
#include "qdbusplatformmenu_p.h"
#include <private/qdbusplatformmenu_p.h>
QT_BEGIN_NAMESPACE
@ -73,7 +73,7 @@ QXdgDBusImageVector iconToQXdgDBusImageVector(const QIcon &icon)
bool hasMediumIcon = false;
qreal dpr = qGuiApp->devicePixelRatio();
QList<QSize> toRemove;
Q_FOREACH (const QSize &size, sizes) {
for (const QSize &size : qAsConst(sizes)) {
int maxSize = qMax(size.width(), size.height());
if (maxSize <= IconNormalSmallSize * dpr)
hasSmallIcon = true;
@ -82,7 +82,7 @@ QXdgDBusImageVector iconToQXdgDBusImageVector(const QIcon &icon)
else if (maxSize > IconSizeLimit * dpr)
toRemove << size;
}
Q_FOREACH (const QSize &size, toRemove)
for (const QSize &size : qAsConst(toRemove))
sizes.removeOne(size);
if (!hasSmallIcon)
sizes.append(QSize(IconNormalSmallSize * dpr, IconNormalSmallSize * dpr));
@ -90,7 +90,7 @@ QXdgDBusImageVector iconToQXdgDBusImageVector(const QIcon &icon)
sizes.append(QSize(IconNormalMediumSize * dpr, IconNormalMediumSize * dpr));
ret.reserve(sizes.size());
foreach (QSize size, sizes) {
for (const QSize &size : qAsConst(sizes)) {
// Protocol specifies ARGB32 format in network byte order
QImage im = icon.pixmap(size).toImage().convertToFormat(QImage::Format_ARGB32);
// letterbox if necessary to make it square

View File

@ -132,12 +132,12 @@ Q_SIGNALS:
void NotificationClosed(uint id, uint reason);
};
QT_END_NAMESPACE
namespace org {
namespace freedesktop {
typedef ::QXdgNotificationInterface Notifications;
using Notifications = QT_PREPEND_NAMESPACE(QXdgNotificationInterface);
}
}
QT_END_NAMESPACE
#endif

View File

@ -40,6 +40,7 @@
#include "qgenericunixthemes_p.h"
#include "qpa/qplatformtheme_p.h"
#include "qpa/qplatformfontdatabase.h" // lcQpaFonts
#include <QtGui/QPalette>
#include <QtGui/QFont>
@ -64,11 +65,11 @@
#include <qpa/qplatformservices.h>
#include <qpa/qplatformdialoghelper.h>
#ifndef QT_NO_DBUS
#include "qdbusplatformmenu_p.h"
#include "qdbusmenubar_p.h"
#include <private/qdbusplatformmenu_p.h>
#include <private/qdbusmenubar_p.h>
#endif
#if !defined(QT_NO_DBUS) && !defined(QT_NO_SYSTEMTRAYICON)
#include "qdbustrayicon_p.h"
#include <private/qdbustrayicon_p.h>
#endif
#include <algorithm>
@ -76,7 +77,6 @@
QT_BEGIN_NAMESPACE
Q_DECLARE_LOGGING_CATEGORY(qLcTray)
Q_LOGGING_CATEGORY(lcQpaFonts, "qt.qpa.fonts")
ResourceHelper::ResourceHelper()
{

View File

@ -44,8 +44,8 @@
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists purely as an
// implementation detail. This header file may change from version to
// This file is not part of the Qt API. It exists purely as an
// implementation detail. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
@ -72,7 +72,7 @@ public:
class QGenericUnixThemePrivate;
class QGenericUnixTheme : public QPlatformTheme
class Q_GUI_EXPORT QGenericUnixTheme : public QPlatformTheme
{
Q_DECLARE_PRIVATE(QGenericUnixTheme)
public:
@ -127,7 +127,7 @@ public:
class QGnomeThemePrivate;
class QGnomeTheme : public QPlatformTheme
class Q_GUI_EXPORT QGnomeTheme : public QPlatformTheme
{
Q_DECLARE_PRIVATE(QGnomeTheme)
public:

View File

@ -21,3 +21,15 @@ if(unix:!uikit)|qtConfig(xcb) {
qtHaveModule(dbus): QT_PRIVATE += dbus
}
if(unix:!uikit:!macos)|qtConfig(xcb) {
SOURCES += \
platform/unix/qgenericunixthemes.cpp
HEADERS += \
platform/unix/qgenericunixthemes_p.h
qtHaveModule(dbus) {
include(dbusmenu/dbusmenu.pri)
qtConfig(systemtrayicon): include(dbustray/dbustray.pri)
}
}

View File

@ -4,9 +4,6 @@ add_subdirectory(edid)
add_subdirectory(devicediscovery)
add_subdirectory(fbconvenience)
add_subdirectory(linuxofono)
if(QT_FEATURE_xcb OR (UNIX AND NOT MACOS AND NOT UIKIT))
add_subdirectory(themes)
endif()
if(QT_FEATURE_evdev OR QT_FEATURE_integrityhid OR QT_FEATURE_libinput OR QT_FEATURE_tslib OR QT_FEATURE_xkbcommon)
add_subdirectory(input)
endif()

View File

@ -4,9 +4,6 @@ add_subdirectory(edid)
add_subdirectory(devicediscovery)
add_subdirectory(fbconvenience)
# special case begin
if(QT_FEATURE_xcb OR (UNIX AND NOT APPLE))
add_subdirectory(themes)
endif()
if (QT_FEATURE_dbus)
add_subdirectory(linuxofono)
endif()

View File

@ -6,9 +6,6 @@ SUBDIRS = \
devicediscovery \
fbconvenience
if(unix:!uikit:!macos)|qtConfig(xcb): \
SUBDIRS += themes
qtConfig(evdev)|qtConfig(tslib)|qtConfig(libinput)|qtConfig(integrityhid)|qtConfig(xkbcommon) {
SUBDIRS += input
input.depends += devicediscovery

View File

@ -1,52 +0,0 @@
# Generated from themes.pro.
#####################################################################
## ThemeSupport Module:
#####################################################################
qt_add_module(ThemeSupport
STATIC
INTERNAL_MODULE
DEFINES
QT_NO_CAST_FROM_ASCII
PUBLIC_LIBRARIES
Qt::CorePrivate
Qt::GuiPrivate
)
#### Keys ignored in scope 1:.:.:themes.pro:<TRUE>:
# MODULE = "theme_support"
## Scopes:
#####################################################################
qt_extend_target(ThemeSupport CONDITION QT_FEATURE_xcb OR (UNIX AND NOT UIKIT)
SOURCES
genericunix/qgenericunixthemes.cpp genericunix/qgenericunixthemes_p.h
)
qt_extend_target(ThemeSupport CONDITION QT_FEATURE_dbus AND (QT_FEATURE_xcb OR UNIX) AND (QT_FEATURE_xcb OR NOT UIKIT)
SOURCES
genericunix/dbusmenu/qdbusmenuadaptor.cpp genericunix/dbusmenu/qdbusmenuadaptor_p.h
genericunix/dbusmenu/qdbusmenubar.cpp genericunix/dbusmenu/qdbusmenubar_p.h
genericunix/dbusmenu/qdbusmenuconnection.cpp genericunix/dbusmenu/qdbusmenuconnection_p.h
genericunix/dbusmenu/qdbusmenuregistrarproxy.cpp genericunix/dbusmenu/qdbusmenuregistrarproxy_p.h
genericunix/dbusmenu/qdbusmenutypes.cpp genericunix/dbusmenu/qdbusmenutypes_p.h
genericunix/dbusmenu/qdbusplatformmenu.cpp genericunix/dbusmenu/qdbusplatformmenu_p.h
INCLUDE_DIRECTORIES
genericunix/dbusmenu
LIBRARIES
Qt::DBus
)
qt_extend_target(ThemeSupport CONDITION QT_FEATURE_dbus AND QT_FEATURE_systemtrayicon AND (QT_FEATURE_xcb OR UNIX) AND (QT_FEATURE_xcb OR NOT UIKIT)
SOURCES
genericunix/dbustray/qdbustrayicon.cpp genericunix/dbustray/qdbustrayicon_p.h
genericunix/dbustray/qdbustraytypes.cpp genericunix/dbustray/qdbustraytypes_p.h
genericunix/dbustray/qstatusnotifieritemadaptor.cpp genericunix/dbustray/qstatusnotifieritemadaptor_p.h
genericunix/dbustray/qxdgnotificationproxy.cpp genericunix/dbustray/qxdgnotificationproxy_p.h
INCLUDE_DIRECTORIES
genericunix/dbustray
LIBRARIES
Qt::DBus
)

View File

@ -1,19 +0,0 @@
QT_FOR_PRIVATE += dbus
INCLUDEPATH += $$PWD
HEADERS += \
$$PWD/qdbusmenuadaptor_p.h \
$$PWD/qdbusmenutypes_p.h \
$$PWD/qdbusmenuconnection_p.h \
$$PWD/qdbusmenubar_p.h \
$$PWD/qdbusmenuregistrarproxy_p.h \
$$PWD/qdbusplatformmenu_p.h \
SOURCES += \
$$PWD/qdbusmenuadaptor.cpp \
$$PWD/qdbusmenutypes.cpp \
$$PWD/qdbusmenuconnection.cpp \
$$PWD/qdbusmenubar.cpp \
$$PWD/qdbusmenuregistrarproxy.cpp \
$$PWD/qdbusplatformmenu.cpp \

View File

@ -1,15 +0,0 @@
QT_FOR_PRIVATE += dbus
INCLUDEPATH += $$PWD
HEADERS += \
$$PWD/qdbustrayicon_p.h \
$$PWD/qdbustraytypes_p.h \
$$PWD/qstatusnotifieritemadaptor_p.h \
$$PWD/qxdgnotificationproxy_p.h \
SOURCES += \
$$PWD/qdbustrayicon.cpp \
$$PWD/qdbustraytypes.cpp \
$$PWD/qstatusnotifieritemadaptor.cpp \
$$PWD/qxdgnotificationproxy.cpp \

View File

@ -1,10 +0,0 @@
HEADERS += $$PWD/qgenericunixthemes_p.h
SOURCES += $$PWD/qgenericunixthemes.cpp
qtConfig(dbus) {
include(dbusmenu/dbusmenu.pri)
qtConfig(systemtrayicon) {
include(dbustray/dbustray.pri)
}
}

View File

@ -1,12 +0,0 @@
TARGET = QtThemeSupport
MODULE = theme_support
QT = core-private gui-private
CONFIG += static internal_module
DEFINES += QT_NO_CAST_FROM_ASCII
if(unix:!uikit)|qtConfig(xcb): \
include($$PWD/genericunix/genericunix.pri)
load(qt_module)

View File

@ -25,7 +25,6 @@ qt_add_module(EglFSDeviceIntegration
Qt::EglSupportPrivate
Qt::FbSupportPrivate
Qt::GuiPrivate
Qt::ThemeSupportPrivate
)
#### Keys ignored in scope 2:.:.:eglfsdeviceintegration.pro:<TRUE>:

View File

@ -26,7 +26,6 @@ qt_add_module(EglFSDeviceIntegration
Qt::EglSupportPrivate
Qt::FbSupportPrivate
Qt::GuiPrivate
Qt::ThemeSupportPrivate
EGL::EGL # special case
)

View File

@ -69,7 +69,7 @@
#include <QtGui/private/qgenericunixfontdatabase_p.h>
#include <QtGui/private/qgenericunixservices_p.h>
#include <QtThemeSupport/private/qgenericunixthemes_p.h>
#include <QtGui/private/qgenericunixthemes_p.h>
#include <QtGui/private/qgenericunixeventdispatcher_p.h>
#include <QtFbSupport/private/qfbvthandler_p.h>
#ifndef QT_NO_OPENGL

View File

@ -11,7 +11,6 @@ MODULE = eglfsdeviceintegration
QT += \
core-private gui-private \
devicediscovery_support-private \
theme_support-private \
fb_support-private egl_support-private
qtHaveModule(input_support-private): \

View File

@ -43,7 +43,6 @@ qt_add_module(XcbQpa
Qt::CorePrivate
Qt::EdidSupportPrivate
Qt::GuiPrivate
Qt::ThemeSupportPrivate
Qt::XkbCommonSupportPrivate
XCB::ICCCM
XCB::IMAGE

View File

@ -43,7 +43,6 @@ qt_add_module(XcbQpa
Qt::CorePrivate
Qt::EdidSupportPrivate
Qt::GuiPrivate
Qt::ThemeSupportPrivate
Qt::XkbCommonSupportPrivate
XCB::ICCCM
XCB::IMAGE

View File

@ -4,7 +4,6 @@ DEFINES += QT_NO_FOREACH
QT += \
core-private gui-private \
theme_support-private \
edid_support-private \
xkbcommon_support-private

View File

@ -20,7 +20,6 @@ qt_internal_add_plugin(QGtk3ThemePlugin
Qt::CorePrivate
Qt::Gui
Qt::GuiPrivate
Qt::ThemeSupportPrivate
)
#### Keys ignored in scope 1:.:.:gtk3.pro:<TRUE>:

View File

@ -25,7 +25,6 @@ qt_internal_add_plugin(QGtk3ThemePlugin
Qt::CorePrivate
Qt::Gui
Qt::GuiPrivate
Qt::ThemeSupportPrivate
)
#### Keys ignored in scope 1:.:.:gtk3.pro:<TRUE>:

View File

@ -5,7 +5,7 @@ PLUGIN_EXTENDS = -
PLUGIN_CLASS_NAME = QGtk3ThemePlugin
load(qt_plugin)
QT += core-private gui-private theme_support-private
QT += core-private gui-private
CONFIG += X11
QMAKE_USE += gtk3

View File

@ -17,7 +17,6 @@ qt_internal_add_plugin(QXdgDesktopPortalThemePlugin
Qt::DBus
Qt::Gui
Qt::GuiPrivate
Qt::ThemeSupportPrivate
)
#### Keys ignored in scope 1:.:.:xdgdesktopportal.pro:<TRUE>:

View File

@ -5,7 +5,7 @@ PLUGIN_EXTENDS = -
PLUGIN_CLASS_NAME = QXdgDesktopPortalThemePlugin
load(qt_plugin)
QT += core-private dbus gui-private theme_support-private
QT += core-private dbus gui-private
HEADERS += \
qxdgdesktopportaltheme.h \

View File

@ -182,6 +182,7 @@ qtConfig(dbus) {
qtConfig(accessibility-atspi-bridge): \
src_platformsupport.depends += src_dbus src_tools_qdbusxml2cpp
src_plugins.depends += src_dbus src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml
src_gui.depends += src_dbus
}
android {

View File

@ -15,7 +15,6 @@
"QtDeviceDiscoverySupport" => "$basedir/src/platformsupport/devicediscovery",
"QtInputSupport" => "$basedir/src/platformsupport/input",
"QtXkbCommonSupport" => "$basedir/src/platformsupport/input/xkbcommon",
"QtThemeSupport" => "$basedir/src/platformsupport/themes",
"QtEglSupport" => "$basedir/src/platformsupport/eglconvenience",
"QtFbSupport" => "$basedir/src/platformsupport/fbconvenience",
"QtGlxSupport" => "$basedir/src/platformsupport/glxconvenience",