diff options
Diffstat (limited to 'src/platformsupport')
31 files changed, 49 insertions, 33 deletions
diff --git a/src/platformsupport/fontdatabases/fontconfig/fontconfig.pri b/src/platformsupport/fontdatabases/fontconfig/fontconfig.pri index 63097c33c1..911f0c884d 100644 --- a/src/platformsupport/fontdatabases/fontconfig/fontconfig.pri +++ b/src/platformsupport/fontdatabases/fontconfig/fontconfig.pri @@ -3,4 +3,4 @@ HEADERS += $$PWD/qfontconfigdatabase_p.h \ SOURCES += $$PWD/qfontconfigdatabase.cpp \ $$PWD/qfontenginemultifontconfig.cpp -QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_FONTCONFIG +QMAKE_USE += fontconfig/nolink diff --git a/src/platformsupport/fontdatabases/fontdatabases.pri b/src/platformsupport/fontdatabases/fontdatabases.pri index 1ea7f42204..d435359141 100644 --- a/src/platformsupport/fontdatabases/fontdatabases.pri +++ b/src/platformsupport/fontdatabases/fontdatabases.pri @@ -1,14 +1,14 @@ darwin { include($$PWD/mac/coretext.pri) } else { - !win32|qtConfig(freetype) { + qtConfig(freetype) { include($$PWD/basic/basic.pri) } unix { CONFIG += qpa/genericunixfontdatabase include($$PWD/genericunix/genericunix.pri) - contains(QT_CONFIG,fontconfig) { + qtConfig(fontconfig) { include($$PWD/fontconfig/fontconfig.pri) } } diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm index 16d65caf86..78a0c4d0c9 100644 --- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm +++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm @@ -206,7 +206,7 @@ void QCoreTextFontDatabase::populateFontDatabase() const int numberOfFamilies = CFArrayGetCount(familyNames); for (int i = 0; i < numberOfFamilies; ++i) { CFStringRef familyNameRef = (CFStringRef) CFArrayGetValueAtIndex(familyNames, i); - QString familyName = QCFString::toQString(familyNameRef); + QString familyName = QString::fromCFString(familyNameRef); // Don't populate internal fonts if (familyName.startsWith(QLatin1Char('.')) || familyName == QLatin1String("LastResort")) @@ -505,9 +505,9 @@ static QString familyNameFromPostScriptName(NSString *psName) { QCFType<CTFontDescriptorRef> fontDescriptor = (CTFontDescriptorRef) CTFontDescriptorCreateWithNameAndSize((CFStringRef)psName, 12.0); QCFString familyName = (CFStringRef) CTFontDescriptorCopyAttribute(fontDescriptor, kCTFontFamilyNameAttribute); - QString name = QCFString::toQString(familyName); + QString name = QString::fromCFString(familyName); if (name.isEmpty()) - qWarning() << "QCoreTextFontDatabase: Failed to resolve family name for PostScript name " << QCFString::toQString((CFStringRef)psName); + qWarning() << "QCoreTextFontDatabase: Failed to resolve family name for PostScript name " << QString::fromCFString((CFStringRef)psName); return name; } @@ -537,7 +537,7 @@ QStringList QCoreTextFontDatabase::fallbacksForFamily(const QString &family, QFo for (int i = 0; i < numCascades; ++i) { CTFontDescriptorRef fontFallback = (CTFontDescriptorRef) CFArrayGetValueAtIndex(cascadeList, i); QCFString fallbackFamilyName = (CFStringRef) CTFontDescriptorCopyAttribute(fontFallback, kCTFontFamilyNameAttribute); - fallbackList.append(QCFString::toQString(fallbackFamilyName)); + fallbackList.append(QString::fromCFString(fallbackFamilyName)); } #if defined(Q_OS_OSX) diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm index 0bc0416eec..7a06d5f1c9 100644 --- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm +++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm @@ -213,7 +213,7 @@ void QCoreTextFontEngine::init() face_id.index = 0; QCFString name = CTFontCopyName(ctfont, kCTFontUniqueNameKey); - face_id.filename = QCFString::toQString(name).toUtf8(); + face_id.filename = QString::fromCFString(name).toUtf8(); QCFString family = CTFontCopyFamilyName(ctfont); fontDef.family = family; @@ -826,8 +826,8 @@ QFontEngine::Properties QCoreTextFontEngine::properties() const QCFString psName, copyright; psName = CTFontCopyPostScriptName(ctfont); copyright = CTFontCopyName(ctfont, kCTFontCopyrightNameKey); - result.postscriptName = QCFString::toQString(psName).toUtf8(); - result.copyright = QCFString::toQString(copyright).toUtf8(); + result.postscriptName = QString::fromCFString(psName).toUtf8(); + result.copyright = QString::fromCFString(copyright).toUtf8(); qreal emSquare = CTFontGetUnitsPerEm(ctfont); qreal scale = emSquare / CTFontGetSize(ctfont); diff --git a/src/platformsupport/input/libinput/qlibinputpointer.cpp b/src/platformsupport/input/libinput/qlibinputpointer.cpp index 3b583ec99d..bdeac8db7e 100644 --- a/src/platformsupport/input/libinput/qlibinputpointer.cpp +++ b/src/platformsupport/input/libinput/qlibinputpointer.cpp @@ -96,7 +96,7 @@ void QLibInputPointer::processMotion(libinput_event_pointer *e) void QLibInputPointer::processAxis(libinput_event_pointer *e) { -#if QT_LIBRARY_VERSION(libinput) < QT_VERSION_CHECK(0, 8, 0) +#if !QT_CONFIG(libinput_axis_api) const double v = libinput_event_pointer_get_axis_value(e) * 120; const Qt::Orientation ori = libinput_event_pointer_get_axis(e) == LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL ? Qt::Vertical : Qt::Horizontal; diff --git a/src/platformsupport/linuxaccessibility/dbusconnection.cpp b/src/platformsupport/linuxaccessibility/dbusconnection.cpp index a3c2ecc084..3e2248a018 100644 --- a/src/platformsupport/linuxaccessibility/dbusconnection.cpp +++ b/src/platformsupport/linuxaccessibility/dbusconnection.cpp @@ -49,7 +49,7 @@ #include "bus_interface.h" #include <QtGui/qguiapplication.h> -#include <qplatformnativeinterface.h> +#include <qpa/qplatformnativeinterface.h> QT_BEGIN_NAMESPACE diff --git a/src/platformsupport/platformsupport.pro b/src/platformsupport/platformsupport.pro index 19efa60f48..f9b57acaa8 100644 --- a/src/platformsupport/platformsupport.pro +++ b/src/platformsupport/platformsupport.pro @@ -22,13 +22,6 @@ include(linuxaccessibility/linuxaccessibility.pri) include(clipboard/clipboard.pri) include(platformcompositor/platformcompositor.pri) -# dbus convenience for unix except darwin: the platform -# plugins for these platforms do not use dbus and we -# don't want to create a false dependency. -unix:!darwin:qtConfig(dbus) { - include(dbusmenu/dbusmenu.pri) - include(dbustray/dbustray.pri) -} darwin: include(graphics/graphics.pri) load(qt_module) diff --git a/src/platformsupport/dbusmenu/dbusmenu.pri b/src/platformsupport/themes/genericunix/dbusmenu/dbusmenu.pri index 2d0feca1a2..662ebfdae6 100644 --- a/src/platformsupport/dbusmenu/dbusmenu.pri +++ b/src/platformsupport/themes/genericunix/dbusmenu/dbusmenu.pri @@ -1,6 +1,6 @@ QT_FOR_PRIVATE += dbus -INCLUDEPATH += $$PWD $$PWD/../../gui/kernel +INCLUDEPATH += $$PWD HEADERS += \ $$PWD/qdbusmenuadaptor_p.h \ diff --git a/src/platformsupport/dbusmenu/qdbusmenuadaptor.cpp b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuadaptor.cpp index 354b9c3a2e..354b9c3a2e 100644 --- a/src/platformsupport/dbusmenu/qdbusmenuadaptor.cpp +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuadaptor.cpp diff --git a/src/platformsupport/dbusmenu/qdbusmenuadaptor_p.h b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuadaptor_p.h index 6612f019a7..6612f019a7 100644 --- a/src/platformsupport/dbusmenu/qdbusmenuadaptor_p.h +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuadaptor_p.h diff --git a/src/platformsupport/dbusmenu/qdbusmenubar.cpp b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenubar.cpp index 76d658f51a..76d658f51a 100644 --- a/src/platformsupport/dbusmenu/qdbusmenubar.cpp +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenubar.cpp diff --git a/src/platformsupport/dbusmenu/qdbusmenubar_p.h b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenubar_p.h index 8266a395f5..8266a395f5 100644 --- a/src/platformsupport/dbusmenu/qdbusmenubar_p.h +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenubar_p.h diff --git a/src/platformsupport/dbusmenu/qdbusmenuconnection.cpp b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuconnection.cpp index 361146dc23..a9d758209a 100644 --- a/src/platformsupport/dbusmenu/qdbusmenuconnection.cpp +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuconnection.cpp @@ -95,6 +95,12 @@ bool QDBusMenuConnection::registerTrayIconMenu(QDBusTrayIcon *item) return success; } +void QDBusMenuConnection::unregisterTrayIconMenu(QDBusTrayIcon *item) +{ + if (item->menu()) + connection().unregisterObject(MenuBarPath); +} + bool QDBusMenuConnection::registerTrayIcon(QDBusTrayIcon *item) { bool success = connection().registerService(item->instanceId()); @@ -124,7 +130,7 @@ bool QDBusMenuConnection::registerTrayIcon(QDBusTrayIcon *item) bool QDBusMenuConnection::unregisterTrayIcon(QDBusTrayIcon *item) { - connection().unregisterObject(MenuBarPath); + unregisterTrayIconMenu(item); connection().unregisterObject(StatusNotifierItemPath); bool success = connection().unregisterService(item->instanceId()); if (!success) diff --git a/src/platformsupport/dbusmenu/qdbusmenuconnection_p.h b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuconnection_p.h index 84eb2a6f3a..ae0595ae3b 100644 --- a/src/platformsupport/dbusmenu/qdbusmenuconnection_p.h +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuconnection_p.h @@ -72,6 +72,7 @@ public: bool isStatusNotifierHostRegistered() const { return m_statusNotifierHostRegistered; } #ifndef QT_NO_SYSTEMTRAYICON bool registerTrayIconMenu(QDBusTrayIcon *item); + void unregisterTrayIconMenu(QDBusTrayIcon *item); bool registerTrayIcon(QDBusTrayIcon *item); bool unregisterTrayIcon(QDBusTrayIcon *item); #endif // QT_NO_SYSTEMTRAYICON diff --git a/src/platformsupport/dbusmenu/qdbusmenuregistrarproxy.cpp b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuregistrarproxy.cpp index c59b5a675e..c59b5a675e 100644 --- a/src/platformsupport/dbusmenu/qdbusmenuregistrarproxy.cpp +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuregistrarproxy.cpp diff --git a/src/platformsupport/dbusmenu/qdbusmenuregistrarproxy_p.h b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuregistrarproxy_p.h index c92de0a140..c92de0a140 100644 --- a/src/platformsupport/dbusmenu/qdbusmenuregistrarproxy_p.h +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuregistrarproxy_p.h diff --git a/src/platformsupport/dbusmenu/qdbusmenutypes.cpp b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenutypes.cpp index 82a13d2fa0..82a13d2fa0 100644 --- a/src/platformsupport/dbusmenu/qdbusmenutypes.cpp +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenutypes.cpp diff --git a/src/platformsupport/dbusmenu/qdbusmenutypes_p.h b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenutypes_p.h index fd6727d3be..fd6727d3be 100644 --- a/src/platformsupport/dbusmenu/qdbusmenutypes_p.h +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenutypes_p.h diff --git a/src/platformsupport/dbusmenu/qdbusplatformmenu.cpp b/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu.cpp index 15440a03cd..15440a03cd 100644 --- a/src/platformsupport/dbusmenu/qdbusplatformmenu.cpp +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu.cpp diff --git a/src/platformsupport/dbusmenu/qdbusplatformmenu_p.h b/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu_p.h index 38c27e8051..38c27e8051 100644 --- a/src/platformsupport/dbusmenu/qdbusplatformmenu_p.h +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu_p.h diff --git a/src/platformsupport/dbustray/dbustray.pri b/src/platformsupport/themes/genericunix/dbustray/dbustray.pri index 734ee5fb40..f703e24ba9 100644 --- a/src/platformsupport/dbustray/dbustray.pri +++ b/src/platformsupport/themes/genericunix/dbustray/dbustray.pri @@ -1,6 +1,6 @@ QT_FOR_PRIVATE += dbus -INCLUDEPATH += $$PWD $$PWD/../../gui/kernel +INCLUDEPATH += $$PWD HEADERS += \ $$PWD/qdbustrayicon_p.h \ diff --git a/src/platformsupport/dbustray/qdbustrayicon.cpp b/src/platformsupport/themes/genericunix/dbustray/qdbustrayicon.cpp index 0369eaf144..a686a33464 100644 --- a/src/platformsupport/dbustray/qdbustrayicon.cpp +++ b/src/platformsupport/themes/genericunix/dbustray/qdbustrayicon.cpp @@ -44,16 +44,16 @@ #include "qdbusmenuconnection_p.h" #include "qstatusnotifieritemadaptor_p.h" #include "qdbusmenuadaptor_p.h" -#include "dbusmenu/qdbusplatformmenu_p.h" +#include "qdbusplatformmenu_p.h" #include "qxdgnotificationproxy_p.h" -#include <qplatformmenu.h> +#include <qpa/qplatformmenu.h> #include <qstring.h> #include <qdebug.h> #include <qrect.h> #include <qloggingcategory.h> -#include <qplatformintegration.h> -#include <qplatformservices.h> +#include <qpa/qplatformintegration.h> +#include <qpa/qplatformservices.h> #include <qdbusconnectioninterface.h> #include <private/qlockfile_p.h> #include <private/qguiapplication_p.h> @@ -214,20 +214,21 @@ QPlatformMenu *QDBusTrayIcon::createMenu() const void QDBusTrayIcon::updateMenu(QPlatformMenu * menu) { qCDebug(qLcTray) << menu; - bool needsRegistering = !m_menu; - if (!m_menu) - m_menu = qobject_cast<QDBusPlatformMenu *>(menu); - if (!m_menuAdaptor) { + QDBusPlatformMenu *newMenu = qobject_cast<QDBusPlatformMenu *>(menu); + if (m_menu != newMenu) { + if (m_menu) { + dBusConnection()->unregisterTrayIconMenu(this); + delete m_menuAdaptor; + } + m_menu = newMenu; m_menuAdaptor = new QDBusMenuAdaptor(m_menu); // TODO connect(m_menu, , m_menuAdaptor, SIGNAL(ItemActivationRequested(int,uint))); connect(m_menu, SIGNAL(propertiesUpdated(QDBusMenuItemList,QDBusMenuItemKeysList)), m_menuAdaptor, SIGNAL(ItemsPropertiesUpdated(QDBusMenuItemList,QDBusMenuItemKeysList))); connect(m_menu, SIGNAL(updated(uint,int)), m_menuAdaptor, SIGNAL(LayoutUpdated(uint,int))); - } - m_menu->emitUpdated(); - if (needsRegistering) dBusConnection()->registerTrayIconMenu(this); + } } void QDBusTrayIcon::showMessage(const QString &title, const QString &msg, const QIcon &icon, diff --git a/src/platformsupport/dbustray/qdbustrayicon_p.h b/src/platformsupport/themes/genericunix/dbustray/qdbustrayicon_p.h index a383ef86fc..a383ef86fc 100644 --- a/src/platformsupport/dbustray/qdbustrayicon_p.h +++ b/src/platformsupport/themes/genericunix/dbustray/qdbustrayicon_p.h diff --git a/src/platformsupport/dbustray/qdbustraytypes.cpp b/src/platformsupport/themes/genericunix/dbustray/qdbustraytypes.cpp index fc0fa00655..fc0fa00655 100644 --- a/src/platformsupport/dbustray/qdbustraytypes.cpp +++ b/src/platformsupport/themes/genericunix/dbustray/qdbustraytypes.cpp diff --git a/src/platformsupport/dbustray/qdbustraytypes_p.h b/src/platformsupport/themes/genericunix/dbustray/qdbustraytypes_p.h index 1bdc855c3c..1bdc855c3c 100644 --- a/src/platformsupport/dbustray/qdbustraytypes_p.h +++ b/src/platformsupport/themes/genericunix/dbustray/qdbustraytypes_p.h diff --git a/src/platformsupport/dbustray/qstatusnotifieritemadaptor.cpp b/src/platformsupport/themes/genericunix/dbustray/qstatusnotifieritemadaptor.cpp index d3c5454f01..d3c5454f01 100644 --- a/src/platformsupport/dbustray/qstatusnotifieritemadaptor.cpp +++ b/src/platformsupport/themes/genericunix/dbustray/qstatusnotifieritemadaptor.cpp diff --git a/src/platformsupport/dbustray/qstatusnotifieritemadaptor_p.h b/src/platformsupport/themes/genericunix/dbustray/qstatusnotifieritemadaptor_p.h index 776e1b23ef..776e1b23ef 100644 --- a/src/platformsupport/dbustray/qstatusnotifieritemadaptor_p.h +++ b/src/platformsupport/themes/genericunix/dbustray/qstatusnotifieritemadaptor_p.h diff --git a/src/platformsupport/dbustray/qxdgnotificationproxy.cpp b/src/platformsupport/themes/genericunix/dbustray/qxdgnotificationproxy.cpp index ef2aa799c8..ef2aa799c8 100644 --- a/src/platformsupport/dbustray/qxdgnotificationproxy.cpp +++ b/src/platformsupport/themes/genericunix/dbustray/qxdgnotificationproxy.cpp diff --git a/src/platformsupport/dbustray/qxdgnotificationproxy_p.h b/src/platformsupport/themes/genericunix/dbustray/qxdgnotificationproxy_p.h index 03899723ab..03899723ab 100644 --- a/src/platformsupport/dbustray/qxdgnotificationproxy_p.h +++ b/src/platformsupport/themes/genericunix/dbustray/qxdgnotificationproxy_p.h diff --git a/src/platformsupport/themes/genericunix/genericunix.pri b/src/platformsupport/themes/genericunix/genericunix.pri index eed48257d0..27019b4aa2 100644 --- a/src/platformsupport/themes/genericunix/genericunix.pri +++ b/src/platformsupport/themes/genericunix/genericunix.pri @@ -1,2 +1,7 @@ HEADERS += $$PWD/qgenericunixthemes_p.h SOURCES += $$PWD/qgenericunixthemes.cpp + +qtConfig(dbus) { + include(dbusmenu/dbusmenu.pri) + include(dbustray/dbustray.pri) +} diff --git a/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp b/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp index 296c282a47..db264d1b22 100644 --- a/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp +++ b/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp @@ -238,6 +238,7 @@ static QList<QSize> availableXdgFileIconSizes() return QIcon::fromTheme(QStringLiteral("inode-directory")).availableSizes(); } +#if QT_CONFIG(mimetype) static QIcon xdgFileIcon(const QFileInfo &fileInfo) { QMimeDatabase mimeDatabase; @@ -253,6 +254,7 @@ static QIcon xdgFileIcon(const QFileInfo &fileInfo) const QString &genericIconName = mimeType.genericIconName(); return genericIconName.isEmpty() ? QIcon() : QIcon::fromTheme(genericIconName); } +#endif #ifndef QT_NO_SETTINGS class QKdeThemePrivate : public QPlatformThemePrivate @@ -547,7 +549,11 @@ QVariant QKdeTheme::themeHint(QPlatformTheme::ThemeHint hint) const QIcon QKdeTheme::fileIcon(const QFileInfo &fileInfo, QPlatformTheme::IconOptions) const { +#if QT_CONFIG(mimetype) return xdgFileIcon(fileInfo); +#else + return QIcon(); +#endif } const QPalette *QKdeTheme::palette(Palette type) const @@ -708,7 +714,11 @@ QVariant QGnomeTheme::themeHint(QPlatformTheme::ThemeHint hint) const QIcon QGnomeTheme::fileIcon(const QFileInfo &fileInfo, QPlatformTheme::IconOptions) const { +#if QT_CONFIG(mimetype) return xdgFileIcon(fileInfo); +#else + return QIcon(); +#endif } const QFont *QGnomeTheme::font(Font type) const |