diff --git a/toonz/sources/toonz/scenebrowser.cpp b/toonz/sources/toonz/scenebrowser.cpp index cdaa2ca..46072bf 100644 --- a/toonz/sources/toonz/scenebrowser.cpp +++ b/toonz/sources/toonz/scenebrowser.cpp @@ -1411,6 +1411,10 @@ void SceneBrowser::onTreeFolderChanged() { DvDirModelFileFolderNode *fileFolderNode = dynamic_cast(node); if (fileFolderNode) emit treeFolderChanged(fileFolderNode->getPath()); + + // Restore scroll position + m_itemViewer->verticalScrollBar()->setValue(m_currentScroll); + } //----------------------------------------------------------------------------- @@ -2061,6 +2065,9 @@ void SceneBrowser::refresh() { //----------------------------------------------------------------------------- void SceneBrowser::newScene() { + + m_currentScroll = m_itemViewer->verticalScrollBar()->value(); + TFilePath parentFolder = getFolder(); QString sceneName; TFilePath scenePath; diff --git a/toonz/sources/toonz/scenebrowser.h b/toonz/sources/toonz/scenebrowser.h index a187d02..5a4edb0 100644 --- a/toonz/sources/toonz/scenebrowser.h +++ b/toonz/sources/toonz/scenebrowser.h @@ -242,6 +242,7 @@ private: // folder history QList m_indexHistoryList; int m_currentPosition; + int m_currentScroll; std::vector m_items; TFilePath m_folder;