diff --git a/toonz/sources/tnztools/fullcolorbrushtool.cpp b/toonz/sources/tnztools/fullcolorbrushtool.cpp index fde2213..1f421a5 100644 --- a/toonz/sources/tnztools/fullcolorbrushtool.cpp +++ b/toonz/sources/tnztools/fullcolorbrushtool.cpp @@ -143,6 +143,9 @@ FullColorBrushTool::FullColorBrushTool(std::string name) m_prop.bind(m_preset); m_preset.setId("BrushPreset"); + m_modifierEraser.setId("RasterEraser"); + m_modifierLockAlpha.setId("LockAlpha"); + m_pressure.setId("PressureSensitivity"); m_brushTimer.start(); } diff --git a/toonz/sources/tnztools/tooloptions.cpp b/toonz/sources/tnztools/tooloptions.cpp index 272b18e..d814c5b 100644 --- a/toonz/sources/tnztools/tooloptions.cpp +++ b/toonz/sources/tnztools/tooloptions.cpp @@ -125,7 +125,8 @@ ToolOptionsBox::ToolOptionsBox(QWidget *parent, bool isScrollable) ToolOptionsBox::~ToolOptionsBox() { std::for_each(m_controls.begin(), m_controls.end(), std::default_delete()); - std::for_each(m_labels.begin(), m_labels.end(), std::default_delete()); + std::for_each(m_labels.begin(), m_labels.end(), + std::default_delete()); } //----------------------------------------------------------------------------- @@ -218,6 +219,17 @@ void ToolOptionControlBuilder::visit(TDoubleProperty *p) { control->addAction(a); QObject::connect(a, SIGNAL(triggered()), control, SLOT(decrease())); } + if (p->getName() == "ModifierSize") { + QAction *a; + a = cm->getAction("A_IncreaseMaxBrushThickness"); + control->addAction(a); + QObject::connect(a, SIGNAL(triggered()), control, + SLOT(increaseFractional())); + a = cm->getAction("A_DecreaseMaxBrushThickness"); + control->addAction(a); + QObject::connect(a, SIGNAL(triggered()), control, + SLOT(decreaseFractional())); + } if (p->getName() == "Hardness:") { QAction *a; a = cm->getAction("A_IncreaseBrushHardness"); diff --git a/toonz/sources/tnztools/tooloptionscontrols.cpp b/toonz/sources/tnztools/tooloptionscontrols.cpp index bee24dc..24f64bb 100644 --- a/toonz/sources/tnztools/tooloptionscontrols.cpp +++ b/toonz/sources/tnztools/tooloptionscontrols.cpp @@ -192,7 +192,7 @@ void ToolOptionSlider::onValueChanged(bool isDragging) { //----------------------------------------------------------------------------- -void ToolOptionSlider::increase() { +void ToolOptionSlider::increase(double step) { if (m_toolHandle && m_toolHandle->getTool() != m_tool) return; // active only if the belonging combo-viewer is visible if (!isInVisibleViewer(this)) return; @@ -201,7 +201,7 @@ void ToolOptionSlider::increase() { double minValue, maxValue; getRange(minValue, maxValue); - value += 1; + value += step; if (value > maxValue) value = maxValue; setValue(value); @@ -213,7 +213,11 @@ void ToolOptionSlider::increase() { //----------------------------------------------------------------------------- -void ToolOptionSlider::decrease() { +void ToolOptionSlider::increaseFractional() { increase(0.06); } + +//----------------------------------------------------------------------------- + +void ToolOptionSlider::decrease(double step) { if (m_toolHandle && m_toolHandle->getTool() != m_tool) return; // active only if the belonging combo-viewer is visible if (!isInVisibleViewer(this)) return; @@ -222,7 +226,7 @@ void ToolOptionSlider::decrease() { double minValue, maxValue; getRange(minValue, maxValue); - value -= 1; + value -= step; if (value < minValue) value = minValue; setValue(value); @@ -232,6 +236,10 @@ void ToolOptionSlider::decrease() { repaint(); } +//----------------------------------------------------------------------------- + +void ToolOptionSlider::decreaseFractional() { decrease(0.06); } + //============================================================================= ToolOptionPairSlider::ToolOptionPairSlider(TTool *tool, diff --git a/toonz/sources/tnztools/tooloptionscontrols.h b/toonz/sources/tnztools/tooloptionscontrols.h index 6af4bbc..6698552 100644 --- a/toonz/sources/tnztools/tooloptionscontrols.h +++ b/toonz/sources/tnztools/tooloptionscontrols.h @@ -119,8 +119,10 @@ public: protected slots: void onValueChanged(bool isDragging); - void increase(); - void decrease(); + void increase(double step = 1.0); + void decrease(double step = 1.0); + void increaseFractional(); + void decreaseFractional(); }; //----------------------------------------------------------------------------- diff --git a/toonz/sources/toonz/mainwindow.cpp b/toonz/sources/toonz/mainwindow.cpp index 73a3525..3061ae7 100644 --- a/toonz/sources/toonz/mainwindow.cpp +++ b/toonz/sources/toonz/mainwindow.cpp @@ -2161,6 +2161,10 @@ void MainWindow::defineActions() { createToolOptionsAction("A_ToolOption_JoinVectors", tr("Join Vectors"), ""); createToolOptionsAction("A_ToolOption_ShowOnlyActiveSkeleton", tr("Show Only Active Skeleton"), ""); + createToolOptionsAction("A_ToolOption_RasterEraser", + tr("Brush Tool - Eraser (Raster option)"), ""); + createToolOptionsAction("A_ToolOption_LockAlpha", + tr("Brush Tool - Lock Alpha"), ""); // Option Menu createToolOptionsAction("A_ToolOption_BrushPreset", tr("Brush Preset"), "");