diff --git a/toonz/sources/include/toonz/preferences.h b/toonz/sources/include/toonz/preferences.h index 9ab3176f..019e68a4 100644 --- a/toonz/sources/include/toonz/preferences.h +++ b/toonz/sources/include/toonz/preferences.h @@ -199,8 +199,8 @@ public: // Interface tab QStringList getStyleSheetList() const { return m_styleSheetList; } bool getIconTheme() const { return getBoolValue(iconTheme); } - void storeOldUnits(); // OK - void resetOldUnits(); // OK + void storeOldUnits(); + void resetOldUnits(); QStringList getLanguageList() const { return m_languageList; } QMap getRoomMap() const { return m_roomMaps; } diff --git a/toonz/sources/toonz/preferencespopup.cpp b/toonz/sources/toonz/preferencespopup.cpp index 14c0cc2b..9b4983f4 100644 --- a/toonz/sources/toonz/preferencespopup.cpp +++ b/toonz/sources/toonz/preferencespopup.cpp @@ -617,6 +617,10 @@ void PreferencesPopup::onPixelsOnlyChanged() { //----------------------------------------------------------------------------- +void PreferencesPopup::beforeUnitChanged() { m_pref->storeOldUnits(); } + +//----------------------------------------------------------------------------- + void PreferencesPopup::onUnitChanged() { CheckBox* pixelsOnlyCB = getUI(pixelsOnly); if (!pixelsOnlyCB->isChecked() && @@ -1791,7 +1795,9 @@ QWidget* PreferencesPopup::createInterfacePage() { m_onEditedFuncMap.insert(CurrentStyleSheetName, &PreferencesPopup::onStyleSheetTypeChanged); m_onEditedFuncMap.insert(pixelsOnly, &PreferencesPopup::onPixelsOnlyChanged); + m_preEditedFuncMap.insert(linearUnits, &PreferencesPopup::beforeUnitChanged); m_onEditedFuncMap.insert(linearUnits, &PreferencesPopup::onUnitChanged); + m_preEditedFuncMap.insert(cameraUnits, &PreferencesPopup::beforeUnitChanged); m_onEditedFuncMap.insert(cameraUnits, &PreferencesPopup::onUnitChanged); m_preEditedFuncMap.insert(CurrentRoomChoice, &PreferencesPopup::beforeRoomChoiceChanged); diff --git a/toonz/sources/toonz/preferencespopup.h b/toonz/sources/toonz/preferencespopup.h index 5f040a9f..60cd637a 100644 --- a/toonz/sources/toonz/preferencespopup.h +++ b/toonz/sources/toonz/preferencespopup.h @@ -145,6 +145,7 @@ private: void onStyleSheetTypeChanged(); // void onIconThemeChanged(); void onPixelsOnlyChanged(); + void beforeUnitChanged(); void onUnitChanged(); void beforeRoomChoiceChanged(); void onColorCalibrationChanged(); diff --git a/toonz/sources/toonzlib/preferences.cpp b/toonz/sources/toonzlib/preferences.cpp index 63f715b7..49d2dfe6 100644 --- a/toonz/sources/toonzlib/preferences.cpp +++ b/toonz/sources/toonzlib/preferences.cpp @@ -989,8 +989,10 @@ void Preferences::setRasterBackgroundColor() { //----------------------------------------------------------------- void Preferences::storeOldUnits() { - setValue(oldUnits, getStringValue(linearUnits)); - setValue(oldCameraUnits, getStringValue(cameraUnits)); + QString linearU = getStringValue(linearUnits); + if (linearU != "pixel") setValue(oldUnits, linearU); + QString cameraU = getStringValue(cameraUnits); + if (cameraU != "pixel") setValue(oldCameraUnits, cameraU); } //-----------------------------------------------------------------