/*************************************************************************** * Copyright (C) by * * - 2005: Christian Leh * * * * 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 #include #include #include #include #include "scaler.h" #include "cache.h" #include "effectwidget.h" typedef TQPtrList EffectWidgetList; typedef TQValueList CoordsList; typedef TQValueList ColorList; typedef TQValueList FontList; typedef TQPtrList 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 << "exec"; // 2 exec l << "key_bindings"; // 3 key_bindings l << "window_list"; // 4 window_list l << "desktop"; // 5 desktop l << "style"; // 6 style l << "kcmsystem"; // 7 kcmsystem 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