Add UI as a member variable instead of inheriting it.

This commit is contained in:
Felix Geyer 2011-12-26 18:55:50 +01:00
parent f90831b809
commit 57388ac896
2 changed files with 29 additions and 16 deletions

View file

@ -16,6 +16,7 @@
*/ */
#include "MainWindow.h" #include "MainWindow.h"
#include "ui_MainWindow.h"
#include "core/Database.h" #include "core/Database.h"
#include "core/Metadata.h" #include "core/Metadata.h"
@ -23,28 +24,33 @@
#include "gui/DatabaseWidget.h" #include "gui/DatabaseWidget.h"
MainWindow::MainWindow() MainWindow::MainWindow()
: m_ui(new Ui::MainWindow())
{ {
setupUi(this); m_ui->setupUi(this);
m_dbManager = new DatabaseManager(tabWidget); m_dbManager = new DatabaseManager(m_ui->tabWidget);
connect(tabWidget, SIGNAL(currentChanged(int)), SLOT(currentTabChanged(int))); connect(m_ui->tabWidget, SIGNAL(currentChanged(int)), SLOT(currentTabChanged(int)));
connect(actionDatabaseNew, SIGNAL(triggered()), m_dbManager, SLOT(newDatabase())); connect(m_ui->actionDatabaseNew, SIGNAL(triggered()), m_dbManager, SLOT(newDatabase()));
connect(actionDatabaseOpen, SIGNAL(triggered()), m_dbManager, SLOT(openDatabase())); connect(m_ui->actionDatabaseOpen, SIGNAL(triggered()), m_dbManager, SLOT(openDatabase()));
connect(actionDatabaseSave, SIGNAL(triggered()), m_dbManager, SLOT(saveDatabase())); connect(m_ui->actionDatabaseSave, SIGNAL(triggered()), m_dbManager, SLOT(saveDatabase()));
connect(actionDatabaseSaveAs, SIGNAL(triggered()), m_dbManager, SLOT(saveDatabaseAs())); connect(m_ui->actionDatabaseSaveAs, SIGNAL(triggered()), m_dbManager, SLOT(saveDatabaseAs()));
connect(actionDatabaseClose, SIGNAL(triggered()), m_dbManager, SLOT(closeDatabase())); connect(m_ui->actionDatabaseClose, SIGNAL(triggered()), m_dbManager, SLOT(closeDatabase()));
connect(actionQuit, SIGNAL(triggered()), SLOT(close())); connect(m_ui->actionQuit, SIGNAL(triggered()), SLOT(close()));
}
MainWindow::~MainWindow()
{
} }
void MainWindow::currentTabChanged(int index) void MainWindow::currentTabChanged(int index)
{ {
bool hasTab = (index != -1); bool hasTab = (index != -1);
actionDatabaseSave->setEnabled(hasTab); m_ui->actionDatabaseSave->setEnabled(hasTab);
actionDatabaseSaveAs->setEnabled(hasTab); m_ui->actionDatabaseSaveAs->setEnabled(hasTab);
actionDatabaseClose->setEnabled(hasTab); m_ui->actionDatabaseClose->setEnabled(hasTab);
actionEntryNew->setEnabled(hasTab); m_ui->actionEntryNew->setEnabled(hasTab);
actionGroupNew->setEnabled(hasTab); m_ui->actionGroupNew->setEnabled(hasTab);
} }

View file

@ -18,23 +18,30 @@
#ifndef KEEPASSX_MAINWINDOW_H #ifndef KEEPASSX_MAINWINDOW_H
#define KEEPASSX_MAINWINDOW_H #define KEEPASSX_MAINWINDOW_H
#include "ui_MainWindow.h" #include <QtGui/QMainWindow>
class Database; class Database;
class DatabaseManager; class DatabaseManager;
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow, private Ui::MainWindow class MainWindow : public QMainWindow
{ {
Q_OBJECT Q_OBJECT
public: public:
MainWindow(); MainWindow();
~MainWindow();
private Q_SLOTS: private Q_SLOTS:
void currentTabChanged(int index); void currentTabChanged(int index);
private: private:
QScopedPointer<Ui::MainWindow> m_ui;
DatabaseManager* m_dbManager; DatabaseManager* m_dbManager;
Q_DISABLE_COPY(MainWindow)
}; };
#endif // KEEPASSX_MAINWINDOW_H #endif // KEEPASSX_MAINWINDOW_H