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
path: root/src
diff options
context:
space:
mode:
authorFelix Geyer <debfx@fobos.de>2010-09-19 18:59:32 +0400
committerFelix Geyer <debfx@fobos.de>2010-09-19 18:59:32 +0400
commit1ee0c804be0637c06b739dadc402c1d8d4f6e0e6 (patch)
tree8f804ac3fd40547cce6c9f594e547c988d07e3d7 /src
parenta49cf184ea5e2772172a464a6c81a6229d840d6a (diff)
Add MainWindow.
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt7
-rw-r--r--src/gui/MainWindow.cpp34
-rw-r--r--src/gui/MainWindow.h34
-rw-r--r--src/gui/MainWindow.ui65
-rw-r--r--src/main.cpp7
5 files changed, 144 insertions, 3 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 5fa79d081..c2964c406 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -37,6 +37,7 @@ set(keepassx_SOURCES
gui/EntryView.cpp
gui/GroupModel.cpp
gui/GroupView.cpp
+ gui/MainWindow.cpp
keys/CompositeKey.cpp
keys/PasswordKey.cpp
streams/HashedBlockStream.cpp
@@ -44,6 +45,12 @@ set(keepassx_SOURCES
streams/SymmetricCipherStream.cpp
)
+set(keepassx_FORMS
+ gui/MainWindow.ui
+)
+
+qt4_wrap_ui(keepassx_SOURCES ${keepassx_FORMS})
+
automoc4_add_library( keepassx_core STATIC ${keepassx_SOURCES} )
automoc4_add_executable( ${PROGNAME} WIN32 MACOSX_BUNDLE main.cpp )
diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp
new file mode 100644
index 000000000..087123a42
--- /dev/null
+++ b/src/gui/MainWindow.cpp
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2010 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/>.
+ */
+
+#include "MainWindow.h"
+
+#include "DatabaseWidget.h"
+#include "core/Database.h"
+#include "core/Metadata.h"
+
+MainWindow::MainWindow()
+{
+ setupUi(this);
+ connect(actionQuit, SIGNAL(triggered()), SLOT(close()));
+}
+
+void MainWindow::addDatabase(Database* db)
+{
+ QWidget* databaseWidget = new DatabaseWidget(db, tabWidget);
+ tabWidget->addTab(databaseWidget, db->metadata()->name());
+}
diff --git a/src/gui/MainWindow.h b/src/gui/MainWindow.h
new file mode 100644
index 000000000..4d57ba7ae
--- /dev/null
+++ b/src/gui/MainWindow.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2010 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_MAINWINDOW_H
+#define KEEPASSX_MAINWINDOW_H
+
+#include "ui_MainWindow.h"
+
+class Database;
+
+class MainWindow : public QMainWindow, private Ui::MainWindow
+{
+ Q_OBJECT
+
+public:
+ MainWindow();
+ void addDatabase(Database* db);
+};
+
+#endif // KEEPASSX_MAINWINDOW_H
diff --git a/src/gui/MainWindow.ui b/src/gui/MainWindow.ui
new file mode 100644
index 000000000..0919ee58f
--- /dev/null
+++ b/src/gui/MainWindow.ui
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>600</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>KeePassX</string>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>-1</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menubar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <widget class="QMenu" name="menuFile">
+ <property name="title">
+ <string>File</string>
+ </property>
+ <addaction name="actionQuit"/>
+ </widget>
+ <widget class="QMenu" name="menuHelp">
+ <property name="title">
+ <string>Help</string>
+ </property>
+ <addaction name="actionAbout"/>
+ </widget>
+ <addaction name="menuFile"/>
+ <addaction name="menuHelp"/>
+ </widget>
+ <widget class="QStatusBar" name="statusbar"/>
+ <action name="actionQuit">
+ <property name="text">
+ <string>Quit</string>
+ </property>
+ </action>
+ <action name="actionAbout">
+ <property name="text">
+ <string>About</string>
+ </property>
+ </action>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/main.cpp b/src/main.cpp
index 9a8d161f5..d659cfed0 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -22,7 +22,7 @@
#include "crypto/Crypto.h"
#include "format/KeePass2Reader.h"
#include "format/KeePass2XmlReader.h"
-#include "gui/DatabaseWidget.h"
+#include "gui/MainWindow.h"
#include "keys/CompositeKey.h"
#include "keys/PasswordKey.h"
@@ -45,8 +45,9 @@ int main(int argc, char **argv)
//KeePass2XmlReader* reader = new KeePass2XmlReader();
//Database* db = reader->readDatabase(QString(KEEPASSX_TEST_DIR).append("/NewDatabase.xml"));
- DatabaseWidget dbWidget(db);
- dbWidget.show();
+ MainWindow mainWindow;
+ mainWindow.show();
+ mainWindow.addDatabase(db);
return app.exec();
}