summaryrefslogtreecommitdiffstats
path: root/src/kbfxbutton.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-17 00:43:50 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-17 00:43:50 +0000
commitceea23677c61f20759ae986bd77b0d5c4d673edb (patch)
tree3fcec1702eaf9c14d1dd736e594f5df08dab4001 /src/kbfxbutton.h
downloadkbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.tar.gz
kbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.zip
Added old KDE3 version of kbfx
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kbfx@1091549 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/kbfxbutton.h')
-rw-r--r--src/kbfxbutton.h113
1 files changed, 113 insertions, 0 deletions
diff --git a/src/kbfxbutton.h b/src/kbfxbutton.h
new file mode 100644
index 0000000..d4ece12
--- /dev/null
+++ b/src/kbfxbutton.h
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2006
+ * Siraj Razick <[email protected]>
+ * PhobosK <[email protected]>
+ * see Also AUTHORS
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License version 2 as
+ * published by the Free Software Foundation
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef KBFX_BUTTON_H
+#define KBFX_BUTTON_H
+
+#include <qdragobject.h>
+#include <qimage.h>
+#include <qlabel.h>
+#include <qpainter.h>
+#include <qpixmap.h>
+#include <qtimer.h>
+
+#include <dcopclient.h>
+#include <dcopref.h>
+#include <kdebug.h>
+#include <kimageeffect.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <kpopupmenu.h>
+#include <krun.h>
+
+#include <kbfxconfig.h>
+#include <kbfxplasmapixmapprovider.h>
+
+
+class QPixmap;
+class QLabel;
+
+class KbfxButton:public QLabel
+{
+ Q_OBJECT
+
+ public:
+ KbfxButton ( QWidget * parent, const char * name = 0 );
+ ~KbfxButton();
+ void kbfx_vista_button_setFx ( bool choice );
+ virtual void paintEvent ( QPaintEvent *pe );
+ virtual void enterEvent ( QEvent * e ) ;
+ virtual void leaveEvent ( QEvent * e );
+ virtual void mousePressEvent ( QMouseEvent * e );
+ virtual void dropEvent ( QDropEvent *e );
+ virtual void dragEnterEvent ( QDragEnterEvent *e );
+ static bool m_sizeHeight;
+ static int m_size;
+ QCString findPanel();
+ void readjust( bool );
+
+ public slots:
+ void loadSkins();
+ void toggle();
+ void toggleKMenu();
+ void fade();
+ void reloadConfig();
+ void openKmenuEdit();
+ void selfDeleter();
+ void openConfigDialog();
+
+ signals:
+ void pressed();
+ void hideMenu();
+ void leave ();
+ void clicked ();
+ void showToolTip ();
+
+ protected:
+ QPixmap m_over_skin;
+ QPixmap m_pressed_skin;
+ QPixmap m_release_skin;
+ QPixmap m_normal_skin;
+ QPixmap m_current_skin;
+
+// mng support ???
+ QPixmap * m_buffer;
+ QTimer * m_anime_timer;
+ QMovie * m_normal_anime;
+ QMovie * m_pressed_anime;
+ QMovie * m_hover_anime;
+ QMovie * m_current_anime;
+ QString m_normal_path;
+ QString m_over_path;
+ QString m_pressed_path;
+ bool m_anime_on;
+ bool m_kicker_auto_adjust;
+ DCOPClient * m_dcopClient;
+
+ /* state of the button */
+ bool m_toggle;
+ QTimer * fade_timer;
+ float m_opacity;
+ QPixmap m_fadePix;
+ int m_fadeTime;
+};
+
+#endif