diff --git a/toonz/sources/include/toonz/preferences.h b/toonz/sources/include/toonz/preferences.h index e9ae2e46..5dbc89f6 100644 --- a/toonz/sources/include/toonz/preferences.h +++ b/toonz/sources/include/toonz/preferences.h @@ -342,6 +342,9 @@ public: bool useCtrlAltToResizeBrushEnabled() const { return getBoolValue(useCtrlAltToResizeBrush); } + int getTempToolSwitchtimer() const { + return getIntValue(temptoolswitchtimer); + } // Xsheet tab QString getXsheetLayoutPreference() const { diff --git a/toonz/sources/include/toonz/preferencesitemids.h b/toonz/sources/include/toonz/preferencesitemids.h index 99d8abf9..930e2e5a 100644 --- a/toonz/sources/include/toonz/preferencesitemids.h +++ b/toonz/sources/include/toonz/preferencesitemids.h @@ -107,6 +107,7 @@ enum PreferencesItemId { cursorOutlineEnabled, levelBasedToolsDisplay, useCtrlAltToResizeBrush, + temptoolswitchtimer, //---------- // Xsheet diff --git a/toonz/sources/tnztools/toolhandle.cpp b/toonz/sources/tnztools/toolhandle.cpp index 06ba72ba..72f76ae0 100644 --- a/toonz/sources/tnztools/toolhandle.cpp +++ b/toonz/sources/tnztools/toolhandle.cpp @@ -7,6 +7,7 @@ #include "timage.h" //#include "tapp.h" #include "toonzqt/menubarcommand.h" +#include "toonz/preferences.h" #include #include #include @@ -70,9 +71,10 @@ void ToolHandle::storeTool() { //----------------------------------------------------------------------------- void ToolHandle::restoreTool() { - // qDebug() << m_storedToolTime.elapsed(); + //qDebug() << m_storedToolTime.elapsed(); if (m_storedToolName != m_toolName && m_storedToolName != "" && - m_storedToolTime.elapsed() > 500) { + m_storedToolTime.elapsed() > + Preferences::instance()->getTempToolSwitchtimer()) { setTool(m_storedToolName); } } diff --git a/toonz/sources/toonz/preferencespopup.cpp b/toonz/sources/toonz/preferencespopup.cpp index 72640ebc..b482b6e8 100644 --- a/toonz/sources/toonz/preferencespopup.cpp +++ b/toonz/sources/toonz/preferencespopup.cpp @@ -1082,6 +1082,8 @@ QString PreferencesPopup::getUIString(PreferencesItemId id) { {cursorOutlineEnabled, tr("Show Cursor Size Outlines")}, {levelBasedToolsDisplay, tr("Toolbar Display Behaviour:")}, {useCtrlAltToResizeBrush, tr("Use Ctrl+Alt to Resize Brush")}, + {temptoolswitchtimer, + tr("Temporary Tool Switch Shortcut Hold Time (ms):")}, // Xsheet {xsheetLayoutPreference, tr("Column Header Layout*:")}, @@ -1716,6 +1718,7 @@ QWidget* PreferencesPopup::createToolsPage() { insertUI(levelBasedToolsDisplay, lay, getComboItemList(levelBasedToolsDisplay)); // insertUI(useCtrlAltToResizeBrush, lay); + insertUI(temptoolswitchtimer, lay); lay->setRowStretch(lay->rowCount(), 1); widget->setLayout(lay); diff --git a/toonz/sources/toonzlib/preferences.cpp b/toonz/sources/toonzlib/preferences.cpp index 0e37cdba..23717563 100644 --- a/toonz/sources/toonzlib/preferences.cpp +++ b/toonz/sources/toonzlib/preferences.cpp @@ -498,6 +498,8 @@ void Preferences::definePreferenceItems() { 0); // Default define(useCtrlAltToResizeBrush, "useCtrlAltToResizeBrush", QMetaType::Bool, true); + define(temptoolswitchtimer, "temptoolswitchtimer", QMetaType::Int, 500, 1, + std::numeric_limits::max()); // Xsheet define(xsheetLayoutPreference, "xsheetLayoutPreference", QMetaType::QString,