From 2bda8f7717adf28da4af0d34fb82f63d2868c31d Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeutils@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- superkaramba/src/karambasessionmanaged.cpp | 63 ++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 superkaramba/src/karambasessionmanaged.cpp (limited to 'superkaramba/src/karambasessionmanaged.cpp') diff --git a/superkaramba/src/karambasessionmanaged.cpp b/superkaramba/src/karambasessionmanaged.cpp new file mode 100644 index 0000000..eccff7e --- /dev/null +++ b/superkaramba/src/karambasessionmanaged.cpp @@ -0,0 +1,63 @@ +/**************************************************************************** +* karambasessionmanaged.cpp - Karamba session management +* +* Copyright (C) 2004 - +* +* This file is part of SuperKaramba. +* +* SuperKaramba 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. +* +* SuperKaramba 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 SuperKaramba; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +****************************************************************************/ + +#include +#include +#include "karambasessionmanaged.h" +#include "karamba.h" +#include "qwidgetlist.h" + +bool KarambaSessionManaged::saveState(QSessionManager&) +{ + KConfig* config = kapp->sessionConfig(); + + config->setGroup("General Options"); + + QString openThemes=""; + + QWidgetList *list = QApplication::allWidgets(); + QWidgetListIt it( *list ); // iterate over the widgets + QWidget * w; + while ( (w=it.current()) != 0 ) // for each widget... + { + ++it; + if (QString(w->name()).startsWith("karamba")) + { + karamba* k = (karamba*) w; + if (k->isSubTheme()) + continue; + openThemes += QFileInfo(k->theme().file()).absFilePath(); + k->writeConfigData(); + openThemes += ";"; + } + } + delete list; // delete the list, not the widgets + + qDebug("Open themes %s", openThemes.ascii()); + config->writeEntry("OpenThemes", openThemes); + return true; +} + +bool KarambaSessionManaged::commitData(QSessionManager&) +{ + return true; +} -- cgit v1.2.3