From: Alexey Chernobaev Date: Wed, 28 Mar 2018 18:09:21 +0000 (+0300) Subject: saving and restoring main window position and size X-Git-Tag: submit/tizen/20180620.112952^2^2~29 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=87601ddccb0ff60a6efc2785c8b3ebb5a582916d;p=sdk%2Ftools%2Fheaptrack.git saving and restoring main window position and size --- diff --git a/src/analyze/gui/mainwindow.cpp b/src/analyze/gui/mainwindow.cpp index fff1bf0..77cd1b8 100644 --- a/src/analyze/gui/mainwindow.cpp +++ b/src/analyze/gui/mainwindow.cpp @@ -240,12 +240,18 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent) , m_ui(new Ui::MainWindow) , m_parser(new Parser(this)) -#ifndef NO_K_LIB // TODO!! find a replacement for KSharedConfig +#ifndef NO_K_LIB , m_config(KSharedConfig::openConfig(QStringLiteral("heaptrack_gui"))) #endif { -#ifdef QWT_FOUND + m_ui->setupUi(this); + +#ifdef NO_K_LIB QSettings settings(QSettings::UserScope, AboutData::Organization, AboutData::applicationName()); + restoreGeometry(settings.value("mainWindowGeometry").toByteArray()); + // create docks, toolbars, etc… + restoreState(settings.value("mainWindowState").toByteArray()); +#ifdef QWT_FOUND settings.beginGroup("Charts"); QVariant value = settings.value("Options"); bool ok; @@ -260,14 +266,11 @@ MainWindow::MainWindow(QWidget* parent) QCoreApplication::setAttribute(Qt::AA_DontShowShortcutsInContextMenus, false); #endif #endif // QWT_FOUND - - m_ui->setupUi(this); - -#ifndef NO_K_LIB // TODO!! find a replacement for KSharedConfig +#else auto group = m_config->group(Config::Groups::MainWindow); auto state = group.readEntry(Config::Entries::State, QByteArray()); restoreState(state, MAINWINDOW_VERSION); -#endif +#endif // NO_K_LIB m_ui->pages->setCurrentWidget(m_ui->openPage); // TODO: proper progress report @@ -636,14 +639,7 @@ MainWindow::MainWindow(QWidget* parent) MainWindow::~MainWindow() { -#ifdef NO_K_LIB -#ifdef QWT_FOUND - QSettings settings(QSettings::UserScope, AboutData::Organization, AboutData::applicationName()); - settings.beginGroup("Charts"); - settings.setValue("Options", ChartOptions::GlobalOptions); - settings.endGroup(); -#endif // QWT_FOUND -#else +#ifndef NO_K_LIB auto state = saveState(MAINWINDOW_VERSION); auto group = m_config->group(Config::Groups::MainWindow); group.writeEntry(Config::Entries::State, state); @@ -756,6 +752,19 @@ void MainWindow::setupStacks() } #ifdef NO_K_LIB +void MainWindow::closeEvent(QCloseEvent *event) +{ + QMainWindow::closeEvent(event); + QSettings settings(QSettings::UserScope, AboutData::Organization, AboutData::applicationName()); + settings.setValue("mainWindowGeometry", saveGeometry()); + settings.setValue("mainWindowState", saveState()); +#ifdef QWT_FOUND + settings.beginGroup("Charts"); + settings.setValue("Options", ChartOptions::GlobalOptions); + settings.endGroup(); +#endif // QWT_FOUND +} + static void selectFile(QWidget *parent, QLineEdit *fileNameEdit) { QString fileName = QFileDialog::getOpenFileName(parent, "Select Data File", diff --git a/src/analyze/gui/mainwindow.h b/src/analyze/gui/mainwindow.h index 3ed89f8..ff66862 100644 --- a/src/analyze/gui/mainwindow.h +++ b/src/analyze/gui/mainwindow.h @@ -51,6 +51,8 @@ signals: void clearData(); #ifdef NO_K_LIB +protected: + virtual void closeEvent(QCloseEvent *event) override; public slots: void selectOpenFile(); void selectCompareToFile(); @@ -66,7 +68,7 @@ private: QScopedPointer m_ui; Parser* m_parser; -#ifndef NO_K_LIB // TODO!! find a replacement for KSharedConfig +#ifndef NO_K_LIB KSharedConfig::Ptr m_config; #endif bool m_diffMode = false;