/******************************************************************** KWin - the KDE window manager This file is part of the KDE project. Copyright (C) 2012 Martin Gräßlin 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 "update_kwin_49.h" #include void migratePresentWindowsTabBox(KConfig &config) { KConfigGroup plugins = config.group("Plugins"); const bool presentWindowsEnabled = plugins.readEntry("kwin4_effect_presentwindowsEnabled", true); if (!presentWindowsEnabled) { // nothing to migrate return; } KConfigGroup presentWindows = config.group("Effect-PresentWindows"); const bool presentWindowsPrimary = presentWindows.readEntry("TabBox", false); const bool presentWindowsAlternative = presentWindows.readEntry("TabBoxAlternative", false); if (presentWindowsPrimary) { KConfigGroup tabbox = config.group("TabBox"); tabbox.writeEntry("LayoutName", "present_windows"); tabbox.sync(); } if (presentWindowsAlternative) { KConfigGroup tabbox = config.group("TabBoxAlternative"); tabbox.writeEntry("LayoutName", "present_windows"); tabbox.sync(); } presentWindows.deleteEntry("TabBox"); presentWindows.deleteEntry("TabBoxAlternative"); presentWindows.sync(); } void migrateDesktopChangeOSD(KConfig &config) { if (!config.hasGroup("PopupInfo")) { return; } KConfigGroup popupInfo = config.group("PopupInfo"); const bool shown = popupInfo.readEntry("ShowPopup", false); const bool textOnly = popupInfo.readEntry("TextOnly", false); const int delayTime = popupInfo.readEntry("PopupHideDelay", 1000); KConfigGroup plugins = config.group("Plugins"); if (shown && !plugins.hasKey("desktopchangeosdEnabled")) { plugins.writeEntry("desktopchangeosdEnabled", true); plugins.sync(); } KConfigGroup osd = config.group("Script-desktopchangeosd"); if (popupInfo.hasKey("TextOnly") && !osd.hasKey("TextOnly")) { osd.writeEntry("TextOnly", textOnly); } if (popupInfo.hasKey("PopupHideDelay") && !osd.hasKey("PopupHideDelay")) { osd.writeEntry("PopupHideDelay", delayTime); } osd.sync(); config.deleteGroup("PopupInfo"); } void migrateTabBoxConfig(KConfigGroup tabbox) { if (tabbox.hasKey("ListMode") && !tabbox.hasKey("DesktopMode")) { const int oldValue = tabbox.readEntry("ListMode", 0); switch (oldValue) { case 0: // Current Desktop Client List case 2: // Current Desktop Application List tabbox.writeEntry("DesktopMode", 1); break; case 1: // All Desktops Client List case 3: // All Desktops Application List tabbox.writeEntry("DesktopMode", 0); break; } } tabbox.deleteEntry("ListMode"); if (tabbox.hasKey("ShowDesktop") && !tabbox.hasKey("ShowDesktopMode")) { const bool showDesktop = tabbox.readEntry("ShowDesktop", false); tabbox.writeEntry("ShowDesktopMode", showDesktop ? 1 : 0); } tabbox.deleteEntry("ShowDesktop"); tabbox.sync(); }