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.
ksplash-engine-moodin/src/thememoodin.h

131 lines
3.2 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 << "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 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