Fixed header includes and forward declarations
[skype-call-recorder.git] / gui.h
blobfb3e8aab35d89ad8cca401d48a4f69bd9b731029
1 /*
2 Skype Call Recorder
3 Copyright (C) 2008 jlh (jlh at gmx dot ch)
5 This program is free software; you can redistribute it and/or modify it
6 under the terms of the GNU General Public License as published by the
7 Free Software Foundation; either version 2 of the License, version 3 of
8 the License, or (at your option) any later version.
10 This program is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 General Public License for more details.
15 You should have received a copy of the GNU General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 The GNU General Public License version 2 is included with the source of
20 this program under the file name COPYING. You can also get a copy on
21 http://www.fsf.org/
24 #ifndef GUI_H
25 #define GUI_H
27 #include <QDialog>
28 #include <QList>
29 #include <QStyle>
30 #include <QString>
32 #include "common.h"
34 class QWidget;
35 class QCheckBox;
36 class QHBoxLayout;
37 class QVBoxLayout;
39 // base dialog with a pixmap, a vbox and an hbox
41 class IconDialogBase : public QDialog {
42 protected:
43 IconDialogBase(const QString &, QStyle::StandardPixmap);
45 protected:
46 QHBoxLayout *hbox;
47 QVBoxLayout *vbox;
49 DISABLE_COPY_AND_ASSIGNMENT(IconDialogBase);
52 // recording confirmation dialog for calls
54 class RecordConfirmationDialog : public IconDialogBase {
55 Q_OBJECT
56 public:
57 RecordConfirmationDialog(const QString &, const QString &);
59 signals:
60 void yes();
61 void no();
63 private slots:
64 void yesClicked();
65 void noClicked();
66 void enableWidgets();
68 private:
69 QString skypeName;
70 QList<QWidget *> widgets;
71 QCheckBox *remember;
73 DISABLE_COPY_AND_ASSIGNMENT(RecordConfirmationDialog);
76 // information dialog about legality of recording calls
78 class LegalInformationDialog: public IconDialogBase {
79 public:
80 LegalInformationDialog();
82 DISABLE_COPY_AND_ASSIGNMENT(LegalInformationDialog);
85 // about dialog
87 class AboutDialog : public QDialog {
88 public:
89 AboutDialog();
91 DISABLE_COPY_AND_ASSIGNMENT(AboutDialog);
94 // first run dialog
96 class FirstRunDialog : public IconDialogBase {
97 public:
98 FirstRunDialog();
100 DISABLE_COPY_AND_ASSIGNMENT(FirstRunDialog);
103 #endif