summaryrefslogtreecommitdiffstats
path: root/src/thememoodin.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-22 19:13:25 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-22 19:13:25 +0000
commit7d8a8bdafccd66e70f313ee233cff920eac9d830 (patch)
treec0877b2799255f52ea6bfdfb60e5eb2f60926b6b /src/thememoodin.h
downloadksplash-engine-moodin-7d8a8bdafccd66e70f313ee233cff920eac9d830.tar.gz
ksplash-engine-moodin-7d8a8bdafccd66e70f313ee233cff920eac9d830.zip
Added KDE3 moodin engine
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/ksplash-engine-moodin@1094437 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/thememoodin.h')
-rw-r--r--src/thememoodin.h129
1 files changed, 129 insertions, 0 deletions
diff --git a/src/thememoodin.h b/src/thememoodin.h
new file mode 100644
index 0000000..39f4798
--- /dev/null
+++ b/src/thememoodin.h
@@ -0,0 +1,129 @@
+/***************************************************************************
+ * 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 <qptrlist.h>
+
+#include <kdebug.h>
+#include <kpixmap.h>
+
+#include <themeengine.h>
+#include <objkstheme.h>
+
+#include "scaler.h"
+#include "cache.h"
+#include "effectwidget.h"
+
+typedef QPtrList<EffectWidget> EffectWidgetList;
+typedef QValueList<QPoint> CoordsList;
+typedef QValueList<QColor> ColorList;
+typedef QValueList<QFont> FontList;
+typedef QPtrList<QImage> ImageList;
+
+class ThemeMoodin: public ThemeEngine
+{
+ Q_OBJECT
+
+public:
+ ThemeMoodin(QWidget *parent, const char *name, const QStringList& flags);
+
+ inline const QString name() { return QString("Moodin"); }
+ inline const int version() { return 0x042; }
+
+ static QStringList names()
+ {
+ QStringList l;
+
+ l << "Moodin";
+
+ return l;
+ };
+
+ static QStringList statusPixmaps()
+ {
+ QStringList 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 QString& s);
+ void slotSetPixmap(const QString&);
+
+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;
+
+ QString mCurrentAction;
+ QString mBackgroundImage;
+ QStringList mStatusIcons;
+ QStringList mStatusMessages;
+ QStringList mLabels;
+ QColor mStatusColor;
+ QColor mLabelShadowColor;
+ QFont mStatusFont;
+ QPoint mStatusCoords;
+ QPoint mLabelShadowOffset;
+ QWidget* mContainer;
+ QSize mBaseResolution;
+ QRect 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(QPainter* p);
+ void initEffectWidgets();
+ void initLabels(QPainter* p);
+
+ void paintEvent(QPaintEvent* pe);
+ void readSettings();
+ void arrangeWidget(QWidget* me, const int index);
+ void updateStatus();
+
+ EffectWidget* createEffectWidget(QWidget *parent, QImage *image);
+};
+
+#endif