From 07e78136ad419977b1e080bfd8836a5dfda33ef7 Mon Sep 17 00:00:00 2001 From: pojienie Date: Apr 05 2020 09:17:44 +0000 Subject: add all shortcuts for fill tool --- diff --git a/toonz/sources/toonz/mainwindow.cpp b/toonz/sources/toonz/mainwindow.cpp index b3da64d..9c0d396 100644 --- a/toonz/sources/toonz/mainwindow.cpp +++ b/toonz/sources/toonz/mainwindow.cpp @@ -486,9 +486,19 @@ centralWidget->setLayout(centralWidgetLayout);*/ &MainWindow::toggleTypeBoldOblique); setCommandHandler(MI_TypeBold, this, &MainWindow::toggleTypeBold); - /*-- FillAreas,FillLinesに直接切り替えるコマンド --*/ + /*-- Fill tool + type/mode switching shortcuts --*/ + setCommandHandler(MI_FillNextType, this, &MainWindow::toggleFillNextType); + setCommandHandler(MI_FillNormal, this, &MainWindow::toggleFillNormal); + setCommandHandler(MI_FillRectangular, this, + &MainWindow::toggleFillRectangular); + setCommandHandler(MI_FillFreehand, this, &MainWindow::toggleFillFreehand); + setCommandHandler(MI_FillPolyline, this, &MainWindow::toggleFillPolyline); + setCommandHandler(MI_FillNextMode, this, &MainWindow::toggleFillNextMode); setCommandHandler(MI_FillAreas, this, &MainWindow::toggleFillAreas); setCommandHandler(MI_FillLines, this, &MainWindow::toggleFillLines); + setCommandHandler(MI_FillLinesAndAreas, this, + &MainWindow::toggleFillLinesAndAreas); + /*-- StylepickerAreas,StylepickerLinesに直接切り替えるコマンド --*/ setCommandHandler(MI_PickStyleAreas, this, &MainWindow::togglePickStyleAreas); setCommandHandler(MI_PickStyleLines, this, &MainWindow::togglePickStyleLines); @@ -2465,9 +2475,22 @@ void MainWindow::defineActions() { ToolCommandType); createAction(MI_TypeBold, tr("Type Tool - Bold"), "", ToolCommandType); - /*-- FillAreas, FillLinesにキー1つで切り替えるためのコマンド --*/ + /*-- Fill tool + type/mode switching shortcuts --*/ + createAction(MI_FillNextType, tr("Fill Tool - Next Type"), "", + ToolCommandType); + createAction(MI_FillNormal, tr("Fill Tool - Normal"), "", ToolCommandType); + createAction(MI_FillRectangular, tr("Fill Tool - Rectangular"), "", + ToolCommandType); + createAction(MI_FillFreehand, tr("Fill Tool - Freehand"), "", + ToolCommandType); + createAction(MI_FillPolyline, tr("Fill Tool - Polyline"), "", + ToolCommandType); + createAction(MI_FillNextMode, tr("Fill Tool - Next Mode"), "", + ToolCommandType); createAction(MI_FillAreas, tr("Fill Tool - Areas"), "", ToolCommandType); createAction(MI_FillLines, tr("Fill Tool - Lines"), "", ToolCommandType); + createAction(MI_FillLinesAndAreas, tr("Fill Tool - Lines & Areas"), "", + ToolCommandType); /*-- Style picker Area, Style picker Lineににキー1つで切り替えるためのコマンド * --*/ @@ -2690,7 +2713,50 @@ void MainWindow::toggleTypeBold() { } //--------------------------------------------------------------------------------------- -/*-- FillAreas, FillLinesにキー1つで切り替えるためのコマンド --*/ +/*-- Fill tool + type/mode switching shortcuts --*/ +void MainWindow::toggleFillNextType() { + if (TApp::instance()->getCurrentTool()->getTool()->getName() == T_Fill) + CommandManager::instance()->getAction("A_ToolOption_Type")->trigger(); + else + CommandManager::instance()->getAction(T_Fill)->trigger(); +} + +void MainWindow::toggleFillNormal() { + CommandManager::instance()->getAction(T_Fill)->trigger(); + CommandManager::instance()->getAction("A_ToolOption_Type:Normal")->trigger(); +} + +void MainWindow::toggleFillRectangular() { + CommandManager::instance()->getAction(T_Fill)->trigger(); + CommandManager::instance()->getAction("A_ToolOption_Type:Normal")->trigger(); + CommandManager::instance() + ->getAction("A_ToolOption_Type:Rectangular") + ->trigger(); +} + +void MainWindow::toggleFillFreehand() { + CommandManager::instance()->getAction(T_Fill)->trigger(); + CommandManager::instance()->getAction("A_ToolOption_Type:Normal")->trigger(); + CommandManager::instance() + ->getAction("A_ToolOption_Type:Freehand") + ->trigger(); +} + +void MainWindow::toggleFillPolyline() { + CommandManager::instance()->getAction(T_Fill)->trigger(); + CommandManager::instance()->getAction("A_ToolOption_Type:Normal")->trigger(); + CommandManager::instance() + ->getAction("A_ToolOption_Type:Polyline") + ->trigger(); +} + +void MainWindow::toggleFillNextMode() { + if (TApp::instance()->getCurrentTool()->getTool()->getName() == T_Fill) + CommandManager::instance()->getAction("A_ToolOption_Mode")->trigger(); + else + CommandManager::instance()->getAction(T_Fill)->trigger(); +} + void MainWindow::toggleFillAreas() { CommandManager::instance()->getAction(T_Fill)->trigger(); CommandManager::instance()->getAction("A_ToolOption_Mode:Areas")->trigger(); @@ -2701,6 +2767,13 @@ void MainWindow::toggleFillLines() { CommandManager::instance()->getAction("A_ToolOption_Mode:Lines")->trigger(); } +void MainWindow::toggleFillLinesAndAreas() { + CommandManager::instance()->getAction(T_Fill)->trigger(); + CommandManager::instance() + ->getAction("A_ToolOption_Mode:Lines & Areas") + ->trigger(); +} + //--------------------------------------------------------------------------------------- /*-- Style picker Area, Style picker Lineににキー1つで切り替えるためのコマンド * --*/ diff --git a/toonz/sources/toonz/mainwindow.h b/toonz/sources/toonz/mainwindow.h index b8b2f67..8d1b40f 100644 --- a/toonz/sources/toonz/mainwindow.h +++ b/toonz/sources/toonz/mainwindow.h @@ -139,9 +139,17 @@ public: void toggleTypeBoldOblique(); void toggleTypeBold(); - /*-- FillAreas,FillLinesに直接切り替えるコマンド --*/ + /*-- Fill tool + mode switching shortcuts --*/ + void toggleFillNextType(); + void toggleFillNormal(); + void toggleFillRectangular(); + void toggleFillFreehand(); + void toggleFillPolyline(); + void toggleFillNextMode(); void toggleFillAreas(); void toggleFillLines(); + void toggleFillLinesAndAreas(); + /*-- StylepickerAreas,StylepickerLinesに直接切り替えるコマンド --*/ void togglePickStyleAreas(); void togglePickStyleLines(); diff --git a/toonz/sources/toonz/menubarcommandids.h b/toonz/sources/toonz/menubarcommandids.h index edd95b9..4ff870d 100644 --- a/toonz/sources/toonz/menubarcommandids.h +++ b/toonz/sources/toonz/menubarcommandids.h @@ -363,8 +363,16 @@ #define MI_TypeBoldOblique "MI_TypeBoldOblique" #define MI_TypeBold "MI_TypeBold" +#define MI_FillNextType "MI_FillNextType" +#define MI_FillNormal "MI_FillNormal" +#define MI_FillRectangular "MI_FillRectangular" +#define MI_FillFreehand "MI_FillFreehand" +#define MI_FillPolyline "MI_FillPolyline" +#define MI_FillNextMode "MI_FillNextMode" #define MI_FillAreas "MI_FillAreas" #define MI_FillLines "MI_FillLines" +#define MI_FillLinesAndAreas "MI_FillLinesAndAreas" + #define MI_PickStyleAreas "MI_PickStyleAreas" #define MI_PickStyleLines "MI_PickStyleLines"