diff options
author | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2019-08-22 11:00:39 +0300 |
---|---|---|
committer | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2019-08-23 10:41:12 +0300 |
commit | 0a5506e4b0713abfe5c0433618ab630412711802 (patch) | |
tree | d8ba7f3b82fab8bc672634187ba97f1e9d1bde6a | |
parent | aa06df67e8b5cfe5f24ef2d9098164f2212d1f26 (diff) |
Move the remaining QSettings to CStudioPreferences
Task-number: QT3DS-3887
Change-Id: Ifebd29fbad932ad32b9aa78c0c9557cb6b941d93
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
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()); |