not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / krunner / krunnerdialog.h
blob3a0da777f447fe249919a3707693ac70149ed763
1 /*
2 * Copyright (C) 2006 Aaron Seigo <aseigo@kde.org>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Library General Public License version 2 as
6 * published by the Free Software Foundation
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details
13 * You should have received a copy of the GNU Library General Public
14 * License along with this program; if not, write to the
15 * Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 #ifndef KRUNNERDIALOG_H
20 #define KRUNNERDIALOG_H
22 #include <KDialog>
25 namespace Plasma
27 class RunnerManager;
28 class FrameSvg;
29 class Svg;
32 class KRunnerConfigDialog;
34 class KRunnerDialog : public KDialog
36 Q_OBJECT
38 public:
39 explicit KRunnerDialog(Plasma::RunnerManager *manager, QWidget *parent = 0,
40 Qt::WindowFlags f = Qt::Dialog | Qt::FramelessWindowHint);
41 virtual ~KRunnerDialog();
43 public Q_SLOTS:
44 virtual void display(const QString& term = QString()) = 0;
45 virtual void clearHistory() = 0;
47 void switchUser();
49 protected:
50 void paintEvent(QPaintEvent *event);
51 void resizeEvent(QResizeEvent *event);
52 void mousePressEvent(QMouseEvent *event);
53 bool event(QEvent *event);
55 virtual void setStaticQueryMode(bool staticQuery);
57 protected Q_SLOTS:
58 void showConfigDialog();
60 private Q_SLOTS:
61 /**
62 * React to theme changes
64 void themeUpdated();
66 /**
67 * React to configuration changes
69 void configCompleted();
71 protected:
72 Plasma::Svg *m_iconSvg;
73 Plasma::RunnerManager *m_runnerManager;
75 private:
76 void paintBackground(QPainter* painter, const QRect &exposedRect);
78 KRunnerConfigDialog *m_configDialog;
79 Plasma::FrameSvg *m_background;
80 QPixmap *m_cachedBackground;
83 #endif