diff options
Diffstat (limited to 'kpersonalizer/kstylepage.h')
-rw-r--r-- | kpersonalizer/kstylepage.h | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/kpersonalizer/kstylepage.h b/kpersonalizer/kstylepage.h new file mode 100644 index 000000000..f017f5b99 --- /dev/null +++ b/kpersonalizer/kstylepage.h @@ -0,0 +1,128 @@ +/*************************************************************************** + kstylepage.h - description + ------------------- + begin : Tue May 22 2001 + copyright : (C) 2001 by Ralf Nolden + email : [email protected] + ***************************************************************************/ + +/*************************************************************************** + * * + * 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 KSTYLEPAGE_H +#define KSTYLEPAGE_H + +#include <qcolor.h> +#include "kstylepagedlg.h" + +/**Abstract class for the style page + *@author Ralf Nolden + */ +class QListViewItem; + +class KStylePage : public KStylePageDlg { + Q_OBJECT + +public: + KStylePage(QWidget *parent=0, const char *name=0); + ~KStylePage(); + void save(bool curSettings=true); + /** resets to KDE style as default */ + void setDefaults(); + /** set the preview-widgets' style to the currently selected */ + void switchPrevStyle(); + +private: + QString origStyle; + QString origKWinStyle; + QString origIcons; + QString defaultKWinStyle; + QString currentStyle; + KConfig* ckwin; + struct colorSet { + QString colorFile, bgMode; + int contrast; + QColor usrCol1, usrCol2; + QColor foreground; + QColor background; + QColor windowForeground; + QColor windowBackground; + QColor selectForeground; + QColor selectBackground; + QColor buttonForeground; + QColor buttonBackground; + QColor linkColor; + QColor visitedLinkColor; + QColor activeForeground; + QColor inactiveForeground; + QColor activeBackground; + QColor inactiveBackground; + QColor activeBlend; + QColor inactiveBlend; + QColor activeTitleBtnBg; + QColor inactiveTitleBtnBg; + QColor alternateBackground; + } usrColors, currentColors; + // first, the KDE 2 default color values + QColor widget; + QColor kde34Blue; + QColor inactiveBackground; + QColor activeBackground; + QColor button; + QColor link; + QColor visitedLink; + QColor activeBlend; + QColor activeTitleBtnBg; + QColor inactiveTitleBtnBg; + QColor inactiveForeground; + QColor alternateBackground; + + QListViewItem * kde; + QListViewItem * classic; + QListViewItem * keramik; + QListViewItem * cde; + QListViewItem * win; + QListViewItem * platinum; + + QStyle *appliedStyle; + + // widget-style existence + bool kde_hc_exist, kde_def_exist, kde_keramik_exist, kde_light_exist, + cde_exist, win_exist, platinum_exist, kde_plastik_exist; + + // kwin-style-existence + bool kwin_keramik_exist, kwin_default_exist, kwin_system_exist, + kwin_win_exist, kwin_cde_exist, kwin_quartz_exist, kwin_plastik_exist; + + // icon-theme-existence + bool icon_crystalsvg_exist, icon_kdeclassic_exist, icon_Locolor_exist; + +public slots: // Public slots + /** to be connected to the OS page. Catches either KDE, CDE, win or mac and pre-sets the style. */ + void presetStyle(const QString& style); + +private: + void saveColors(bool curSettings=true); + void saveStyle(bool curSettings=true); + void saveKWin(bool curSettings=true); + void saveIcons(bool curSettings=true); + void getAvailability(); + void getUserDefaults(); + void initColors(); + void liveUpdate(); + void getColors(colorSet *set, bool colorfile ); + void setStyleRecursive(QWidget* w, QPalette &, QStyle* s); + void changeCurrentStyle(); + QPalette createPalette(); + +private slots: + void slotCurrentChanged(); +}; + +#endif |