diff --git a/rtgui/toolpanelcoord.cc b/rtgui/toolpanelcoord.cc index 17478bcfb..e4e3dcc30 100644 --- a/rtgui/toolpanelcoord.cc +++ b/rtgui/toolpanelcoord.cc @@ -184,6 +184,7 @@ ToolPanelCoordinator::ToolPanelCoordinator () : ipc(NULL) { icm->setICMPanelListener (this); toolBar = new ToolBar (); + toolBar->setToolBarListener(this); } void ToolPanelCoordinator::addPanel (Gtk::Box* where, FoldableToolPanel* panel, Glib::ustring label) { @@ -562,3 +563,23 @@ void ToolPanelCoordinator::updateTPVScrollbar (bool hide) { void ToolPanelCoordinator::updateTabsUsesIcons (bool useIcons) { updateTabsHeader (useIcons); } + +void ToolPanelCoordinator::toolSelected (ToolMode tool) { + switch (tool) { + case TMCropSelect: + crop->exp->set_expanded(true); + toolPanelNotebook->set_current_page(toolPanelNotebook->page_num(*transformPanelSW)); + break; + case TMSpotWB: + whitebalance->exp->set_expanded(true); + toolPanelNotebook->set_current_page(toolPanelNotebook->page_num(*colorPanelSW)); + break; + case TMStraighten: + lensgeom->exp->set_expanded(true); + rotate->exp->set_expanded(true); + toolPanelNotebook->set_current_page(toolPanelNotebook->page_num(*transformPanelSW)); + break; + default: + break; + } +} diff --git a/rtgui/toolpanelcoord.h b/rtgui/toolpanelcoord.h index b7392c6a5..e4a158557 100644 --- a/rtgui/toolpanelcoord.h +++ b/rtgui/toolpanelcoord.h @@ -63,6 +63,7 @@ class ImageEditorCoordinator; class ToolPanelCoordinator : public ToolPanelListener, + public ToolBarListener, public ProfileChangeListener, public WBProvider, public DFProvider, @@ -226,6 +227,8 @@ class ToolPanelCoordinator : public ToolPanelListener, void updateTPVScrollbar (bool hide); void updateTabsUsesIcons (bool useIcons); bool handleShortcutKey (GdkEventKey* event); + + void toolSelected (ToolMode tool); }; #endif