Add MainWindow.

This commit is contained in:
Felix Geyer 2010-09-19 16:59:32 +02:00
parent a49cf184ea
commit 1ee0c804be
5 changed files with 144 additions and 3 deletions

View File

@ -37,6 +37,7 @@ set(keepassx_SOURCES
gui/EntryView.cpp gui/EntryView.cpp
gui/GroupModel.cpp gui/GroupModel.cpp
gui/GroupView.cpp gui/GroupView.cpp
gui/MainWindow.cpp
keys/CompositeKey.cpp keys/CompositeKey.cpp
keys/PasswordKey.cpp keys/PasswordKey.cpp
streams/HashedBlockStream.cpp streams/HashedBlockStream.cpp
@ -44,6 +45,12 @@ set(keepassx_SOURCES
streams/SymmetricCipherStream.cpp 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_library( keepassx_core STATIC ${keepassx_SOURCES} )
automoc4_add_executable( ${PROGNAME} WIN32 MACOSX_BUNDLE main.cpp ) automoc4_add_executable( ${PROGNAME} WIN32 MACOSX_BUNDLE main.cpp )

34
src/gui/MainWindow.cpp Normal file
View File

@ -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());
}

34
src/gui/MainWindow.h Normal file
View File

@ -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

65
src/gui/MainWindow.ui Normal file
View File

@ -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>

View File

@ -22,7 +22,7 @@
#include "crypto/Crypto.h" #include "crypto/Crypto.h"
#include "format/KeePass2Reader.h" #include "format/KeePass2Reader.h"
#include "format/KeePass2XmlReader.h" #include "format/KeePass2XmlReader.h"
#include "gui/DatabaseWidget.h" #include "gui/MainWindow.h"
#include "keys/CompositeKey.h" #include "keys/CompositeKey.h"
#include "keys/PasswordKey.h" #include "keys/PasswordKey.h"
@ -45,8 +45,9 @@ int main(int argc, char **argv)
//KeePass2XmlReader* reader = new KeePass2XmlReader(); //KeePass2XmlReader* reader = new KeePass2XmlReader();
//Database* db = reader->readDatabase(QString(KEEPASSX_TEST_DIR).append("/NewDatabase.xml")); //Database* db = reader->readDatabase(QString(KEEPASSX_TEST_DIR).append("/NewDatabase.xml"));
DatabaseWidget dbWidget(db); MainWindow mainWindow;
dbWidget.show(); mainWindow.show();
mainWindow.addDatabase(db);
return app.exec(); return app.exec();
} }