You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebase/kcontrol/icons/icons.h

162 lines
3.7 KiB

/* vi: ts=8 sts=4 sw=4
*
* This file is part of the KDE project, module kcmdisplay.
* Copyright (C) 2000 Geert Jansen <jansen@kde.org>
* with minor additions and based on ideas from
* Torsten Rahn <torsten@kde.org>
*
* You can Freely distribute this program under the GNU General Public
* License. See the file "COPYING" for the exact licensing terms.
*/
#ifndef __icons_h__
#define __icons_h__
#include <tqcolor.h>
#include <tqimage.h>
#include <tqvaluelist.h>
#include <tdecmodule.h>
#include <kdialogbase.h>
#include <ksimpleconfig.h>
class TQCheckBox;
class TQColor;
class TQComboBox;
class TQGridLayout;
class TQGroupBox;
class TQIconView;
class TQLabel;
class TQListBox;
class TQListView;
class TQPushButton;
class TQSlider;
class TQTabWidget;
class TQWidget;
class KColorButton;
class TDEConfig;
class TDEIconEffect;
class TDEIconLoader;
class TDEIconTheme;
struct Effect
{
int type;
float value;
TQColor color;
TQColor color2;
bool transparant;
};
/**
* The General Icons tab in kcontrol.
*/
class TDEIconConfig: public TDECModule
{
Q_OBJECT
public:
TDEIconConfig(TQWidget *parent, const char *name=0);
~TDEIconConfig();
virtual void load();
virtual void load( bool useDefaults );
virtual void save();
virtual void defaults();
void preview();
private slots:
void slotEffectSetup0() { EffectSetup(0); }
void slotEffectSetup1() { EffectSetup(1); }
void slotEffectSetup2() { EffectSetup(2); }
void slotUsage(int index);
void slotSize(int index);
void slotDPCheck(bool check);
void slotAnimatedCheck(bool check);
void slotRoundedCheck(bool check);
void slotActiveEffect(bool check);
void QLSizeLockedChanged(bool checked);
private:
void preview(int i);
void EffectSetup(int state);
TQPushButton *addPreviewIcon(int i, const TQString &str, TQWidget *parent, TQGridLayout *lay);
void init();
void initDefaults();
void read();
void apply();
bool mbDP[6], mbChanged[6], mbAnimated[6];
int mSizes[6];
TQValueList<int> mAvSizes[6];
Effect mEffects[6][3];
Effect mDefaultEffect[3];
int mUsage;
TQString mTheme, mExample;
TQStringList mGroups, mStates;
int mSysTraySize;
int mQuickLaunchSize;
TDEIconEffect *mpEffect;
TDEIconTheme *mpTheme;
TDEIconLoader *mpLoader;
TDEConfig *mpConfig;
KSimpleConfig *mpSystrayConfig;
KSimpleConfig *mpKickerConfig;
typedef TQLabel *QLabelPtr;
QLabelPtr mpPreview[3];
TQListBox *mpUsageList;
TQComboBox *mpSizeBox;
TQCheckBox *mpDPCheck, *wordWrapCB, *underlineCB, *mpAnimatedCheck, *mpRoundedCheck, *mpActiveEffectCheck;
TQTabWidget *m_pTabWidget;
TQWidget *m_pTab1;
TQPushButton *mPreviewButton1, *mPreviewButton2, *mPreviewButton3;
};
class TDEIconEffectSetupDialog: public KDialogBase
{
Q_OBJECT
public:
TDEIconEffectSetupDialog(const Effect &, const Effect &,
const TQString &, const TQImage &,
TQWidget *parent=0L, char *name=0L);
~TDEIconEffectSetupDialog();
Effect effect() { return mEffect; }
protected:
void preview();
void init();
protected slots:
void slotEffectValue(int value);
void slotEffectColor(const TQColor &col);
void slotEffectColor2(const TQColor &col);
void slotEffectType(int type);
void slotSTCheck(bool b);
void slotDefault();
private:
TDEIconEffect *mpEffect;
TQListBox *mpEffectBox;
TQCheckBox *mpSTCheck;
TQSlider *mpEffectSlider;
KColorButton *mpEColButton;
KColorButton *mpECol2Button;
Effect mEffect;
Effect mDefaultEffect;
TQImage mExample;
TQGroupBox *mpEffectGroup;
TQLabel *mpPreview, *mpEffectLabel, *mpEffectColor, *mpEffectColor2;
};
#endif