diff --git a/toonz/sources/toonz/mainwindow.cpp b/toonz/sources/toonz/mainwindow.cpp index b3c3e51..92b81ce 100644 --- a/toonz/sources/toonz/mainwindow.cpp +++ b/toonz/sources/toonz/mainwindow.cpp @@ -528,6 +528,18 @@ centralWidget->setLayout(centralWidgetLayout);*/ setCommandHandler(MI_PickStyleLinesAndAreas, this, &MainWindow::togglePickStyleLinesAndAreas); + /*-- RGB Picker tool + type switching shortcuts --*/ + setCommandHandler(MI_RGBPickerNextType, this, + &MainWindow::toggleRGBPickerNextType); + setCommandHandler(MI_RGBPickerNormal, this, + &MainWindow::toggleRGBPickerNormal); + setCommandHandler(MI_RGBPickerRectangular, this, + &MainWindow::toggleRGBPickerRectangular); + setCommandHandler(MI_RGBPickerFreehand, this, + &MainWindow::toggleRGBPickerFreehand); + setCommandHandler(MI_RGBPickerPolyline, this, + &MainWindow::toggleRGBPickerPolyline); + setCommandHandler(MI_About, this, &MainWindow::onAbout); setCommandHandler(MI_OpenOnlineManual, this, &MainWindow::onOpenOnlineManual); setCommandHandler(MI_OpenWhatsNew, this, &MainWindow::onOpenWhatsNew); @@ -2564,6 +2576,18 @@ void MainWindow::defineActions() { createAction(MI_PickStyleLinesAndAreas, tr("Style Picker Tool - Lines & Areas"), "", ToolCommandType); + /*-- RGB Picker tool + type switching shortcuts --*/ + createAction(MI_RGBPickerNextType, tr("RGB Picker Tool - Next Type"), "", + ToolCommandType); + createAction(MI_RGBPickerNormal, tr("RGB Picker Tool - Normal"), "", + ToolCommandType); + createAction(MI_RGBPickerRectangular, tr("RGB Picker Tool - Rectangular"), "", + ToolCommandType); + createAction(MI_RGBPickerFreehand, tr("RGB Picker Tool - Freehand"), "", + ToolCommandType); + createAction(MI_RGBPickerPolyline, tr("RGB Picker Tool - Polyline"), "", + ToolCommandType); + createMiscAction("A_FxSchematicToggle", tr("Toggle FX/Stage schematic"), ""); #ifdef WITH_STOPMOTION createAction(MI_StopMotionCapture, tr("Capture Stop Motion Frame"), ""); @@ -2957,6 +2981,43 @@ void MainWindow::togglePickStyleLinesAndAreas() { ->getAction("A_ToolOption_Mode:Lines & Areas") ->trigger(); } +//----------------------------------------------------------------------------- +/*-- RGB Picker tool + type switching shortcuts --*/ +void MainWindow::toggleRGBPickerNextType() { + if (TApp::instance()->getCurrentTool()->getTool()->getName() == T_RGBPicker) + CommandManager::instance()->getAction("A_ToolOption_Type")->trigger(); + else + CommandManager::instance()->getAction(T_RGBPicker)->trigger(); +} + +void MainWindow::toggleRGBPickerNormal() { + CommandManager::instance()->getAction(T_RGBPicker)->trigger(); + CommandManager::instance()->getAction("A_ToolOption_Type:Normal")->trigger(); +} + +void MainWindow::toggleRGBPickerRectangular() { + CommandManager::instance()->getAction(T_RGBPicker)->trigger(); + CommandManager::instance()->getAction("A_ToolOption_Type:Normal")->trigger(); + CommandManager::instance() + ->getAction("A_ToolOption_Type:Rectangular") + ->trigger(); +} + +void MainWindow::toggleRGBPickerFreehand() { + CommandManager::instance()->getAction(T_RGBPicker)->trigger(); + CommandManager::instance()->getAction("A_ToolOption_Type:Normal")->trigger(); + CommandManager::instance() + ->getAction("A_ToolOption_Type:Freehand") + ->trigger(); +} + +void MainWindow::toggleRGBPickerPolyline() { + CommandManager::instance()->getAction(T_RGBPicker)->trigger(); + CommandManager::instance()->getAction("A_ToolOption_Type:Normal")->trigger(); + CommandManager::instance() + ->getAction("A_ToolOption_Type:Polyline") + ->trigger(); +} //----------------------------------------------------------------------------- diff --git a/toonz/sources/toonz/mainwindow.h b/toonz/sources/toonz/mainwindow.h index 85aff95..687f6c4 100644 --- a/toonz/sources/toonz/mainwindow.h +++ b/toonz/sources/toonz/mainwindow.h @@ -173,6 +173,13 @@ public: void togglePickStyleLines(); void togglePickStyleLinesAndAreas(); + /*-- RGB Picker tool + type switching shortcuts --*/ + void toggleRGBPickerNextType(); + void toggleRGBPickerNormal(); + void toggleRGBPickerRectangular(); + void toggleRGBPickerFreehand(); + void toggleRGBPickerPolyline(); + void onNewVectorLevelButtonPressed(); void onNewToonzRasterLevelButtonPressed(); void onNewRasterLevelButtonPressed(); diff --git a/toonz/sources/toonz/menubarcommandids.h b/toonz/sources/toonz/menubarcommandids.h index 7f73d68..db15f85 100644 --- a/toonz/sources/toonz/menubarcommandids.h +++ b/toonz/sources/toonz/menubarcommandids.h @@ -393,6 +393,12 @@ #define MI_PickStyleLines "MI_PickStyleLines" #define MI_PickStyleLinesAndAreas "MI_PickStyleLinesAndAreas" +#define MI_RGBPickerNextType "MI_RGBPickerNextType" +#define MI_RGBPickerNormal "MI_RGBPickerNormal" +#define MI_RGBPickerRectangular "MI_RGBPickerRectangular" +#define MI_RGBPickerFreehand "MI_RGBPickerFreehand" +#define MI_RGBPickerPolyline "MI_RGBPickerPolyline" + #define MI_DeactivateUpperColumns "MI_DeactivateUpperColumns" #define MI_CompareToSnapshot "MI_CompareToSnapshot" #define MI_PreviewFx "MI_PreviewFx"