From 7adaa8966275b82c75ed7ca8e81164b8c7592452 Mon Sep 17 00:00:00 2001 From: konero Date: Dec 21 2022 23:20:46 +0000 Subject: Paint brush commands --- diff --git a/toonz/sources/toonz/mainwindow.cpp b/toonz/sources/toonz/mainwindow.cpp index a5d28d4..ee14446 100644 --- a/toonz/sources/toonz/mainwindow.cpp +++ b/toonz/sources/toonz/mainwindow.cpp @@ -2493,6 +2493,17 @@ void MainWindow::defineActions() { createAction(MI_TypeBold, QT_TR_NOOP("Type Tool - Bold"), "", ToolCommandType); + /*-- Paint Brush tool + mode swicthing shortcuts --*/ + createAction(MI_PaintBrushNextMode, QT_TR_NOOP("Paint Brush - Next Mode"), "", + ToolCommandType); + createAction(MI_PaintBrushAreas, QT_TR_NOOP("Paint Brush - Areas"), "", + ToolCommandType, "paintbrush_mode_areas"); + createAction(MI_PaintBrushLines, QT_TR_NOOP("Paint Brush - Lines"), "", + ToolCommandType, "paintbrush_mode_lines"); + createAction(MI_PaintBrushLinesAndAreas, + QT_TR_NOOP("Paint Brush - Lines & Areas"), "", ToolCommandType, + "paintbrush_mode_lines_areas"); + /*-- Fill tool + type/mode switching shortcuts --*/ createAction(MI_FillNextType, QT_TR_NOOP("Fill Tool - Next Type"), "", ToolCommandType); diff --git a/toonz/sources/toonz/menubarcommandids.h b/toonz/sources/toonz/menubarcommandids.h index 7e69a89..41cd6d8 100644 --- a/toonz/sources/toonz/menubarcommandids.h +++ b/toonz/sources/toonz/menubarcommandids.h @@ -360,6 +360,11 @@ #define MI_TypeBoldOblique "MI_TypeBoldOblique" #define MI_TypeBold "MI_TypeBold" +#define MI_PaintBrushNextMode "MI_PaintBrushNextMode" +#define MI_PaintBrushAreas "MI_PaintBrushAreas" +#define MI_PaintBrushLines "MI_PaintBrushLines" +#define MI_PaintBrushLinesAndAreas "MI_PaintBrushLinesAndAreas" + #define MI_FillNextType "MI_FillNextType" #define MI_FillNormal "MI_FillNormal" #define MI_FillRectangular "MI_FillRectangular" diff --git a/toonz/sources/toonz/tooloptionsshortcutinvoker.cpp b/toonz/sources/toonz/tooloptionsshortcutinvoker.cpp index e3fd0b9..f880d4b 100644 --- a/toonz/sources/toonz/tooloptionsshortcutinvoker.cpp +++ b/toonz/sources/toonz/tooloptionsshortcutinvoker.cpp @@ -481,6 +481,16 @@ void ToolOptionsShortcutInvoker::initialize() { setCommandHandler(MI_TypeBold, this, &ToolOptionsShortcutInvoker::toggleTypeBold); + /*-- Paint Brush tool + mode switching shortcuts --*/ + setCommandHandler(MI_PaintBrushNextMode, this, + &ToolOptionsShortcutInvoker::togglePaintBrushNextMode); + setCommandHandler(MI_PaintBrushAreas, this, + &ToolOptionsShortcutInvoker::togglePaintBrushAreas); + setCommandHandler(MI_PaintBrushLines, this, + &ToolOptionsShortcutInvoker::togglePaintBrushLines); + setCommandHandler(MI_PaintBrushLinesAndAreas, this, + &ToolOptionsShortcutInvoker::togglePaintBrushLinesAndAreas); + /*-- Fill tool + type/mode switching shortcuts --*/ setCommandHandler(MI_FillNextType, this, &ToolOptionsShortcutInvoker::toggleFillNextType); @@ -885,6 +895,31 @@ void ToolOptionsShortcutInvoker::toggleFillLinesAndAreas() { } //--------------------------------------------------------------------------------------- +/*-- Paint Brush tool + mode switching shortcuts --*/ +void ToolOptionsShortcutInvoker::togglePaintBrushNextMode() { + if (TApp::instance()->getCurrentTool()->getTool()->getName() == T_PaintBrush) + CommandManager::instance()->getAction("A_ToolOption_Mode")->trigger(); + else + CommandManager::instance()->getAction(T_PaintBrush)->trigger(); +} +void ToolOptionsShortcutInvoker::togglePaintBrushAreas() { + CommandManager::instance()->getAction(T_PaintBrush)->trigger(); + CommandManager::instance()->getAction("A_ToolOption_Mode:Areas")->trigger(); +} + +void ToolOptionsShortcutInvoker::togglePaintBrushLines() { + CommandManager::instance()->getAction(T_PaintBrush)->trigger(); + CommandManager::instance()->getAction("A_ToolOption_Mode:Lines")->trigger(); +} + +void ToolOptionsShortcutInvoker::togglePaintBrushLinesAndAreas() { + CommandManager::instance()->getAction(T_PaintBrush)->trigger(); + CommandManager::instance() + ->getAction("A_ToolOption_Mode:Lines & Areas") + ->trigger(); +} + +//--------------------------------------------------------------------------------------- /*-- Eraser tool + type switching shortcuts --*/ void ToolOptionsShortcutInvoker::toggleEraserNextType() { if (TApp::instance()->getCurrentTool()->getTool()->getName() == T_Eraser) diff --git a/toonz/sources/toonz/tooloptionsshortcutinvoker.h b/toonz/sources/toonz/tooloptionsshortcutinvoker.h index 2c83a02..07ec722 100644 --- a/toonz/sources/toonz/tooloptionsshortcutinvoker.h +++ b/toonz/sources/toonz/tooloptionsshortcutinvoker.h @@ -190,6 +190,12 @@ protected slots: void toggleTypeBoldOblique(); void toggleTypeBold(); + /*-- Paint Brush tool + mode switching shortcuts --*/ + void togglePaintBrushNextMode(); + void togglePaintBrushAreas(); + void togglePaintBrushLines(); + void togglePaintBrushLinesAndAreas(); + /*-- Fill tool + mode switching shortcuts --*/ void toggleFillNextType(); void toggleFillNormal();