summaryrefslogtreecommitdiffstats
path: root/kpersonalizer/kpersonalizer.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit4aed2c8219774f5d797760606b8489a92ddc5163 (patch)
tree3f8c130f7d269626bf6a9447407ef6c35954426a /kpersonalizer/kpersonalizer.h
downloadtdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz
tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip
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/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kpersonalizer/kpersonalizer.h')
-rw-r--r--kpersonalizer/kpersonalizer.h96
1 files changed, 96 insertions, 0 deletions
diff --git a/kpersonalizer/kpersonalizer.h b/kpersonalizer/kpersonalizer.h
new file mode 100644
index 000000000..00bd5ed03
--- /dev/null
+++ b/kpersonalizer/kpersonalizer.h
@@ -0,0 +1,96 @@
+/***************************************************************************
+ kpersonalizer.h - description
+ -------------------
+ begin : Die Mai 22 17:24:18 CEST 2001
+ copyright : (C) 2001 by Ralf Nolden
+ email : nolden@kde.org
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+#ifndef KPERSONALIZER_H
+#define KPERSONALIZER_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <kapplication.h>
+#include <kwizard.h>
+
+
+/** prototypes */
+class KLanguageCombo;
+class KLocale;
+class KCountryPage;
+class KOSPage;
+class KEyeCandyPage;
+class KStylePage;
+class KRefinePage;
+
+/** KPersonalizer is the base class of the project */
+class KPersonalizer : public KWizard {
+ Q_OBJECT
+public:
+ /** construtor */
+ KPersonalizer(QWidget* parent=0, const char *name=0);
+ /** destructor */
+ ~KPersonalizer();
+
+ virtual void next();
+ virtual void back();
+
+ /** this session is restarted, so we want to start with ospage */
+ void restarted();
+
+ /** KPersonalizer is running before KDE is started */
+ static void setBeforeSession();
+ static bool beforeSession() { return before_session; }
+
+public slots: // Public slots
+ /** calls all save functions after resetting all features/ OS/ theme selections to KDE default */
+ void setDefaults();
+ /** the cancel button is connected to the reject() slot of QDialog,
+ * so we have to reimplement this here to add a dialogbox to
+ * ask if we really want to quit the wizard.
+ */
+ void reject();
+ /** maybe call a dialog that the wizard has finished.
+ * Calls applySettings() to save the current selection.
+ */
+ void accept();
+ /** We need this to use it in a QTimer */
+ void slotNext();
+
+private:
+ void setPosition();
+ void delayedRestart();
+
+private:
+ KCountryPage* countrypage;
+ KOSPage* ospage;
+ KEyeCandyPage* eyecandy;
+ KStylePage* stylepage;
+ KRefinePage* refinepage;
+ KLocale* locale;
+ bool os_dirty, eye_dirty, style_dirty;
+ static bool before_session;
+
+protected slots: // Public slots
+ /** restart kpersonalizer to run it in new language */
+ void slotRestart();
+
+protected: // Protected methods
+ // the close button on the titlebar sets e->accept() which we donīt want.
+ virtual void closeEvent(QCloseEvent*);
+ bool askClose();
+};
+
+#endif