Add kwin/data/active (kconf_update configuration for Plasma Active).

This commit is contained in:
Lamarque V. Souza 2012-04-18 09:00:24 -03:00
parent 365b86f0ce
commit bb4616497a
4 changed files with 71 additions and 0 deletions

5
data/CMakeLists.txt Normal file
View file

@ -0,0 +1,5 @@
if(KWIN_PLASMA_ACTIVE)
add_subdirectory(active)
else(KWIN_PLASMA_ACTIVE)
add_subdirectory(desktop)
endif(KWIN_PLASMA_ACTIVE)

View file

@ -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} )

View file

@ -0,0 +1,2 @@
Id=Kwin-4.8
Script=kwin_update_tabbox_qml_settings_active

View file

@ -0,0 +1,52 @@
/********************************************************************
KWin - the KDE window manager
This file is part of the KDE project.
Copyright (C) 2012 Lamarque V. Souza <Lamarque.Souza.ext@basyskom.com>
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 <http://www.gnu.org/licenses/>.
*********************************************************************/
#include <kconfig.h>
#include <kconfiggroup.h>
#include <kcomponentdata.h>
#include <kaboutdata.h>
#include <kcmdlineargs.h>
#include <kglobal.h>
#include <QtDBus/QtDBus>
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<QString>("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);
}