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.
131 lines
3.3 KiB
131 lines
3.3 KiB
/*************************************************************************** |
|
* Copyright (C) by * |
|
* - 2005: Christian Leh <moodwrod@web.de> * |
|
* * |
|
* 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 THEMEMOODIN_H |
|
#define THEMEMOODIN_H |
|
|
|
#include <tqptrlist.h> |
|
|
|
#include <kdebug.h> |
|
#include <kpixmap.h> |
|
|
|
#include <themeengine.h> |
|
#include <objkstheme.h> |
|
|
|
#include "scaler.h" |
|
#include "cache.h" |
|
#include "effectwidget.h" |
|
|
|
typedef TQPtrList<EffectWidget> EffectWidgetList; |
|
typedef TQValueList<TQPoint> CoordsList; |
|
typedef TQValueList<TQColor> ColorList; |
|
typedef TQValueList<TQFont> FontList; |
|
typedef TQPtrList<TQImage> ImageList; |
|
|
|
class ThemeMoodin: public ThemeEngine |
|
{ |
|
Q_OBJECT |
|
|
|
|
|
public: |
|
ThemeMoodin(TQWidget *parent, const char *name, const TQStringList& flags); |
|
|
|
inline const TQString name() { return TQString("Moodin"); } |
|
inline const int version() { return 0x042; } |
|
|
|
static TQStringList names() |
|
{ |
|
TQStringList l; |
|
|
|
l << "Moodin"; |
|
|
|
return l; |
|
}; |
|
|
|
static TQStringList statusPixmaps() |
|
{ |
|
TQStringList l; |
|
|
|
l << "filetypes"; // 1 filetypes |
|
l << "application-x-executable"; // 2 application-x-executable |
|
l << "key_bindings"; // 3 key_bindings |
|
l << "window_list"; // 4 window_list |
|
l << "desktop"; // 5 desktop |
|
l << "style"; // 6 style |
|
l << "preferences-system"; // 7 preferences-system |
|
l << "go"; // 8 go |
|
|
|
return l; |
|
}; |
|
|
|
public slots: |
|
void slotSetText(const TQString& s); |
|
void slotSetPixmap(const TQString&); |
|
|
|
private: |
|
bool mUseIconSet; |
|
bool mLabelShadow; |
|
bool mShowStatusText; |
|
bool mAppendX; |
|
bool mUsersBackground; |
|
bool mTranslate; |
|
bool mLineUpImages; |
|
bool mScaleIcons; |
|
bool mKubuntuStyle; |
|
int mAnimationLength; |
|
int mAnimationDelay; |
|
int mIconSetSize; |
|
int mCurrentStatusIndex; |
|
int mImageSpacer; |
|
int mLabelCount; |
|
float mBeginOpacity; |
|
|
|
TQString mCurrentAction; |
|
TQString mBackgroundImage; |
|
TQStringList mStatusIcons; |
|
TQStringList mStatusMessages; |
|
TQStringList mLabels; |
|
TQColor mStatusColor; |
|
TQColor mLabelShadowColor; |
|
TQFont mStatusFont; |
|
TQPoint mStatusCoords; |
|
TQPoint mLabelShadowOffset; |
|
TQWidget* mContainer; |
|
TQSize mBaseResolution; |
|
TQRect mSplashRect; |
|
|
|
KPixmap* mBG; |
|
|
|
Scaler* mScaler; |
|
Cache* mCache; |
|
|
|
EffectWidgetList mEffectWidgets; |
|
CoordsList mStatusIconCoords; |
|
CoordsList mStatusImageOffsets; |
|
CoordsList mLabelCoords; |
|
ColorList mLabelColors; |
|
FontList mLabelFonts; |
|
ImageList mImages; |
|
|
|
void init(); |
|
void initBackground(TQPainter* p); |
|
void initEffectWidgets(); |
|
void initLabels(TQPainter* p); |
|
|
|
void paintEvent(TQPaintEvent* pe); |
|
void readSettings(); |
|
void arrangeWidget(TQWidget* me, const int index); |
|
void updateStatus(); |
|
|
|
EffectWidget* createEffectWidget(TQWidget *parent, TQImage *image); |
|
}; |
|
|
|
#endif
|
|
|