From 38ced5810c26e5de4d6dd0058e9733ff5f10dfa7 Mon Sep 17 00:00:00 2001 From: Heiko Becker Date: Tue, 13 Oct 2020 23:32:07 +0200 Subject: [PATCH] Make Prison a required dependency 7bd9bea0723ca52161b77fa2f01fd818e01bb258 started using Prison unconditionally via QML import. So if Prison isn't installed the clipboard applet stops working, complaining that "org.kde.prison is not installed". While it would certainly be possible to add another call to "find_package(KF5Prison)" with TYPE RUNTIME, the result in feature_summary would be very confusing, because OPTIONAL has a higher priority and the runtime hint would vanish if you build with e.g. -DCMAKE_DISABLE_FIND_PACKAGE_KF5Prison=TRUE. (cherry picked from commit 63f1b86005de175932a43ec58576b2a8d9a5a962) --- CMakeLists.txt | 5 ++++- kcms/translations/CMakeLists.txt | 1 - klipper/CMakeLists.txt | 16 ++-------------- klipper/clipboardengine.cpp | 4 ---- klipper/clipboardjob.cpp | 6 ------ klipper/config-klipper.h.cmake | 1 - klipper/klipper.cpp | 8 -------- klipper/klipper.h | 4 ---- 8 files changed, 6 insertions(+), 39 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 43c513d00..39eace10e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,11 +33,12 @@ include(ECMQueryQmake) include(ECMInstallIcons) include(KDEPackageAppTemplates) include(KDEClangFormat) +include(ECMQMLModules) find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Plasma DocTools Runner Notifications NotifyConfig Su NewStuff Wallet IdleTime Declarative I18n KCMUtils TextWidgets KDELibs4Support Crash GlobalAccel - DBusAddons Wayland CoreAddons People ActivitiesStats Activities KIO) + DBusAddons Wayland CoreAddons People ActivitiesStats Activities KIO Prison) find_package(KDED CONFIG REQUIRED) find_package(KF5NetworkManagerQt ${KF5_MIN_VERSION}) @@ -151,6 +152,8 @@ set_package_properties(Freetype PROPERTIES DESCRIPTION "A font rendering engine" PURPOSE "Needed to build kfontinst, a simple font installer." ) +# Clipboard applet +ecm_find_qmlmodule(org.kde.prison 1.0) include(ConfigureChecks.cmake) diff --git a/kcms/translations/CMakeLists.txt b/kcms/translations/CMakeLists.txt index bf164bc87..bae837a80 100644 --- a/kcms/translations/CMakeLists.txt +++ b/kcms/translations/CMakeLists.txt @@ -1,4 +1,3 @@ -include(ECMQMLModules) ecm_find_qmlmodule(org.kde.plasma.core 2.0) # KI18N Translation Domain for this library. diff --git a/klipper/CMakeLists.txt b/klipper/CMakeLists.txt index 25bbcdb4d..e95f14486 100644 --- a/klipper/CMakeLists.txt +++ b/klipper/CMakeLists.txt @@ -25,14 +25,6 @@ set(libklipper_common_SRCS ecm_qt_declare_logging_category(libklipper_common_SRCS HEADER klipper_debug.h IDENTIFIER KLIPPER_LOG CATEGORY_NAME org.kde.klipper) -find_package(KF5Prison ${KF5_MIN_VERSION}) -set_package_properties(KF5Prison PROPERTIES DESCRIPTION "Prison library" - URL "https://commits.kde.org/prison" - TYPE OPTIONAL - PURPOSE "Needed to create mobile barcodes from clipboard data" - ) - -set(HAVE_PRISON ${KF5Prison_FOUND}) configure_file(config-klipper.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-klipper.h ) ki18n_wrap_ui(libklipper_common_SRCS generalconfig.ui actionsconfig.ui editactiondialog.ui) @@ -51,6 +43,7 @@ target_link_libraries(kdeinit_klipper KF5::KIOWidgets KF5::Notifications KF5::Service + KF5::Prison KF5::TextWidgets KF5::WindowSystem KF5::WidgetsAddons @@ -61,9 +54,6 @@ target_link_libraries(kdeinit_klipper if (X11_FOUND) target_link_libraries(kdeinit_klipper XCB::XCB Qt5::X11Extras) endif() -if (HAVE_PRISON) - target_link_libraries(kdeinit_klipper KF5::Prison) -endif () install(TARGETS kdeinit_klipper ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) install(TARGETS klipper ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) @@ -86,6 +76,7 @@ target_link_libraries(plasma_engine_clipboard KF5::Plasma KF5::Notifications KF5::Service + KF5::Prison KF5::TextWidgets # KTextEdit KF5::WidgetsAddons # KMessageBox KF5::WindowSystem @@ -96,9 +87,6 @@ target_link_libraries(plasma_engine_clipboard if (X11_FOUND) target_link_libraries(plasma_engine_clipboard XCB::XCB Qt5::X11Extras) endif() -if (HAVE_PRISON) - target_link_libraries(plasma_engine_clipboard KF5::Prison) -endif () install(TARGETS plasma_engine_clipboard DESTINATION ${KDE_INSTALL_PLUGINDIR}/plasma/dataengine) install(FILES plasma-dataengine-clipboard.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}) install(FILES org.kde.plasma.clipboard.operations DESTINATION ${PLASMA_DATA_INSTALL_DIR}/services) diff --git a/klipper/clipboardengine.cpp b/klipper/clipboardengine.cpp index 356489198..ffd5a4c96 100644 --- a/klipper/clipboardengine.cpp +++ b/klipper/clipboardengine.cpp @@ -32,11 +32,7 @@ ClipboardEngine::ClipboardEngine(QObject *parent, const QVariantList &args) { // TODO: use a filterproxymodel setModel(s_clipboardSourceName, m_klipper->history()->model()); -#ifdef HAVE_PRISON setData(s_clipboardSourceName, s_barcodeKey, true); -#else - setData(s_clipboardSourceName, s_barcodeKey, false); -#endif auto updateCurrent = [this]() { setData(s_clipboardSourceName, QStringLiteral("current"), diff --git a/klipper/clipboardjob.cpp b/klipper/clipboardjob.cpp index b2052eb6e..879227f61 100644 --- a/klipper/clipboardjob.cpp +++ b/klipper/clipboardjob.cpp @@ -27,9 +27,7 @@ along with this program. If not, see . #include "klipper_debug.h" #include -#ifdef HAVE_PRISON #include -#endif const static QString s_iconKey = QStringLiteral("icon"); const static QString s_previewKey = QStringLiteral("preview"); @@ -82,7 +80,6 @@ void ClipboardJob::start() m_klipper->editData(item); return; } else if (operation == QLatin1String("barcode")) { -#ifdef HAVE_PRISON int pixelWidth = parameters().value(QStringLiteral("width")).toInt(); int pixelHeight = parameters().value(QStringLiteral("height")).toInt(); Prison::AbstractBarcode *code = nullptr; @@ -131,9 +128,6 @@ void ClipboardJob::start() } else { setResult(false); } -#else - setResult(false); -#endif } else if (operation == QLatin1String("action")) { m_klipper->urlGrabber()->invokeAction(item); setResult(true); diff --git a/klipper/config-klipper.h.cmake b/klipper/config-klipper.h.cmake index e53bef4f9..d26935984 100644 --- a/klipper/config-klipper.h.cmake +++ b/klipper/config-klipper.h.cmake @@ -1,2 +1 @@ -#cmakedefine HAVE_PRISON #define KLIPPER_VERSION_STRING "${KLIPPER_VERSION_STRING}" diff --git a/klipper/klipper.cpp b/klipper/klipper.cpp index 96947d606..0c289c9d2 100644 --- a/klipper/klipper.cpp +++ b/klipper/klipper.cpp @@ -54,9 +54,7 @@ #include "systemclipboard.h" -#ifdef HAVE_PRISON #include -#endif #include #if HAVE_X11 @@ -183,7 +181,6 @@ Klipper::Klipper(QObject* parent, const KSharedConfigPtr& config, KlipperMode mo } ); -#ifdef HAVE_PRISON // add barcode for mobile phones m_showBarcodeAction = m_collection->addAction(QStringLiteral("show-barcode")); m_showBarcodeAction->setText(i18n("&Show Barcode...")); @@ -193,7 +190,6 @@ Klipper::Klipper(QObject* parent, const KSharedConfigPtr& config, KlipperMode mo showBarcode(m_history->first()); } ); -#endif // Cycle through history m_cycleNextAction = m_collection->addAction(QStringLiteral("cycleNextAction")); @@ -220,9 +216,7 @@ Klipper::Klipper(QObject* parent, const KSharedConfigPtr& config, KlipperMode mo m_popup->plugAction( m_configureAction ); m_popup->plugAction( m_repeatAction ); m_popup->plugAction( m_editAction ); -#ifdef HAVE_PRISON m_popup->plugAction( m_showBarcodeAction ); -#endif m_popup->plugAction( m_quitAction ); } @@ -936,7 +930,6 @@ void Klipper::editData(const QSharedPointer< const HistoryItem > &item) } } -#ifdef HAVE_PRISON class BarcodeLabel : public QLabel { public: @@ -1003,7 +996,6 @@ void Klipper::showBarcode(const QSharedPointer< const HistoryItem > &item) dlg->open(); } } -#endif //HAVE_PRISON void Klipper::slotAskClearHistory() { diff --git a/klipper/klipper.h b/klipper/klipper.h index b4ca6ba8d..cd7521696 100644 --- a/klipper/klipper.h +++ b/klipper/klipper.h @@ -82,9 +82,7 @@ public: } void editData(const QSharedPointer &item); -#ifdef HAVE_PRISON void showBarcode(const QSharedPointer &item); -#endif public Q_SLOTS: void saveSession(); @@ -176,9 +174,7 @@ private: QAction* m_clearHistoryAction; QAction* m_repeatAction; QAction* m_editAction; -#ifdef HAVE_PRISON QAction* m_showBarcodeAction; -#endif QAction* m_configureAction; QAction* m_quitAction; QAction* m_cycleNextAction;