Emitting a dataChanged signal from setData after succesful update and connecting...
[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         void onDataChanged();
42
43 protected:
44     EmuFrontQueryModel *model;
45     QList<int> hiddenColumns;
46     QDialogButtonBox *buttonBox;
47     QTableView *objectList;
48     void postInit();
49     virtual void connectSignals();
50
51 private:
52     QPushButton *editButton;
53     QPushButton *addButton;
54     QPushButton *deleteButton;
55     void layout();
56     virtual void setHiddenColumns();
57     void hideColumns();
58     void setButtonsEnabled(bool);
59     bool confirm(QString &msg);
60
61 };
62
63 #endif // EMUFRONTDATADIALOG_H