diff --git a/.reviewboardrc b/.reviewboardrc index 777457c..a975a93 100644 --- a/.reviewboardrc +++ b/.reviewboardrc @@ -1,4 +1,4 @@ REVIEWBOARD_URL = "https://git.reviewboard.kde.org" -REPOSITORY = 'git://anongit.kde.org/frameworkintegration' +REPOSITORY = 'git://anongit.kde.org/plasma-integration' BRANCH = 'master' -TARGET_GROUPS = 'kdeframeworks' +TARGET_GROUPS = 'plasma' diff --git a/CMakeLists.txt b/CMakeLists.txt index 203cb76..77f7b4c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,72 +1,47 @@ cmake_minimum_required(VERSION 2.8.12) project(FrameworkIntegration) include(FeatureSummary) find_package(ECM 5.17.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) include(GenerateExportHeader) include(ECMPackageConfigHelpers) include(ECMSetupVersion) include(ECMGenerateHeaders) include(KDEInstallDirs) include(KDEFrameworkCompilerSettings) include(KDECMakeSettings) set(REQUIRED_QT_VERSION 5.3.0) find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets DBus) set(KF5_VERSION "5.18.0") # handled by release scripts set(KF5_DEP_VERSION "5.17.0") # handled by release scripts -ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX FRAMEWORKINTEGRATION - VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/frameworkintegration_version.h" - PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5FrameworkIntegrationConfigVersion.cmake" - SOVERSION 5) - find_package(KF5Config ${KF5_DEP_VERSION} REQUIRED) find_package(KF5ConfigWidgets ${KF5_DEP_VERSION} REQUIRED) find_package(KF5I18n ${KF5_DEP_VERSION} REQUIRED) find_package(KF5IconThemes ${KF5_DEP_VERSION} REQUIRED) find_package(KF5KIO ${KF5_DEP_VERSION} REQUIRED) find_package(KF5Notifications ${KF5_DEP_VERSION} REQUIRED) find_package(KF5WidgetsAddons ${KF5_DEP_VERSION} REQUIRED) add_definitions(-DTRANSLATION_DOMAIN=\"frameworkintegration5\") if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") ki18n_install(po) endif() add_subdirectory(src) add_subdirectory(autotests) add_subdirectory(tests) -# create a Config.cmake and a ConfigVersion.cmake file and install them -set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5FrameworkIntegration") - -ecm_configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KF5FrameworkIntegrationConfig.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/KF5FrameworkIntegrationConfig.cmake" - INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} - ) - -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KF5FrameworkIntegrationConfig.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/KF5FrameworkIntegrationConfigVersion.cmake" - DESTINATION "${CMAKECONFIG_INSTALL_DIR}" - COMPONENT Devel ) - -install(EXPORT KF5FrameworkIntegrationTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5FrameworkIntegrationTargets.cmake NAMESPACE KF5:: ) - -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/frameworkintegration_version.h - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel ) - -install(FILES plasma_workspace.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFY5RCDIR}) - feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) -message("** frameworkintegration uses Noto Sans (https://www.google.com/get/noto/) and Oxygen Mono (http://download.kde.org/stable/plasma/5.4.0/oxygen-fonts-5.4.0.tar.xz) fonts, ensure these are installed for use at runtime") +message("** plasma-integration uses Noto Sans (https://www.google.com/get/noto/) and Oxygen Mono (http://download.kde.org/stable/plasma/5.4.0/oxygen-fonts-5.4.0.tar.xz) fonts, ensure these are installed for use at runtime") diff --git a/README.md b/README.md index a3ec2c5..d24698e 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,18 @@ # Framework Integration Integration of Qt application with KDE workspaces ## Introduction Framework Integration is a set of plugins responsible for better integration of Qt applications when running on a KDE Plasma workspace. Applications do not need to link to this directly. ## Components -### KF5Style - -The library KF5Style provides integration with KDE Plasma Workspace -settings for Qt styles. - -Derive your Qt style from KStyle to automatically inherit various -settings from the KDE Plasma Workspace, providing a consistent user -experience. For example, this will ensure a consistent single-click -or double-click activation setting, and the use of standard themed -icons. - -### infopage - -Common data files used in info page content in various applications. - -### FrameworkIntegrationPlugin - -FrameworkIntegrationPlugin provides extra features to other KDE -Frameworks to integrate with KDE Plasma. - -It currently provides an addon to KMessageBox which stores settings -for asking users the same question again. - ### KDEPlatformTheme The plugin KDEPlatformTheme provides KDE integration for QPlatformThemePlugin. diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt index 5cbaeeb..a553eee 100644 --- a/autotests/CMakeLists.txt +++ b/autotests/CMakeLists.txt @@ -1,72 +1,68 @@ include(ECMMarkAsTest) include(ECMMarkNonGuiExecutable) find_package(Qt5Test ${REQUIRED_QT_VERSION} CONFIG QUIET) find_package(Qt5Qml ${REQUIRED_QT_VERSION} CONFIG QUIET) if(NOT Qt5Test_FOUND) message(STATUS "Qt5Test not found, autotests will not be built.") return() endif() if(NOT Qt5Qml_FOUND) message(STATUS "Qt5Qml not found, QML autotests will not be built.") endif() include_directories( ${Qt5Gui_PRIVATE_INCLUDE_DIRS} ) set(CONFIGFILE "${CMAKE_CURRENT_SOURCE_DIR}/kdeplatformtheme_kdeglobals") set(CHANGED_CONFIGFILE "${CMAKE_CURRENT_SOURCE_DIR}/kdeplatformtheme_changed_kdeglobals") configure_file(kdeplatformtheme_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/kdeplatformtheme_config.h) remove_definitions(-DQT_NO_CAST_FROM_ASCII) macro(FRAMEWORKINTEGRATION_TESTS _testname) add_executable(${_testname} ${_testname}.cpp ${ARGN}) set_target_properties(${_testname} PROPERTIES COMPILE_FLAGS "-DUNIT_TEST") add_test(frameworkintegration-${_testname} ${_testname}) ecm_mark_as_test(${_testname}) ecm_mark_nongui_executable(${_testname}) - target_link_libraries(${_testname} Qt5::Test Qt5::DBus KF5::ConfigWidgets KF5::ConfigCore KF5::IconThemes KF5::Style KF5::KIOFileWidgets KF5::I18n KF5::Notifications) + target_link_libraries(${_testname} Qt5::Test Qt5::DBus KF5::ConfigWidgets KF5::ConfigCore KF5::IconThemes KF5::KIOFileWidgets KF5::I18n KF5::Notifications) endmacro() frameworkintegration_tests( kdeplatformtheme_unittest ../src/platformtheme/kdeplatformtheme.cpp ../src/platformtheme/kfontsettingsdata.cpp ../src/platformtheme/khintssettings.cpp ../src/platformtheme/kdeplatformfiledialoghelper.cpp ../src/platformtheme/kdeplatformfiledialogbase.cpp ../src/platformtheme/kdeplatformsystemtrayicon.cpp ../src/platformtheme/kdirselectdialog.cpp ../src/platformtheme/kfiletreeview.cpp ) frameworkintegration_tests( kfontsettingsdata_unittest ../src/platformtheme/kfontsettingsdata.cpp ) -frameworkintegration_tests( - kstyle_unittest -) - frameworkintegration_tests( kfiledialog_unittest ) frameworkintegration_tests( ksni_unittest ) frameworkintegration_tests( kdirselectdialog_unittest ../src/platformtheme/kdeplatformfiledialogbase.cpp ../src/platformtheme/kdirselectdialog.cpp ../src/platformtheme/kfiletreeview.cpp ) if(Qt5Qml_FOUND) frameworkintegration_tests(kfiledialogqml_unittest) target_link_libraries(kfiledialogqml_unittest Qt5::Qml) endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 339192d..c90ca06 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1 @@ -add_subdirectory(integrationplugin) add_subdirectory(platformtheme) -add_subdirectory(kstyle) -add_subdirectory(infopage) diff --git a/src/platformtheme/CMakeLists.txt b/src/platformtheme/CMakeLists.txt index 23f590e..fcaeab7 100644 --- a/src/platformtheme/CMakeLists.txt +++ b/src/platformtheme/CMakeLists.txt @@ -1,65 +1,59 @@ if(NOT APPLE) find_package(XCB COMPONENTS XCB) set_package_properties(XCB PROPERTIES TYPE RECOMMENDED PURPOSE "Required for flushing the XCB connection on the X11 Platform" ) set(HAVE_X11 ${XCB_XCB_FOUND}) if (XCB_XCB_FOUND) find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED X11Extras) find_package(X11) set_package_properties(X11 PROPERTIES DESCRIPTION "Required for updating the Cursor theme on X11" URL "http://www.x.org" TYPE REQUIRED ) endif() else() set(HAVE_X11 FALSE) endif() configure_file(config-platformtheme.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-platformtheme.h ) set(platformtheme_SRCS kdeplatformtheme.cpp kfontsettingsdata.cpp khintssettings.cpp kdeplatformfiledialoghelper.cpp kdeplatformfiledialogbase.cpp kdeplatformsystemtrayicon.cpp kfiletreeview.cpp kdirselectdialog.cpp main.cpp ) include_directories( ${Qt5Gui_PRIVATE_INCLUDE_DIRS} ) remove_definitions(-DQT_NO_CAST_FROM_ASCII) -add_library(KDEPlatformTheme MODULE ${platformtheme_SRCS}) +add_library(KDEPlasmaPlatformTheme MODULE ${platformtheme_SRCS}) -target_link_libraries(KDEPlatformTheme +target_link_libraries(KDEPlasmaPlatformTheme PRIVATE Qt5::DBus KF5::ConfigWidgets KF5::ConfigCore KF5::IconThemes KF5::KIOFileWidgets # KFileFilterCombo, KDirSortFilterProxyModel, KRecentDirs KF5::KIOWidgets KF5::XmlGui KF5::I18n KF5::Notifications ) if(HAVE_X11) - target_link_libraries(KDEPlatformTheme PRIVATE Qt5::X11Extras XCB::XCB ${X11_Xcursor_LIB}) + target_link_libraries(KDEPlasmaPlatformTheme PRIVATE Qt5::X11Extras XCB::XCB ${X11_Xcursor_LIB}) endif() -install(TARGETS KDEPlatformTheme DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/platformthemes) +install(TARGETS KDEPlasmaPlatformTheme DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/platformthemes) -install(FILES frameworksintegration-5.16-font.upd - DESTINATION ${KDE_INSTALL_KCONFUPDATEDIR} - ) -install(PROGRAMS frameworksintegration-5.16-font.sh - DESTINATION ${KDE_INSTALL_KCONFUPDATEDIR} - ) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 6bdd310..87beb05 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,5 +1,2 @@ -add_executable(kstyletest kstyletest.cpp) -target_link_libraries(kstyletest Qt5::Widgets KF5::Style) - add_executable(qfiledialogtest qfiledialogtest.cpp) target_link_libraries(qfiledialogtest Qt5::Core Qt5::Widgets)