Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/DatabaseTabWidget.h')
-rw-r--r--src/gui/DatabaseTabWidget.h90
1 files changed, 90 insertions, 0 deletions
diff --git a/src/gui/DatabaseTabWidget.h b/src/gui/DatabaseTabWidget.h
new file mode 100644
index 000000000..2c42be2b3
--- /dev/null
+++ b/src/gui/DatabaseTabWidget.h
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2011 Felix Geyer <debfx@fobos.de>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 or (at your option)
+ * version 3 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef KEEPASSX_DATABASEMANAGER_H
+#define KEEPASSX_DATABASEMANAGER_H
+
+#include <QtCore/QHash>
+#include <QtCore/QObject>
+#include <QtGui/QTabWidget>
+
+#include "format/KeePass2Reader.h"
+#include "format/KeePass2Writer.h"
+
+class DatabaseWidget;
+class KeyOpenDialog;
+class QFile;
+class QTabWidget;
+
+struct DatabaseManagerStruct
+{
+ DatabaseManagerStruct();
+
+ QFile* file;
+ DatabaseWidget* dbWidget;
+ QString fileName;
+ bool modified;
+ bool readOnly;
+};
+
+class DatabaseTabWidget : public QTabWidget
+{
+ Q_OBJECT
+
+public:
+ DatabaseTabWidget(QWidget* parent);
+ void openDatabase(const QString& fileName);
+ void saveDatabase(Database* db);
+ void saveDatabaseAs(Database* db);
+ void closeDatabase(Database* db);
+ DatabaseWidget* currentDatabaseWidget();
+
+public Q_SLOTS:
+ void newDatabase();
+ void openDatabase();
+ void saveDatabase(int index = -1);
+ void saveDatabaseAs(int index = -1);
+ void closeDatabase(int index = -1);
+ void createEntry();
+ void editEntry();
+ void createGroup();
+ void editGroup();
+
+private Q_SLOTS:
+ void updateTabName(Database* db);
+ void openDatabaseDialog();
+ void openDatabaseRead();
+ void openDatabaseCleanup();
+ void emitEntrySelectionChanged();
+
+Q_SIGNALS:
+ void entrySelectionChanged(bool singleEntrySelected);
+
+private:
+ int databaseIndex(Database* db);
+ Database* indexDatabase(int index);
+ void insertDatabase(Database* db, const DatabaseManagerStruct& dbStruct);
+
+ QWidget* m_window;
+ KeePass2Reader m_reader;
+ KeePass2Writer m_writer;
+ QHash<Database*, DatabaseManagerStruct> m_dbList;
+ DatabaseManagerStruct m_curDbStruct;
+ KeyOpenDialog* m_curKeyDialog;
+};
+
+#endif // KEEPASSX_DATABASEMANAGER_H