From bf8af1f41241963cb33c9449713ddd9e18dbff6c Mon Sep 17 00:00:00 2001 From: Rodney Date: Feb 08 2023 11:46:26 +0000 Subject: Merge pull request #4743 from shun-iwasawa/fix_viewer_parts_visibility Fix viewer parts visibility --- diff --git a/toonz/sources/toonz/comboviewerpane.cpp b/toonz/sources/toonz/comboviewerpane.cpp index 037e288..a9cf559 100644 --- a/toonz/sources/toonz/comboviewerpane.cpp +++ b/toonz/sources/toonz/comboviewerpane.cpp @@ -142,7 +142,9 @@ void ComboViewerPanel::addShowHideContextMenu(QMenu *menu) { //----------------------------------------------------------------------------- void ComboViewerPanel::checkOldVersionVisblePartsFlags(QSettings &settings) { - if (!settings.contains("visibleParts")) return; + if (settings.contains("viewerVisibleParts") || + !settings.contains("visibleParts")) + return; UINT oldVisiblePartsFlag = settings.value("visibleParts", CVPARTS_ALL).toUInt(); m_visiblePartsFlag = VPPARTS_None; @@ -152,6 +154,4 @@ void ComboViewerPanel::checkOldVersionVisblePartsFlags(QSettings &settings) { m_visiblePartsFlag |= VPPARTS_TOOLOPTIONS; if (oldVisiblePartsFlag & CVPARTS_FLIPCONSOLE) m_visiblePartsFlag |= VPPARTS_PLAYBAR | VPPARTS_FRAMESLIDER; - settings.remove("visibleParts"); - settings.setValue("viewerVisibleParts", m_visiblePartsFlag); } \ No newline at end of file diff --git a/toonz/sources/toonz/viewerpane.cpp b/toonz/sources/toonz/viewerpane.cpp index ef1a0bc..f7e47a9 100644 --- a/toonz/sources/toonz/viewerpane.cpp +++ b/toonz/sources/toonz/viewerpane.cpp @@ -70,6 +70,16 @@ using namespace DVGui; extern TEnv::IntVar EnvViewerPreviewBehavior; + +// this enum is to keep comaptibility with older versions +enum OldV_Parts { + OldVPARTS_None = 0, + OldVPARTS_PLAYBAR = 0x1, + OldVPARTS_FRAMESLIDER = 0x4, + OldVPARTS_End = 0x8, + OldVPARTS_ALL = OldVPARTS_PLAYBAR | OldVPARTS_FRAMESLIDER +}; + //============================================================================= // // BaseViewerPanel @@ -980,11 +990,16 @@ SceneViewerPanel::SceneViewerPanel(QWidget *parent, Qt::WindowFlags flags) //----------------------------------------------------------------------------- void SceneViewerPanel::checkOldVersionVisblePartsFlags(QSettings &settings) { - if (!settings.contains("visibleParts")) return; - m_visiblePartsFlag = - settings.value("visibleParts", m_visiblePartsFlag).toUInt(); - settings.remove("visibleParts"); - settings.setValue("viewerVisibleParts", m_visiblePartsFlag); + if (settings.contains("viewerVisibleParts") || + !settings.contains("visibleParts")) + return; + UINT oldVisiblePartsFlag = + settings.value("visibleParts", OldVPARTS_ALL).toUInt(); + m_visiblePartsFlag = VPPARTS_None; + if (oldVisiblePartsFlag & OldVPARTS_PLAYBAR) + m_visiblePartsFlag |= VPPARTS_PLAYBAR; + if (oldVisiblePartsFlag & OldVPARTS_FRAMESLIDER) + m_visiblePartsFlag |= VPPARTS_FRAMESLIDER; } //=========================================================