not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / plasma / shells / desktop / toolbutton.h
blobd58a5bd177a90f98fbceb7482c85f3e4b9ed3b6d
1 /*
2 * Copyright 2008 Marco Martin <notmart@gmail.com>
3 * Copyright 2008 Aaron Seigo <aseigo@kde.org>
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU Library General Public License as
7 * published by the Free Software Foundation; either version 2, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details
15 * You should have received a copy of the GNU Library General Public
16 * License along with this program; if not, write to the
17 * Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 #ifndef TOOLBUTTON_H
22 #define TOOLBUTTON_H
24 #include <QToolButton>
26 namespace Plasma
28 class FrameSvg;
31 class ToolButton: public QToolButton
33 Q_OBJECT
35 public:
36 ToolButton(QWidget *parent);
37 void setAction(QAction *action);
39 protected:
40 void paintEvent(QPaintEvent *event);
41 void enterEvent(QEvent *event);
42 void leaveEvent(QEvent *event);
44 protected slots:
45 void actionDestroyed(QObject *);
46 void syncToAction();
47 void animationUpdate(qreal progress);
49 private:
50 QAction *m_action;
51 Plasma::FrameSvg *m_background;
52 int m_animationId;
53 qreal m_alpha;
54 bool m_fadeIn;
57 #endif