b03b466e5a6b4ec9c3057dd5d0eedbe82e990218
[emufront] / src / views / emufronteditview.h
1 /*
2 ** EmuFront
3 ** Copyright 2010 Mikko Keinänen
4 **
5 ** This file is part of EmuFront.
6 **
7 **
8 ** EmuFront is free software: you can redistribute it and/or modify
9 ** it under the terms of the GNU General Public License version 2 as published by
10 ** the Free Software Foundation and appearing in the file gpl.txt included in the
11 ** packaging of this file.
12 **
13 ** EmuFront is distributed in the hope that it will be useful,
14 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 ** GNU General Public License for more details.
17 **
18 ** You should have received a copy of the GNU General Public License
19 ** along with EmuFront.  If not, see <http://www.gnu.org/licenses/>.
20 */
21 #ifndef EMUFRONTDATADIALOG_H
22 #define EMUFRONTDATADIALOG_H
23
24 #include "emufrontdialog.h"
25 #include "emufrontquerymodel.h"
26
27 class QDialogButtonBox;
28 class QTableView;
29
30 class EmuFrontEditView : public EmuFrontDialog
31 {
32     Q_OBJECT
33 public:
34     EmuFrontEditView(QWidget *parent = 0);
35
36 private slots:
37     void editButtonClicked();
38     void addButtonClicked();
39     void deleteButtonClicked();
40     void listObjectClicked(const QModelIndex &);
41
42 protected:
43     EmuFrontQueryModel *model;
44     QList<int> hiddenColumns;
45     QDialogButtonBox *buttonBox;
46     QTableView *objectList;
47     void postInit();
48     virtual void connectSignals();
49
50 private:
51     QPushButton *editButton;
52     QPushButton *addButton;
53     QPushButton *deleteButton;
54     void layout();
55     virtual void setHiddenColumns();
56     void hideColumns();
57     void setButtonsEnabled(bool);
58     bool confirm(QString &msg);
59
60 };
61
62 #endif // EMUFRONTDATADIALOG_H