From 39d61a7f95c64e2012c6c31a2c8d385e981c425a Mon Sep 17 00:00:00 2001 From: pojienie Date: Apr 05 2020 11:28:02 +0000 Subject: add all shortcuts for tape tool --- diff --git a/toonz/sources/toonz/mainwindow.cpp b/toonz/sources/toonz/mainwindow.cpp index 232afb9..8696859 100644 --- a/toonz/sources/toonz/mainwindow.cpp +++ b/toonz/sources/toonz/mainwindow.cpp @@ -508,6 +508,18 @@ centralWidget->setLayout(centralWidgetLayout);*/ setCommandHandler(MI_EraserPolyline, this, &MainWindow::toggleEraserPolyline); setCommandHandler(MI_EraserSegment, this, &MainWindow::toggleEraserSegment); + /*-- Tape tool + type/mode switching shortcuts --*/ + setCommandHandler(MI_TapeNextType, this, &MainWindow::toggleTapeNextType); + setCommandHandler(MI_TapeNormal, this, &MainWindow::toggleTapeNormal); + setCommandHandler(MI_TapeRectangular, this, + &MainWindow::toggleTapeRectangular); + setCommandHandler(MI_TapeNextMode, this, &MainWindow::toggleTapeNextMode); + setCommandHandler(MI_TapeEndpointToEndpoint, this, + &MainWindow::toggleTapeEndpointToEndpoint); + setCommandHandler(MI_TapeEndpointToLine, this, + &MainWindow::toggleTapeEndpointToLine); + setCommandHandler(MI_TapeLineToLine, this, &MainWindow::toggleTapeLineToLine); + /*-- StylepickerAreas,StylepickerLinesに直接切り替えるコマンド --*/ setCommandHandler(MI_PickStyleAreas, this, &MainWindow::togglePickStyleAreas); setCommandHandler(MI_PickStyleLines, this, &MainWindow::togglePickStyleLines); @@ -2382,6 +2394,12 @@ void MainWindow::defineActions() { createToolOptionsAction("A_ToolOption_Mode:Lines", tr("Mode - Lines"), ""); createToolOptionsAction("A_ToolOption_Mode:Lines & Areas", tr("Mode - Lines & Areas"), ""); + createToolOptionsAction("A_ToolOption_Mode:Endpoint to Endpoint", + tr("Mode - Endpoint to Endpoint"), ""); + createToolOptionsAction("A_ToolOption_Mode:Endpoint to Line", + tr("Mode - Endpoint to Line"), ""); + createToolOptionsAction("A_ToolOption_Mode:Line to Line", + tr("Mode - Line to Line"), ""); createToolOptionsAction("A_ToolOption_Type", tr("Type"), ""); createToolOptionsAction("A_ToolOption_Type:Normal", tr("Type - Normal"), ""); createToolOptionsAction("A_ToolOption_Type:Rectangular", @@ -2517,6 +2535,21 @@ void MainWindow::defineActions() { createAction(MI_EraserSegment, tr("Eraser Tool - Segment"), "", ToolCommandType); + /*-- Tape tool + type/mode switching shortcuts --*/ + createAction(MI_TapeNextType, tr("Tape Tool - Next Type"), "", + ToolCommandType); + createAction(MI_TapeNormal, tr("Tape Tool - Normal"), "", ToolCommandType); + createAction(MI_TapeRectangular, tr("Tape Tool - Rectangular"), "", + ToolCommandType); + createAction(MI_TapeNextMode, tr("Tape Tool - Next Mode"), "", + ToolCommandType); + createAction(MI_TapeEndpointToEndpoint, tr("Tape Tool - Endpoint to Enpoint"), + "", ToolCommandType); + createAction(MI_TapeEndpointToLine, tr("Tape Tool - Endpoint to Line"), "", + ToolCommandType); + createAction(MI_TapeLineToLine, tr("Tape Tool - Line to Line"), "", + ToolCommandType); + /*-- Style picker Area, Style picker Lineににキー1つで切り替えるためのコマンド * --*/ createAction(MI_PickStyleAreas, tr("Style Picker Tool - Areas"), "", @@ -2842,6 +2875,55 @@ void MainWindow::toggleEraserSegment() { CommandManager::instance()->getAction("A_ToolOption_Type:Normal")->trigger(); CommandManager::instance()->getAction("A_ToolOption_Type:Segment")->trigger(); } +//--------------------------------------------------------------------------------------- +/*-- Tape tool + type/mode switching shortcuts --*/ +void MainWindow::toggleTapeNextType() { + if (TApp::instance()->getCurrentTool()->getTool()->getName() == T_Tape) + CommandManager::instance()->getAction("A_ToolOption_Type")->trigger(); + else + CommandManager::instance()->getAction(T_Tape)->trigger(); +} + +void MainWindow::toggleTapeNormal() { + CommandManager::instance()->getAction(T_Tape)->trigger(); + CommandManager::instance()->getAction("A_ToolOption_Type:Normal")->trigger(); +} + +void MainWindow::toggleTapeRectangular() { + CommandManager::instance()->getAction(T_Tape)->trigger(); + CommandManager::instance()->getAction("A_ToolOption_Type:Normal")->trigger(); + CommandManager::instance() + ->getAction("A_ToolOption_Type:Rectangular") + ->trigger(); +} + +void MainWindow::toggleTapeNextMode() { + if (TApp::instance()->getCurrentTool()->getTool()->getName() == T_Tape) + CommandManager::instance()->getAction("A_ToolOption_Mode")->trigger(); + else + CommandManager::instance()->getAction(T_Tape)->trigger(); +} + +void MainWindow::toggleTapeEndpointToEndpoint() { + CommandManager::instance()->getAction(T_Tape)->trigger(); + CommandManager::instance() + ->getAction("A_ToolOption_Mode:Endpoint to Endpoint") + ->trigger(); +} + +void MainWindow::toggleTapeEndpointToLine() { + CommandManager::instance()->getAction(T_Tape)->trigger(); + CommandManager::instance() + ->getAction("A_ToolOption_Mode:Endpoint to Line") + ->trigger(); +} + +void MainWindow::toggleTapeLineToLine() { + CommandManager::instance()->getAction(T_Tape)->trigger(); + CommandManager::instance() + ->getAction("A_ToolOption_Mode:Line to Line") + ->trigger(); +} //--------------------------------------------------------------------------------------- /*-- Style picker Area, Style picker Lineににキー1つで切り替えるためのコマンド diff --git a/toonz/sources/toonz/mainwindow.h b/toonz/sources/toonz/mainwindow.h index 4b697d5..72cbb06 100644 --- a/toonz/sources/toonz/mainwindow.h +++ b/toonz/sources/toonz/mainwindow.h @@ -158,6 +158,15 @@ public: void toggleEraserPolyline(); void toggleEraserSegment(); + /*-- Tape tool + type/mode switching shortcuts --*/ + void toggleTapeNextType(); + void toggleTapeNormal(); + void toggleTapeRectangular(); + void toggleTapeNextMode(); + void toggleTapeEndpointToEndpoint(); + void toggleTapeEndpointToLine(); + void toggleTapeLineToLine(); + /*-- StylepickerAreas,StylepickerLinesに直接切り替えるコマンド --*/ void togglePickStyleAreas(); void togglePickStyleLines(); diff --git a/toonz/sources/toonz/menubarcommandids.h b/toonz/sources/toonz/menubarcommandids.h index 1eaf8c9..3089c1e 100644 --- a/toonz/sources/toonz/menubarcommandids.h +++ b/toonz/sources/toonz/menubarcommandids.h @@ -380,6 +380,14 @@ #define MI_EraserPolyline "MI_EraserPolyline" #define MI_EraserSegment "MI_EraserSegment" +#define MI_TapeNextType "MI_TapeNextType" +#define MI_TapeNormal "MI_TapeNormal" +#define MI_TapeRectangular "MI_TapeRectangular" +#define MI_TapeNextMode "MI_TapeNextMode" +#define MI_TapeEndpointToEndpoint "MI_TapeEndpointToEndpoint" +#define MI_TapeEndpointToLine "MI_TapeEndpointToLine" +#define MI_TapeLineToLine "MI_TapeLineToLine" + #define MI_PickStyleAreas "MI_PickStyleAreas" #define MI_PickStyleLines "MI_PickStyleLines"