summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Korpipaa <tomi.korpipaa@qt.io>2019-08-22 11:00:39 +0300
committerTomi Korpipaa <tomi.korpipaa@qt.io>2019-08-23 10:41:12 +0300
commit0a5506e4b0713abfe5c0433618ab630412711802 (patch)
treed8ba7f3b82fab8bc672634187ba97f1e9d1bde6a
parentaa06df67e8b5cfe5f24ef2d9098164f2212d1f26 (diff)
Move the remaining QSettings to CStudioPreferences
Task-number: QT3DS-3887 Change-Id: Ifebd29fbad932ad32b9aa78c0c9557cb6b941d93 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r--src/Authoring/Client/Code/Core/Utility/StudioPreferences.cpp88
-rw-r--r--src/Authoring/Client/Code/Core/Utility/StudioPreferences.h127
-rw-r--r--src/Authoring/Qt3DStudio/Application/StudioApp.cpp9
-rw-r--r--src/Authoring/Qt3DStudio/Application/StudioTutorialWidget.cpp8
-rw-r--r--src/Authoring/Qt3DStudio/MainFrm.cpp33
-rw-r--r--src/Authoring/Qt3DStudio/remotedeploymentsender.cpp16
6 files changed, 191 insertions, 90 deletions
diff --git a/src/Authoring/Client/Code/Core/Utility/StudioPreferences.cpp b/src/Authoring/Client/Code/Core/Utility/StudioPreferences.cpp
index 966ad795..672c4985 100644
--- a/src/Authoring/Client/Code/Core/Utility/StudioPreferences.cpp
+++ b/src/Authoring/Client/Code/Core/Utility/StudioPreferences.cpp
@@ -177,6 +177,57 @@ void CStudioPreferences::savePreferences()
// Settings to save in QSettings
//
+// MainWindow settings
+//
+QByteArray CStudioPreferences::windowGeometry(int version)
+{
+ QString geoKey = QStringLiteral("MainWindow/MainWindowGeometry")
+ + QString::number(version);
+ return s_preferences.value(geoKey).toByteArray();
+}
+
+void CStudioPreferences::setWindowGeometry(const QByteArray &geometry, int version)
+{
+ QString geoKey = QStringLiteral("MainWindow/MainWindowGeometry")
+ + QString::number(version);
+ s_preferences.setValue(geoKey, geometry);
+}
+
+void CStudioPreferences::resetWindowGeometry(int version)
+{
+ QString geoKey = QStringLiteral("MainWindow/MainWindowGeometry")
+ + QString::number(version);
+ s_preferences.remove(geoKey);
+}
+
+bool CStudioPreferences::containsWindowState(int version)
+{
+ QString stateKey = QStringLiteral("MainWindow/MainWindowState")
+ + QString::number(version);
+ return s_preferences.contains(stateKey);
+}
+
+QByteArray CStudioPreferences::windowState(int version)
+{
+ QString stateKey = QStringLiteral("MainWindow/MainWindowState")
+ + QString::number(version);
+ return s_preferences.value(stateKey).toByteArray();
+}
+
+void CStudioPreferences::setWindowState(const QByteArray &state, int version)
+{
+ QString stateKey = QStringLiteral("MainWindow/MainWindowState")
+ + QString::number(version);
+ s_preferences.setValue(stateKey, state);
+}
+
+void CStudioPreferences::resetWindowState(int version)
+{
+ QString stateKey = QStringLiteral("MainWindow/MainWindowState")
+ + QString::number(version);
+ s_preferences.remove(stateKey);
+}
+
// Viewing settings
//
bool CStudioPreferences::isLegacyViewerActive()
@@ -246,6 +297,21 @@ void CStudioPreferences::setEditModeLightingEnabled(bool enabled)
s_preferences.setValue(QStringLiteral("Viewing/EditModeLightingEnabled"), enabled);
}
+bool CStudioPreferences::containsShowWelcomeScreen()
+{
+ return s_preferences.contains(QStringLiteral("Viewing/ShowWelcomeScreen"));
+}
+
+bool CStudioPreferences::isShowWelcomeScreen()
+{
+ return s_preferences.value(QStringLiteral("Viewing/ShowWelcomeScreen")).toBool();
+}
+
+void CStudioPreferences::setShowWelcomeScreen(bool show)
+{
+ s_preferences.setValue(QStringLiteral("Viewing/ShowWelcomeScreen"), show);
+}
+
// Timeline settings
//
bool CStudioPreferences::isTimelineSnappingGridActive()
@@ -483,6 +549,28 @@ void CStudioPreferences::setPreviewProperty(const QString &inName, const QString
s_preferences.setValue(theName, inValue);
}
+QString CStudioPreferences::remoteDeploymentIP()
+{
+ return s_preferences.value(QStringLiteral("Preview/LastRemoteDeploymentIP"),
+ QStringLiteral("127.0.0.1")).toString();
+}
+
+void CStudioPreferences::setRemoteDeploymentIP(const QString &ip)
+{
+ s_preferences.setValue(QStringLiteral("Preview/LastRemoteDeploymentIP"), ip);
+}
+
+QString CStudioPreferences::remoteDeploymentPort()
+{
+ return s_preferences.value(QStringLiteral("Preview/LastRemoteDeploymentPort"),
+ QStringLiteral("36000")).toString();
+}
+
+void CStudioPreferences::setRemoteDeploymentPort(const QString &port)
+{
+ s_preferences.setValue(QStringLiteral("Preview/LastRemoteDeploymentPort"), port);
+}
+
// Recent settings
//
int CStudioPreferences::numRecentItems()
diff --git a/src/Authoring/Client/Code/Core/Utility/StudioPreferences.h b/src/Authoring/Client/Code/Core/Utility/StudioPreferences.h
index a4c327bd..25dbcbd0 100644
--- a/src/Authoring/Client/Code/Core/Utility/StudioPreferences.h
+++ b/src/Authoring/Client/Code/Core/Utility/StudioPreferences.h
@@ -50,24 +50,76 @@ public:
static void loadPreferences();
static void savePreferences();
- static bool isTimelineSnappingGridActive();
- static void setTimelineSnappingGridActive(bool inActive);
-
+ //
+ // Settings to save in QSettings
+ //
+
+ // MainWindow settings
+ //
+ static QByteArray windowGeometry(int version);
+ static void setWindowGeometry(const QByteArray &geometry, int version);
+ static void resetWindowGeometry(int version);
+
+ static bool containsWindowState(int version);
+ static QByteArray windowState(int version);
+ static void setWindowState(const QByteArray &state, int version);
+ static void resetWindowState(int version);
+
+ // Viewing settings
+ //
static bool isLegacyViewerActive();
static void setLegacyViewerActive(bool inActive);
- static ESnapGridResolution timelineSnappingGridResolution();
- static void setTimelineSnappingGridResolution(ESnapGridResolution inResolution);
-
static bool isEditViewFillMode();
static void setEditViewFillMode(bool inRenderAsSolid);
static int preferredStartupView();
static void setPreferredStartupView(int inStartupView);
+ static bool isDontShowGLVersionDialog();
+ static void setDontShowGLVersionDialog(bool inValue);
+
+ static QSize defaultClientSize();
+ static void setDefaultClientSize(int width, int height);
+
+ static bool isEditModeLightingEnabled();
+ static void setEditModeLightingEnabled(bool enabled);
+
+ static bool containsShowWelcomeScreen();
+ static bool isShowWelcomeScreen();
+ static void setShowWelcomeScreen(bool show);
+
+ // Timeline settings
+ //
+ static bool isTimelineSnappingGridActive();
+ static void setTimelineSnappingGridActive(bool inActive);
+
+ static ESnapGridResolution timelineSnappingGridResolution();
+ static void setTimelineSnappingGridResolution(ESnapGridResolution inResolution);
+
static bool isAutosetKeyframesOn();
static void setAutosetKeyframesOn(bool inEnable);
+ static double timelineSplitterLocation();
+ static void setTimelineSplitterLocation(double inLocation);
+
+ static bool isInterpolation();
+ static void setInterpolation(bool inSmooth);
+
+ static double snapRange();
+ static void setSnapRange(double inSnapRange);
+
+ static bool isTimebarDisplayTime();
+ static void setTimebarDisplayTime(bool inDisplayTime);
+
+ static double timeAdvanceAmount();
+ static void setTimeAdvanceAmount(double inTime);
+
+ static double bigTimeAdvanceAmount();
+ static void setBigTimeAdvanceAmount(double inTime);
+
+ // VisualAids settings
+ //
static bool isBoundingBoxesOn();
static void setBoundingBoxesOn(bool inEnable);
@@ -89,67 +141,58 @@ public:
static int helperGridSpacing();
static void setHelperGridSpacing(int spacing);
- static double timelineSplitterLocation();
- static void setTimelineSplitterLocation(double inLocation);
-
- static bool isInterpolation();
- static void setInterpolation(bool inSmooth);
+ static float selectorLineWidth();
+ static void setSelectorLineWidth(float width);
- static double snapRange();
- static void setSnapRange(double inSnapRange);
+ static float selectorLineLength();
+ static void setSelectorLineLength(float length);
+ // Autosave settings
+ //
static int autoSaveDelay();
static void setAutoSaveDelay(int inAutoSaveDelay);
static bool isAutoSavePreference();
static void setAutoSavePreference(bool inActive);
- static bool isEditModeLightingEnabled();
- static void setEditModeLightingEnabled(bool enabled);
-
- static bool isTimebarDisplayTime();
- static void setTimebarDisplayTime(bool inDisplayTime);
+ // Preview settings
+ //
+ static QString previewConfig();
+ static void setPreviewConfig(const QString &inValue);
- static bool isDontShowGLVersionDialog();
- static void setDontShowGLVersionDialog(bool inValue);
+ static QString previewProperty(const QString &inName);
+ static void setPreviewProperty(const QString &inName, const QString &inValue);
- static double timeAdvanceAmount();
- static void setTimeAdvanceAmount(double inTime);
- static double bigTimeAdvanceAmount();
- static void setBigTimeAdvanceAmount(double inTime);
+ static QString remoteDeploymentIP();
+ static void setRemoteDeploymentIP(const QString &ip);
- static QSize defaultClientSize();
- static void setDefaultClientSize(int width, int height);
+ static QString remoteDeploymentPort();
+ static void setRemoteDeploymentPort(const QString &port);
+ // Recent settings
+ //
static int numRecentItems();
static void setNumRecentItems(int numberOfItems);
static QString recentItem(int index);
static void setRecentItem(int index, const QString &path);
- static QString previewConfig();
- static void setPreviewConfig(const QString &inValue);
- static QString previewProperty(const QString &inName);
- static void setPreviewProperty(const QString &inName, const QString &inValue);
-
- static float selectorLineWidth();
- static void setSelectorLineWidth(float width);
- static float selectorLineLength();
- static void setSelectorLineLength(float length);
+ //
+ // Other settings
+ //
+ static void setQmlContextProperties(QQmlContext *qml);
- static QString versionString();
+ static QString fontFaceName();
+ static ::CColor mouseOverHighlightColor();
static ::CColor normalColor();
static ::CColor inactiveColor();
-
- static ::CColor mouseOverHighlightColor();
-
static ::CColor objectTimebarColor();
static ::CColor layerTimebarColor();
static ::CColor disabledTextColor();
-
static ::CColor singleBoundingBoxColor();
static ::CColor groupBoundingBoxColor();
+
static QColor xAxisColor();
static QColor yAxisColor();
static QColor zAxisColor();
@@ -164,9 +207,6 @@ public:
static ::CColor guideFillColor();
static ::CColor guideFillSelectedColor();
- static QString fontFaceName();
-
- static void setQmlContextProperties(QQmlContext *qml);
static QColor studioColor1();
static QColor studioColor2();
static QColor studioColor3();
@@ -213,6 +253,7 @@ public:
static int idWidth();
static int valueWidth();
static QSize browserPopupSize();
+ static QString versionString();
// Default values that Studio will start out with or to restore
static const int PREFERREDSTARTUP_DEFAULTINDEX = -1;
diff --git a/src/Authoring/Qt3DStudio/Application/StudioApp.cpp b/src/Authoring/Qt3DStudio/Application/StudioApp.cpp
index ecbe67de..ada6c513 100644
--- a/src/Authoring/Qt3DStudio/Application/StudioApp.cpp
+++ b/src/Authoring/Qt3DStudio/Application/StudioApp.cpp
@@ -195,7 +195,6 @@ int main(int argc, char *argv[])
#include <string.h>
#include <QtWidgets/qapplication.h>
-#include <QtCore/qsettings.h>
#include "Core.h"
#include "HotKeys.h"
@@ -525,17 +524,15 @@ bool CStudioApp::showStartupDialog()
m_welcomeShownThisSession = true;
bool show = false;
- QSettings settings;
- if (!settings.contains(QStringLiteral("Viewing/ShowWelcomeScreen"))) {
- settings.setValue(QStringLiteral("Viewing/ShowWelcomeScreen"), true);
+ if (!CStudioPreferences::containsShowWelcomeScreen()) {
+ CStudioPreferences::setShowWelcomeScreen(true);
show = true;
} else {
// if we are returning to welcome dialog page after canceling
// file dialog, do not care about settings but always show
// welcome
- show = settings.value(QStringLiteral("Viewing/ShowWelcomeScreen")).toBool()
- || m_goStraightToWelcomeFileDialog;
+ show = CStudioPreferences::isShowWelcomeScreen() || m_goStraightToWelcomeFileDialog;
}
if (show) {
diff --git a/src/Authoring/Qt3DStudio/Application/StudioTutorialWidget.cpp b/src/Authoring/Qt3DStudio/Application/StudioTutorialWidget.cpp
index d8999de0..4cd9797c 100644
--- a/src/Authoring/Qt3DStudio/Application/StudioTutorialWidget.cpp
+++ b/src/Authoring/Qt3DStudio/Application/StudioTutorialWidget.cpp
@@ -75,9 +75,7 @@ void StudioTutorialWidget::OnInitDialog()
setFixedSize(backgroundSize);
- QSettings settings;
- m_ui->studioTutorialShowAgain->setChecked(
- !settings.value(QStringLiteral("Viewing/ShowWelcomeScreen")).toBool());
+ m_ui->studioTutorialShowAgain->setChecked(!CStudioPreferences::isShowWelcomeScreen());
m_backgroundPalette = new QPalette(palette());
QPixmap background(size());
QPainter backgroundPainter(&background);
@@ -95,9 +93,7 @@ void StudioTutorialWidget::OnInitDialog()
void StudioTutorialWidget::handleDoNotShowAgainChange(int state)
{
- QSettings settings;
- const bool show = !(state == Qt::Checked);
- settings.setValue(QStringLiteral("Viewing/ShowWelcomeScreen"), show);
+ CStudioPreferences::setShowWelcomeScreen(!(state == Qt::Checked));
}
void StudioTutorialWidget::handleOpenSample()
diff --git a/src/Authoring/Qt3DStudio/MainFrm.cpp b/src/Authoring/Qt3DStudio/MainFrm.cpp
index 1df56e61..987a39e2 100644
--- a/src/Authoring/Qt3DStudio/MainFrm.cpp
+++ b/src/Authoring/Qt3DStudio/MainFrm.cpp
@@ -56,7 +56,6 @@
#include <QtGui/qevent.h>
#include <QtGui/qdesktopservices.h>
-#include <QtCore/qsettings.h>
#include <QtCore/qurl.h>
#include <QtCore/qprocess.h>
#include <QtGui/qfontdatabase.h>
@@ -1493,15 +1492,10 @@ void CMainFrame::onViewResetLayout()
"layout? \nYour current layout will be lost, and "
"Studio will restart."));
- // If "Yes" is clicked, delete window geometry and window state keys from QSettings
+ // If "Yes" is clicked, delete window geometry and window state keys
if (theChoice == QMessageBox::Yes) {
- QSettings settings;
- QString geoKey = QStringLiteral("MainWindow/MainWindowGeometry")
- + QString::number(STUDIO_VERSION_NUM);
- QString stateKey = QStringLiteral("MainWindow/MainWindowState")
- + QString::number(STUDIO_VERSION_NUM);
- settings.remove(geoKey);
- settings.remove(stateKey);
+ CStudioPreferences::resetWindowGeometry(STUDIO_VERSION_NUM);
+ CStudioPreferences::resetWindowState(STUDIO_VERSION_NUM);
// Prevent saving geometry and state, and exit
m_resettingLayout = true;
QTimer::singleShot(0, this, &CMainFrame::handleRestart);
@@ -1955,21 +1949,15 @@ void CMainFrame::handleGeometryAndState(bool save)
if (m_resettingLayout)
return;
- QSettings settings;
- QString geoKey = QStringLiteral("MainWindow/MainWindowGeometry")
- + QString::number(STUDIO_VERSION_NUM);
- QString stateKey = QStringLiteral("MainWindow/MainWindowState")
- + QString::number(STUDIO_VERSION_NUM);
if (save) {
- settings.setValue(geoKey, saveGeometry());
- settings.setValue(stateKey, saveState(STUDIO_VERSION_NUM));
+ CStudioPreferences::setWindowGeometry(saveGeometry(), STUDIO_VERSION_NUM);
+ CStudioPreferences::setWindowState(saveState(STUDIO_VERSION_NUM), STUDIO_VERSION_NUM);
} else {
// Restoring geometry and state back to back results in errors in state restoration, so
// let's restore state asynchronously
- restoreGeometry(settings.value(geoKey).toByteArray());
- QTimer::singleShot(0, this, [this, stateKey]() {
- QSettings settings;
- restoreState(settings.value(stateKey).toByteArray(), STUDIO_VERSION_NUM);
+ restoreGeometry(CStudioPreferences::windowGeometry(STUDIO_VERSION_NUM));
+ QTimer::singleShot(0, this, [this]() {
+ restoreState(CStudioPreferences::windowState(STUDIO_VERSION_NUM), STUDIO_VERSION_NUM);
});
}
}
@@ -1983,10 +1971,7 @@ void CMainFrame::handleRestart()
void CMainFrame::initializeGeometryAndState()
{
- QSettings settings;
- QString stateKey = QStringLiteral("MainWindow/MainWindowState")
- + QString::number(STUDIO_VERSION_NUM);
- if (!settings.contains(stateKey)) {
+ if (!CStudioPreferences::containsWindowState(STUDIO_VERSION_NUM)) {
// On first run, save and restore geometry and state. For some reason they are both needed
// to avoid a bug with palettes resizing to their original size when window is resized or
// something in a palette is edited.
diff --git a/src/Authoring/Qt3DStudio/remotedeploymentsender.cpp b/src/Authoring/Qt3DStudio/remotedeploymentsender.cpp
index f5a1ce50..342d1139 100644
--- a/src/Authoring/Qt3DStudio/remotedeploymentsender.cpp
+++ b/src/Authoring/Qt3DStudio/remotedeploymentsender.cpp
@@ -30,13 +30,13 @@
#include "remotedeploymentsender.h"
#include "StudioApp.h"
#include "Core.h"
+#include "StudioPreferences.h"
#include <QtCore/qpair.h>
#include <QtCore/qfile.h>
#include <QtCore/qfileinfo.h>
#include <QtCore/qdatastream.h>
#include <QtCore/qdiriterator.h>
-#include <QtCore/qsettings.h>
#include <QtWidgets/qinputdialog.h>
#include <QtWidgets/qmessagebox.h>
#include <QtWidgets/qdialog.h>
@@ -61,11 +61,8 @@ private:
ConnectionDialog::ConnectionDialog(QWidget *parent)
: QDialog(parent)
{
- QSettings settings;
- QString previousIPAddress = settings.value(
- QStringLiteral("Preview/LastRemoteDeploymentIP")).toString();
- QString previousPort = settings.value(QStringLiteral("Preview/LastRemoteDeploymentPort"),
- QStringLiteral("36000")).toString();
+ QString previousIPAddress = CStudioPreferences::remoteDeploymentIP();
+ QString previousPort = CStudioPreferences::remoteDeploymentPort();
m_hostLineEdit = new QLineEdit(this);
m_hostLineEdit->setText(previousIPAddress);
@@ -100,11 +97,8 @@ QPair<QString, int> ConnectionDialog::getInfo(QWidget *parent)
if (!dialog.exec())
return QPair<QString, int>();
- QSettings settings;
- settings.setValue(QStringLiteral("Preview/LastRemoteDeploymentIP"),
- dialog.m_hostLineEdit->text());
- settings.setValue(QStringLiteral("Preview/LastRemoteDeploymentPort"),
- dialog.m_portLineEdit->text());
+ CStudioPreferences::setRemoteDeploymentIP(dialog.m_hostLineEdit->text());
+ CStudioPreferences::setRemoteDeploymentPort(dialog.m_portLineEdit->text());
return qMakePair(dialog.m_hostLineEdit->text(),
dialog.m_portLineEdit->text().toInt());