summaryrefslogtreecommitdiffstats
path: root/kwin/clients/kwmtheme/kwmthemeclient.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit4aed2c8219774f5d797760606b8489a92ddc5163 (patch)
tree3f8c130f7d269626bf6a9447407ef6c35954426a /kwin/clients/kwmtheme/kwmthemeclient.h
downloadtdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz
tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kwin/clients/kwmtheme/kwmthemeclient.h')
-rw-r--r--kwin/clients/kwmtheme/kwmthemeclient.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/kwin/clients/kwmtheme/kwmthemeclient.h b/kwin/clients/kwmtheme/kwmthemeclient.h
new file mode 100644
index 000000000..b1d623965
--- /dev/null
+++ b/kwin/clients/kwmtheme/kwmthemeclient.h
@@ -0,0 +1,74 @@
+#ifndef __KWMTHEMECLIENT_H
+#define __KWMTHEMECLIENT_H
+
+#include <qbutton.h>
+#include <qtoolbutton.h>
+#include <kpixmap.h>
+#include <kdecoration.h>
+#include <kdecorationfactory.h>
+
+class QLabel;
+class QSpacerItem;
+class QGridLayout;
+
+namespace KWMTheme {
+
+class MyButton : public QToolButton
+{
+public:
+ MyButton(QWidget *parent=0, const char *name=0)
+ : QToolButton(parent, name){setAutoRaise(true);setCursor( arrowCursor ); }
+protected:
+ void drawButtonLabel(QPainter *p);
+};
+
+class KWMThemeClient : public KDecoration
+{
+ Q_OBJECT
+public:
+ KWMThemeClient( KDecorationBridge* b, KDecorationFactory* f );
+ ~KWMThemeClient(){;}
+ void init();
+ void resize( const QSize& s );
+ QSize minimumSize() const;
+ void borders( int& left, int& right, int& top, int& bottom ) const;
+protected:
+ void doShape();
+ void drawTitle(QPainter &p);
+ void resizeEvent( QResizeEvent* );
+ void paintEvent( QPaintEvent* );
+ void showEvent( QShowEvent* );
+ void mouseDoubleClickEvent( QMouseEvent * );
+ bool eventFilter( QObject* o, QEvent* e );
+ void captionChange();
+ void desktopChange();
+ void maximizeChange();
+ void iconChange();
+ void activeChange();
+ void shadeChange() {};
+ Position mousePosition(const QPoint &) const;
+protected slots:
+ //void slotReset();
+ void menuButtonPressed();
+ void slotMaximize();
+private:
+ QPixmap buffer;
+ KPixmap *aGradient, *iGradient;
+ MyButton *maxBtn, *stickyBtn, *mnuBtn;
+ QSpacerItem *titlebar;
+ QGridLayout* layout;
+};
+
+class KWMThemeFactory : public KDecorationFactory
+{
+public:
+ KWMThemeFactory();
+ ~KWMThemeFactory();
+ KDecoration* createDecoration( KDecorationBridge* b );
+ bool reset( unsigned long mask );
+};
+
+}
+
+#endif
+