00001 #ifndef ACCOUNTSTABLEDIALOG_H
00002 #define ACCOUNTSTABLEDIALOG_H
00003
00004 #include <QDomDocument>
00005 #include <QDomElement>
00006 #include <QMessageBox>
00007 class Settings;
00008 #include "ui_AccountsTableDialog.h"
00009 #include "../Models/accountstablemodel.h"
00010 #include "../Models/accountstablefiltermodel.h"
00011
00012 class AccountsTableDialog : public QDialog, private Ui::AccountsTableDialog
00013 {
00014 Q_OBJECT
00015
00016 public:
00017 AccountsTableDialog(const QString &path, Settings &settings, QWidget *parent = 0);
00018
00019 private:
00020 void createActions();
00021
00022 void newTableOfAccounts();
00023 void loadTableOfAccounts();
00024
00025 void initializeControlsAndSetupModel();
00026
00027 void addAccount();
00028 void editAccount();
00029
00030 void switchInputModeToAdding();
00031 void switchInputModeToEditing();
00032
00033 void clearControls();
00034
00035 AccountsTableModel *model;
00036 AccountsTableFilterModel *filterModel;
00037
00038 QAction *deleteAction;
00039 QAction *editAction;
00040
00041 Settings *settings;
00042 QString pathToTableOfAccounts;
00043
00044 bool editing;
00045
00046 private slots:
00047 void editEntry();
00048 void addEditAccount();
00049 void removeEntry();
00050 void saveTableOfAccounts();
00051 void close();
00052
00053 signals:
00054 void tableOfAccountsCreated(QString);
00055 };
00056
00057 #endif // ACCOUNTSTABLEDIALOG_H