From 85062d1f076027589b13f4916e6b3d8a9acddd5a Mon Sep 17 00:00:00 2001 From: Richard Pecl Date: Wed, 19 Nov 2014 00:50:22 +0100 Subject: [PATCH 1/3] more reasonable docking behavior --- src/gui/mainwindow.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 48b32330..22fcfdbf 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -93,6 +93,13 @@ QTranslator* MainWindow::createTranslator(const QString& langCode) void MainWindow::createUi() { + // set docking behavior + setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); + setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); + setDockNestingEnabled(true); + createActions(); createActionGroups(); createActionShortcuts(); From a39fcfed1e47a72611989062406daa2938c1854e Mon Sep 17 00:00:00 2001 From: Richard Pecl Date: Wed, 19 Nov 2014 22:54:29 +0100 Subject: [PATCH 2/3] reset window state from old application version settings so that new docking style is applied --- src/core/settings.cpp | 4 ++++ src/core/settings.h | 9 +++++++++ src/gui/mainwindow.cpp | 4 ++++ 3 files changed, 17 insertions(+) diff --git a/src/core/settings.cpp b/src/core/settings.cpp index 5164a8a7..946d719a 100644 --- a/src/core/settings.cpp +++ b/src/core/settings.cpp @@ -64,6 +64,8 @@ void Settings::load() QString key = QString::fromLatin1(KEY) + QLatin1String("/General/"); + appVersion = settings->value(key + QLatin1String("AppVersion"), APP_VERSION_UNKN).toString(); + // Angle mode special case. QString angleUnitStr; angleUnitStr = settings->value(key + QLatin1String("AngleMode"), "r").toString(); @@ -224,6 +226,8 @@ void Settings::save() int k, i; QString key = KEY + QLatin1String("/General/"); + settings->setValue(key + QLatin1String("AppVersion"), APP_VERSION_FULL); + settings->setValue(key + QLatin1String("HistorySave"), historySave); settings->setValue(key + QLatin1String("LeaveLastExpression"), leaveLastExpression); settings->setValue(key + QLatin1String("VariableSave"), variableSave); diff --git a/src/core/settings.h b/src/core/settings.h index 3de94172..31299f54 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -26,6 +26,13 @@ #include #include +// current application version (format to be comparable lexicographically) +#define APP_VERSION_FULL "00.12.00.00" +// milestones for compatibility checks +#define APP_VERSION_00120000 "00.12.00.00" +// unknown format (always lexicographically windowPosition); + // docking layout has changed in 0.12 - reset window state + if (m_settings->appVersion < APP_VERSION_00120000) + m_settings->windowState.clear(); + restoreState(m_settings->windowState); m_actions.viewFullScreenMode->setChecked(m_settings->windowOnfullScreen); From be6a126b55ea6ae0cbf23090acc1f368c6fa50b4 Mon Sep 17 00:00:00 2001 From: Richard Pecl Date: Wed, 19 Nov 2014 23:42:54 +0100 Subject: [PATCH 3/3] application version format changed to 0xMMNNPP --- src/core/settings.cpp | 4 ++-- src/core/settings.h | 12 ++++++------ src/gui/mainwindow.cpp | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/core/settings.cpp b/src/core/settings.cpp index 946d719a..61f471ed 100644 --- a/src/core/settings.cpp +++ b/src/core/settings.cpp @@ -64,7 +64,7 @@ void Settings::load() QString key = QString::fromLatin1(KEY) + QLatin1String("/General/"); - appVersion = settings->value(key + QLatin1String("AppVersion"), APP_VERSION_UNKN).toString(); + appVersion = settings->value(key + QLatin1String("AppVersion"), APP_VERSION_UNKN).toString().toUInt(0, 16); // Angle mode special case. QString angleUnitStr; @@ -226,7 +226,7 @@ void Settings::save() int k, i; QString key = KEY + QLatin1String("/General/"); - settings->setValue(key + QLatin1String("AppVersion"), APP_VERSION_FULL); + settings->setValue(key + QLatin1String("AppVersion"), QString().sprintf("0x%06X", APP_VERSION)); settings->setValue(key + QLatin1String("HistorySave"), historySave); settings->setValue(key + QLatin1String("LeaveLastExpression"), leaveLastExpression); diff --git a/src/core/settings.h b/src/core/settings.h index 31299f54..8fa3cd9f 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -26,12 +26,12 @@ #include #include -// current application version (format to be comparable lexicographically) -#define APP_VERSION_FULL "00.12.00.00" +// current application version (0xMMNNPP format same as QT_VERSION) +#define APP_VERSION 0x001200 // milestones for compatibility checks -#define APP_VERSION_00120000 "00.12.00.00" -// unknown format (always lexicographically windowPosition); // docking layout has changed in 0.12 - reset window state - if (m_settings->appVersion < APP_VERSION_00120000) + if (m_settings->appVersion < APP_VERSION_001200) m_settings->windowState.clear(); restoreState(m_settings->windowState);