From bb4616497a1d938ef58e87b4dbec8bfe1fef5be2 Mon Sep 17 00:00:00 2001 From: "Lamarque V. Souza" Date: Wed, 18 Apr 2012 09:00:24 -0300 Subject: [PATCH] Add kwin/data/active (kconf_update configuration for Plasma Active). --- data/CMakeLists.txt | 5 ++ data/active/CMakeLists.txt | 12 +++++ ...kwin_update_tabbox_qml_settings_active.upd | 2 + .../update_tabbox_qml_settings_active.cpp | 52 +++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 data/CMakeLists.txt create mode 100644 data/active/CMakeLists.txt create mode 100644 data/active/kwin_update_tabbox_qml_settings_active.upd create mode 100644 data/active/update_tabbox_qml_settings_active.cpp diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt new file mode 100644 index 0000000000..a0b822bc72 --- /dev/null +++ b/data/CMakeLists.txt @@ -0,0 +1,5 @@ +if(KWIN_PLASMA_ACTIVE) + add_subdirectory(active) +else(KWIN_PLASMA_ACTIVE) + add_subdirectory(desktop) +endif(KWIN_PLASMA_ACTIVE) diff --git a/data/active/CMakeLists.txt b/data/active/CMakeLists.txt new file mode 100644 index 0000000000..26294f9688 --- /dev/null +++ b/data/active/CMakeLists.txt @@ -0,0 +1,12 @@ +########### next target ############### +set( kwin_update_tabbox_qml_settings_SRCS update_tabbox_qml_settings_active.cpp ) + +kde4_add_executable( kwin_update_tabbox_qml_settings ${kwin_update_tabbox_qml_settings_SRCS} ) + +target_link_libraries( kwin_update_tabbox_qml_settings_active ${KDE4_KDECORE_LIBS} ) + +install( TARGETS kwin_update_tabbox_qml_settings_active DESTINATION ${LIB_INSTALL_DIR}/kconf_update_bin/ ) + +########### install files ############### + +install( FILES kwin_update_tabbox_qml_settings_active.upd DESTINATION ${KCONF_UPDATE_INSTALL_DIR} ) diff --git a/data/active/kwin_update_tabbox_qml_settings_active.upd b/data/active/kwin_update_tabbox_qml_settings_active.upd new file mode 100644 index 0000000000..9467efc104 --- /dev/null +++ b/data/active/kwin_update_tabbox_qml_settings_active.upd @@ -0,0 +1,2 @@ +Id=Kwin-4.8 +Script=kwin_update_tabbox_qml_settings_active diff --git a/data/active/update_tabbox_qml_settings_active.cpp b/data/active/update_tabbox_qml_settings_active.cpp new file mode 100644 index 0000000000..36c2ffde67 --- /dev/null +++ b/data/active/update_tabbox_qml_settings_active.cpp @@ -0,0 +1,52 @@ +/******************************************************************** +KWin - the KDE window manager +This file is part of the KDE project. + +Copyright (C) 2012 Lamarque V. Souza + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*********************************************************************/ + +#include +#include +#include +#include +#include +#include +#include + +void updateTabBoxConfig(KConfigGroup &tabbox, bool migrate) +{ + if (migrate) { + tabbox.writeEntry("LayoutName", "window_strip"); + } + tabbox.sync(); +} + +int main( int argc, char* argv[] ) +{ + KAboutData about( "kwin_update_tabbox_qml_settings_active", "kwin", KLocalizedString(), 0 ); + KCmdLineArgs::init( argc, argv, &about ); + KComponentData inst( &about ); + Q_UNUSED( KGlobal::locale() ); // jump-start locales to get to translated descriptions + KConfig config("kwinrc"); + KConfigGroup tabbox = config.group("TabBox"); + const bool tabboxSwitchLayout = tabbox.readEntry("LayoutName", "") != QLatin1String("window_strip"); + updateTabBoxConfig(tabbox, tabboxSwitchLayout); + config.sync(); + // Send signal to all kwin instances + QDBusMessage message = + QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig"); + QDBusConnection::sessionBus().send(message); +}