diff options
| author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2026-06-11 21:04:06 +0200 |
|---|---|---|
| committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2026-06-11 21:04:06 +0200 |
| commit | d20734dcb6fcc6c5204dcd0b2154c8dea5457e05 (patch) | |
| tree | de2e2e3c72d2e3a0919b3bfba65a51d39b1b86c4 /libqmenumodel/src | |
| parent | f33cda5c57dab104163fe6884e2e15f3bac79c07 (diff) | |
| parent | 5f421ccac8c37c7ef20d0eb2d1a7d06bbe574088 (diff) | |
| download | qmenumodel-d20734dcb6fcc6c5204dcd0b2154c8dea5457e05.tar.gz qmenumodel-d20734dcb6fcc6c5204dcd0b2154c8dea5457e05.tar.bz2 qmenumodel-d20734dcb6fcc6c5204dcd0b2154c8dea5457e05.zip | |
Merge branch 'OPNA2608-port-qt6'
Attributes GH PR #29: https://github.com/AyatanaIndicators/qmenumodel/pull/29
Diffstat (limited to 'libqmenumodel/src')
| -rw-r--r-- | libqmenumodel/src/CMakeLists.txt | 9 | ||||
| -rw-r--r-- | libqmenumodel/src/ayatanamenuaction.h | 3 | ||||
| -rw-r--r-- | libqmenumodel/src/ayatanamenumodel.cpp | 4 | ||||
| -rw-r--r-- | libqmenumodel/src/ayatanamenumodel.h | 8 | ||||
| -rw-r--r-- | libqmenumodel/src/converter.cpp | 40 | ||||
| -rw-r--r-- | libqmenumodel/src/converter.h | 5 | ||||
| -rw-r--r-- | libqmenumodel/src/qdbusactiongroup.h | 5 | ||||
| -rw-r--r-- | libqmenumodel/src/qmenumodel.h | 3 | ||||
| -rw-r--r-- | libqmenumodel/src/qmenumodel.pc.in | 2 | ||||
| -rw-r--r-- | libqmenumodel/src/qmenumodelevents.h | 3 | ||||
| -rw-r--r-- | libqmenumodel/src/qstateaction.cpp | 16 | ||||
| -rw-r--r-- | libqmenumodel/src/qstateaction.h | 2 |
12 files changed, 78 insertions, 22 deletions
diff --git a/libqmenumodel/src/CMakeLists.txt b/libqmenumodel/src/CMakeLists.txt index a3a87cc..a606b53 100644 --- a/libqmenumodel/src/CMakeLists.txt +++ b/libqmenumodel/src/CMakeLists.txt @@ -29,7 +29,7 @@ set(QMENUMODEL_SRC gtk/gtkmenutrackeritem.h ) -set(SHAREDLIBNAME qmenumodel) +set(SHAREDLIBNAME qmenumodel${QMENUMODEL_LIB_SUFFIX}) add_library(${SHAREDLIBNAME} SHARED ${QMENUMODEL_SRC} ) @@ -45,11 +45,10 @@ include_directories( ${GIO_INCLUDE_DIRS} ) -find_package(Qt5Quick REQUIRED) target_link_libraries(${SHAREDLIBNAME} ${GLIB_LDFLAGS} ${GIO_LDFLAGS} - Qt5::Core Qt5::Qml Qt5::Quick + Qt::Core Qt::Qml Qt::Quick ) install(TARGETS ${SHAREDLIBNAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) @@ -71,8 +70,8 @@ install(FILES ${QMENUMODEL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${INCLUDEDIR} ) -set(PCFILE qmenumodel.pc) -configure_file(${PCFILE}.in ${CMAKE_CURRENT_BINARY_DIR}/${PCFILE} @ONLY) +set(PCFILE qmenumodel${QMENUMODEL_PKGCONFIG_SUFFIX}.pc) +configure_file(qmenumodel.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${PCFILE} @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PCFILE} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig ) diff --git a/libqmenumodel/src/ayatanamenuaction.h b/libqmenumodel/src/ayatanamenuaction.h index 2454d8b..d7994c7 100644 --- a/libqmenumodel/src/ayatanamenuaction.h +++ b/libqmenumodel/src/ayatanamenuaction.h @@ -21,7 +21,10 @@ #include <QObject> #include <QVariant> + +// cyclical includes, forward-declare class AyatanaMenuModel; +#include "ayatanamenumodel.h" class AyatanaMenuAction: public QObject { diff --git a/libqmenumodel/src/ayatanamenumodel.cpp b/libqmenumodel/src/ayatanamenumodel.cpp index 9ab0ff4..093beaa 100644 --- a/libqmenumodel/src/ayatanamenumodel.cpp +++ b/libqmenumodel/src/ayatanamenumodel.cpp @@ -463,7 +463,7 @@ QVariant AyatanaMenuModel::data(const QModelIndex &index, int role) const ret = gtk_menu_tracker_item_get_attribute (item, "x-canonical-type", "s", &type); if (ret) { - QVariant v(type); + QString v(type); g_free (type); return v; } @@ -658,7 +658,7 @@ static QString qtify_name(const char *name) if (*name == '-') { next_cap = true; } else if (next_cap) { - result.append(toupper(*name)); + result.append(QChar (toupper(*name))); next_cap = false; } else { result.append(*name); diff --git a/libqmenumodel/src/ayatanamenumodel.h b/libqmenumodel/src/ayatanamenumodel.h index 25722d9..b6f3dc3 100644 --- a/libqmenumodel/src/ayatanamenumodel.h +++ b/libqmenumodel/src/ayatanamenumodel.h @@ -20,9 +20,13 @@ #define AYATANAMENUMODEL_H #include <QAbstractListModel> -class ActionStateParser; -class QQmlComponent; +#include <QQmlComponent> + +#include "actionstateparser.h" + +// cyclical includes, forward-declare class AyatanaMenuAction; +#include "ayatanamenuaction.h" class AyatanaMenuModel: public QAbstractListModel { diff --git a/libqmenumodel/src/converter.cpp b/libqmenumodel/src/converter.cpp index 98757da..35b1507 100644 --- a/libqmenumodel/src/converter.cpp +++ b/libqmenumodel/src/converter.cpp @@ -166,7 +166,13 @@ GVariant* Converter::toGVariant(const QVariant &value) if (value.isNull() || !value.isValid()) return result; - switch((QMetaType::Type)value.type()) { + switch( +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + value.typeId() +#else + (QMetaType::Type)value.type() +#endif + ) { case QMetaType::Bool: result = g_variant_new_boolean(value.toBool()); break; @@ -255,7 +261,13 @@ GVariant* Converter::toGVariant(const QVariant &value) break; } default: - qWarning() << "QVariant type not supported:" << value.type(); + qWarning() << "QVariant type not supported:" << +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + value.metaType() +#else + value.type() +#endif + ; } return result; @@ -313,11 +325,23 @@ GVariant* Converter::toGVariantWithSchema(const QVariant &value, const char* sch } else if (g_variant_type_equal(schema_type, G_VARIANT_TYPE_VARIANT)) { result = g_variant_new_variant(Converter::toGVariant(value)); } else if (g_variant_type_equal(schema_type, G_VARIANT_TYPE_VARDICT)) { - if (value.canConvert(QVariant::Map)) { + if (value.canConvert( +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + QMetaType (QVariant::Map) +#else + QVariant::Map +#endif + )) { result = Converter::toGVariant(value.toMap()); } } else if (g_variant_type_is_array(schema_type)) { - if (value.canConvert(QVariant::List)) { + if (value.canConvert( +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + QMetaType (QVariant::List) +#else + QVariant::List +#endif + )) { const GVariantType* entryType = g_variant_type_element(schema_type); const gchar* entryTypeString = g_variant_type_peek_string(entryType); @@ -341,7 +365,13 @@ GVariant* Converter::toGVariantWithSchema(const QVariant &value, const char* sch g_variant_builder_unref(b); } } else if (g_variant_type_is_tuple(schema_type)) { - if (value.canConvert(QVariant::List)) { + if (value.canConvert( +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + QMetaType (QVariant::List) +#else + QVariant::List +#endif + )) { const GVariantType* entryType = g_variant_type_first(schema_type); GVariantBuilder *b = g_variant_builder_new(G_VARIANT_TYPE_TUPLE); diff --git a/libqmenumodel/src/converter.h b/libqmenumodel/src/converter.h index 27cdcae..62b1a7d 100644 --- a/libqmenumodel/src/converter.h +++ b/libqmenumodel/src/converter.h @@ -20,9 +20,10 @@ #ifndef CONVERTER_H #define CONVERTER_H +#include <QString> +#include <QVariant> + typedef struct _GVariant GVariant; -class QString; -class QVariant; class Converter { diff --git a/libqmenumodel/src/qdbusactiongroup.h b/libqmenumodel/src/qdbusactiongroup.h index d588b8e..6383e6a 100644 --- a/libqmenumodel/src/qdbusactiongroup.h +++ b/libqmenumodel/src/qdbusactiongroup.h @@ -25,8 +25,11 @@ #include <QObject> #include <QVariant> +#include "actionstateparser.h" + +// cyclical includes, forward-declare class QStateAction; -class ActionStateParser; +#include "qstateaction.h" typedef char gchar; typedef void* gpointer; diff --git a/libqmenumodel/src/qmenumodel.h b/libqmenumodel/src/qmenumodel.h index bbb35a0..6d34e54 100644 --- a/libqmenumodel/src/qmenumodel.h +++ b/libqmenumodel/src/qmenumodel.h @@ -22,7 +22,8 @@ #include <QAbstractItemModel> -class MenuNode; +#include "menunode.h" + typedef struct _GMenuModel GMenuModel; class QMenuModel : public QAbstractItemModel diff --git a/libqmenumodel/src/qmenumodel.pc.in b/libqmenumodel/src/qmenumodel.pc.in index d5a497a..9dc1914 100644 --- a/libqmenumodel/src/qmenumodel.pc.in +++ b/libqmenumodel/src/qmenumodel.pc.in @@ -7,7 +7,7 @@ Name: qmenumodel Description: Qt binding for GMenuModel. Version: @CMAKE_PROJECT_VERSION@ -Requires.private: Qt5Core Qt5Widgets gio-2.0 +Requires.private: Qt@QT_VERSION_MAJOR@Core Qt@QT_VERSION_MAJOR@Widgets gio-2.0 Libs: -L${libdir} -l@SHAREDLIBNAME@ Cflags: -I${includedir}/@INCLUDEDIR@ diff --git a/libqmenumodel/src/qmenumodelevents.h b/libqmenumodel/src/qmenumodelevents.h index be8f80d..754e233 100644 --- a/libqmenumodel/src/qmenumodelevents.h +++ b/libqmenumodel/src/qmenumodelevents.h @@ -23,7 +23,8 @@ #include <QEvent> #include <QVariant> -class MenuNode; +#include "menunode.h" + typedef struct _GDBusConnection GDBusConnection; typedef struct _GMenuModel GMenuModel; diff --git a/libqmenumodel/src/qstateaction.cpp b/libqmenumodel/src/qstateaction.cpp index e9736e8..c538ba4 100644 --- a/libqmenumodel/src/qstateaction.cpp +++ b/libqmenumodel/src/qstateaction.cpp @@ -95,7 +95,13 @@ bool QStateAction::isValid() const void QStateAction::updateState(const QVariant &state) { QVariant v = state; - if (v.convert(m_state.type())) + if (v.convert( +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + m_state.metaType() +#else + m_state.type() +#endif + )) m_group->updateActionState(m_name, v); } @@ -146,7 +152,13 @@ void QStateAction::setValid(bool valid) void QStateAction::setState(const QVariant &state) { QVariant v = state; - if (!m_state.isValid() || (v.convert(m_state.type()) && v != m_state)) { + if (!m_state.isValid() || (v.convert( +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + m_state.metaType() +#else + m_state.type() +#endif + ) && v != m_state)) { m_state = v; Q_EMIT stateChanged(m_state); } diff --git a/libqmenumodel/src/qstateaction.h b/libqmenumodel/src/qstateaction.h index 4d05a7a..daae7ce 100644 --- a/libqmenumodel/src/qstateaction.h +++ b/libqmenumodel/src/qstateaction.h @@ -23,7 +23,9 @@ #include <QObject> #include <QVariant> +// cyclical includes, forward-declare class QDBusActionGroup; +#include "qdbusactiongroup.h" class QStateAction : public QObject { |
