f9e0a8b597
There are no advantages for the effects KCM to have all the effect config modules in one plugin. By having a plugin per effect we can use the KPluginTrader to easily find the configuration plugin for a given effect and load it. To make this possible the following changes are done: * config_builtins.cpp is deleted * add_subdirectory is used for all effects which have a config module * toplevel CMakeLists.txt contains the sources again for the effects which have a config module, but effects which don't have a config module are still included and thus the macro is still used * plugin created for the config module, name pattern is: kwin_effectname_config * plugin installed to ${PLUGIN_INSTALL_DIR}/kwin/effects/configs * desktop file adjusted to new plugin name and keyword removed * desktop file converted to json as meta data and no longer installed * Uses K_PLUGIN_FACTORY_WITH_JSON * Macros for config are dropped from kwineffects.h REVIEW: 116854
39 lines
938 B
CMake
39 lines
938 B
CMake
#######################################
|
|
# Effect
|
|
|
|
# .desktop files
|
|
install( FILES
|
|
trackmouse.desktop
|
|
DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
|
|
|
|
# Data files
|
|
install( FILES
|
|
data/tm_inner.png
|
|
data/tm_outer.png
|
|
DESTINATION ${DATA_INSTALL_DIR}/kwin )
|
|
|
|
#######################################
|
|
# Config
|
|
set(kwin_trackmouse_config_SRCS trackmouse_config.cpp)
|
|
qt5_wrap_ui(kwin_trackmouse_config_SRCS trackmouse_config.ui)
|
|
kconfig_add_kcfg_files(kwin_trackmouse_config_SRCS trackmouseconfig.kcfgc)
|
|
|
|
add_library(kwin_trackmouse_config MODULE ${kwin_trackmouse_config_SRCS})
|
|
|
|
target_link_libraries(kwin_trackmouse_config
|
|
kwineffects
|
|
KF5::ConfigWidgets
|
|
KF5::GlobalAccel
|
|
KF5::I18n
|
|
KF5::Service
|
|
KF5::XmlGui
|
|
)
|
|
|
|
kservice_desktop_to_json(kwin_trackmouse_config trackmouse_config.desktop)
|
|
|
|
install(
|
|
TARGETS
|
|
kwin_trackmouse_config
|
|
DESTINATION
|
|
${PLUGIN_INSTALL_DIR}/kwin/effects/configs
|
|
)
|