diff --git a/kcmkwin/kwincompositing/CMakeLists.txt b/kcmkwin/kwincompositing/CMakeLists.txt index 5a7c4f9dce..28df0288a2 100644 --- a/kcmkwin/kwincompositing/CMakeLists.txt +++ b/kcmkwin/kwincompositing/CMakeLists.txt @@ -22,6 +22,7 @@ find_package(Qt5Transitional MODULE) find_package(Qt5Core REQUIRED NO_MODULE) find_package(Qt5Quick REQUIRED NO_MODULE) +find_package(KCoreAddons REQUIRED NO_MODULE) add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0 -std=c++0x) @@ -87,7 +88,9 @@ target_link_libraries(kwincompositing ${Qt5Widgets_LIBRARIES} ${KDE4_KDECORE_LIBS} ${KDE4_KCMUTILS_LIBS} -) + + ${KDE4Support_LIBRARIES} + ${KCoreAddons_LIBRARIES}) INSTALL(DIRECTORY qml DESTINATION ${DATA_INSTALL_DIR}/kwincompositing) INSTALL(TARGETS kwincompositing ${INSTALL_TARGETS_DEFAULT_ARGS}) diff --git a/kcmkwin/kwincompositing/effectconfig.cpp b/kcmkwin/kwincompositing/effectconfig.cpp index e071d7f70f..59ae6b9940 100644 --- a/kcmkwin/kwincompositing/effectconfig.cpp +++ b/kcmkwin/kwincompositing/effectconfig.cpp @@ -56,6 +56,7 @@ void EffectConfig::openConfig(const QString &effectName) { if (plugin.name() == effectName) { QString effectConfig = serviceName(plugin.name() + "_config"); KCModuleProxy *proxy = new KCModuleProxy(effectConfig); + proxy->show(); } } diff --git a/kcmkwin/kwincompositing/main.cpp b/kcmkwin/kwincompositing/main.cpp index 2e6a7119e9..250ba92f93 100644 --- a/kcmkwin/kwincompositing/main.cpp +++ b/kcmkwin/kwincompositing/main.cpp @@ -23,8 +23,26 @@ #include "model.h" #include +#include +#include + int main(int argc, char *argv[]) { + KAboutData aboutData("kwincompositing", 0, i18n("KWinCompositing"), + "1.0", i18n("Plasma Add-Ons Creator"), + KAboutData::License_GPL, + i18n("Copyright 2009-2013 Plasma Development Team"), + "", "", "kwin@kde.org"); + + aboutData.addAuthor(i18n("Antonis Tsiapaliokas"), + i18n("Author and maintainer"), + "kok3rs@gmail.com"); + + KCmdLineArgs::init(argc, argv, + "kwincompositing", "", + ki18n("KWinCompositing"), + "0.1"); + QApplication app(argc, argv); EffectView *view = new EffectView(); diff --git a/kcmkwin/kwincompositing/qml/Effect.qml b/kcmkwin/kwincompositing/qml/Effect.qml index 0cefee31f0..44fe9036ae 100644 --- a/kcmkwin/kwincompositing/qml/Effect.qml +++ b/kcmkwin/kwincompositing/qml/Effect.qml @@ -40,8 +40,13 @@ Component { id: myCheckBox checked: engineObject.isEnabled(model.Name) onClicked: { + apply.enabled = true; engineObject.effectStatus(model.Name, checked); } + + onCheckedChanged: { + configureButton.enabled = myCheckBox.checked; + } } Item { @@ -86,6 +91,7 @@ Component { anchors.left: effectItem.right visible: effectConfig.effectUiConfigExists(model.Name) text: "CONFIGURE EFFECT" + enabled: myCheckBox.checked onClicked: { effectConfig.openConfig(model.Name); } diff --git a/kcmkwin/kwincompositing/qml/main.qml b/kcmkwin/kwincompositing/qml/main.qml index f88ffb231b..1197f4bb68 100644 --- a/kcmkwin/kwincompositing/qml/main.qml +++ b/kcmkwin/kwincompositing/qml/main.qml @@ -90,6 +90,7 @@ Item { anchors.fill: parent model: searchModel delegate: Effect {} + section.property: "Category" section.delegate: sectionHeading } @@ -98,10 +99,15 @@ Item { Button { id: apply text: "Apply" + enabled: false anchors { bottom: parent.bottom } - onClicked: { engineObject.syncConfig(); } + + onClicked: { + engineObject.syncConfig(); + apply.enabled = false; + } } } }