From 214a94e1b7f6fcc9098fe9a0d3b1e573868e7944 Mon Sep 17 00:00:00 2001 From: Kimmo Varis Date: Fri, 13 May 2011 10:12:19 +0300 Subject: [PATCH] GUI: Make Project-dialog to remember its size. --- gui/common.h | 2 ++ gui/projectfiledialog.cpp | 22 ++++++++++++++++++++++ gui/projectfiledialog.h | 11 +++++++++++ 3 files changed, 35 insertions(+) diff --git a/gui/common.h b/gui/common.h index b50efeb93..4d414cd6b 100644 --- a/gui/common.h +++ b/gui/common.h @@ -52,6 +52,8 @@ ShowTypes; #define SETTINGS_MAINWND_SPLITTER_STATE "Mainwindow/Vertical splitter state" #define SETTINGS_CHECK_DIALOG_WIDTH "Check dialog width" #define SETTINGS_CHECK_DIALOG_HEIGHT "Check dialog height" +#define SETTINGS_PROJECT_DIALOG_WIDTH "Project dialog width" +#define SETTINGS_PROJECT_DIALOG_HEIGHT "Project dialog height" // Main window settings #define SETTINGS_RESULT_COLUMN_WIDTH "Result column %1 width" diff --git a/gui/projectfiledialog.cpp b/gui/projectfiledialog.cpp index fa46b9956..eb43a5c35 100644 --- a/gui/projectfiledialog.cpp +++ b/gui/projectfiledialog.cpp @@ -24,6 +24,8 @@ #include #include #include +#include +#include "common.h" #include "projectfiledialog.h" ProjectFileDialog::ProjectFileDialog(const QString &path, QWidget *parent) @@ -36,6 +38,7 @@ ProjectFileDialog::ProjectFileDialog(const QString &path, QWidget *parent) QString filename = inf.fileName(); QString title = tr("Project file: %1").arg(filename); setWindowTitle(title); + LoadSettings(); connect(mUI.mButtons, SIGNAL(accepted()), this, SLOT(accept())); connect(mUI.mBtnAddInclude, SIGNAL(clicked()), this, SLOT(AddIncludeDir())); @@ -49,6 +52,25 @@ ProjectFileDialog::ProjectFileDialog(const QString &path, QWidget *parent) connect(mUI.mBtnRemoveIgnorePath, SIGNAL(clicked()), this, SLOT(RemoveIgnorePath())); } +ProjectFileDialog::~ProjectFileDialog() +{ + SaveSettings(); +} + +void ProjectFileDialog::LoadSettings() +{ + QSettings settings; + resize(settings.value(SETTINGS_PROJECT_DIALOG_WIDTH, 470).toInt(), + settings.value(SETTINGS_PROJECT_DIALOG_HEIGHT, 330).toInt()); +} + +void ProjectFileDialog::SaveSettings() +{ + QSettings settings; + settings.setValue(SETTINGS_PROJECT_DIALOG_WIDTH, size().width()); + settings.setValue(SETTINGS_PROJECT_DIALOG_HEIGHT, size().height()); +} + void ProjectFileDialog::AddIncludeDir(const QString &dir) { if (dir.isNull() || dir.isEmpty()) diff --git a/gui/projectfiledialog.h b/gui/projectfiledialog.h index c8da65d9e..a4ecb2a1d 100644 --- a/gui/projectfiledialog.h +++ b/gui/projectfiledialog.h @@ -41,6 +41,7 @@ class ProjectFileDialog : public QDialog Q_OBJECT public: ProjectFileDialog(const QString &path, QWidget *parent = 0); + virtual ~ProjectFileDialog(); /** * @brief Return project root path from the dialog control. @@ -151,6 +152,16 @@ protected slots: protected: + /** + * @brief Save dialog settings. + */ + void LoadSettings(); + + /** + * @brief Load dialog settings. + */ + void SaveSettings(); + /** * @brief Add new indlude directory. * @param dir Directory to add.