diff --git a/rtgui/editwindow.cc b/rtgui/editwindow.cc index d0e53d730..4ba1b369a 100644 --- a/rtgui/editwindow.cc +++ b/rtgui/editwindow.cc @@ -485,3 +485,11 @@ void EditWindow::set_title_decorated(Glib::ustring fname) set_title("RawTherapee " + M("EDITWINDOW_TITLE") + subtitle); } + +void EditWindow::updateToolPanelToolLocations( + const std::vector &favorites, bool cloneFavoriteTools) +{ + for (const auto& panel : epanels) { + panel.second->updateToolPanelToolLocations(favorites, cloneFavoriteTools); + } +} diff --git a/rtgui/editwindow.h b/rtgui/editwindow.h index b8eeaee82..b9304c5af 100644 --- a/rtgui/editwindow.h +++ b/rtgui/editwindow.h @@ -64,6 +64,8 @@ public: bool selectEditorPanel(const std::string &name); bool closeOpenEditors(); bool isProcessing(); + void updateToolPanelToolLocations( + const std::vector &favorites, bool cloneFavoriteTools); void toFront(); bool keyPressed (GdkEventKey* event); diff --git a/rtgui/filepanel.cc b/rtgui/filepanel.cc index 682dd1746..63ebd5632 100644 --- a/rtgui/filepanel.cc +++ b/rtgui/filepanel.cc @@ -436,3 +436,11 @@ void FilePanel::updateTPVScrollbar (bool hide) { tpc->updateTPVScrollbar (hide); } + +void FilePanel::updateToolPanelToolLocations( + const std::vector &favorites, bool cloneFavoriteTools) +{ + if (tpc) { + tpc->updateToolLocations(favorites, cloneFavoriteTools); + } +} diff --git a/rtgui/filepanel.h b/rtgui/filepanel.h index ba5dfa7c9..4a006f002 100644 --- a/rtgui/filepanel.h +++ b/rtgui/filepanel.h @@ -83,6 +83,8 @@ public: bool handleShortcutKey (GdkEventKey* event); bool handleShortcutKeyRelease(GdkEventKey *event); void updateTPVScrollbar (bool hide); + void updateToolPanelToolLocations( + const std::vector &favorites, bool cloneFavoriteTools); private: void on_NB_switch_page(Gtk::Widget* page, guint page_num); diff --git a/rtgui/rtwindow.cc b/rtgui/rtwindow.cc index f3eb658e5..8dfb18b12 100755 --- a/rtgui/rtwindow.cc +++ b/rtgui/rtwindow.cc @@ -1113,9 +1113,22 @@ void RTWindow::updateHistogramPosition (int oldPosition, int newPosition) void RTWindow::updateToolPanelToolLocations( const std::vector &favorites, bool cloneFavoriteTools) { + if (fpanel) { + fpanel->updateToolPanelToolLocations(favorites, cloneFavoriteTools); + } + if (epanel) { epanel->updateToolPanelToolLocations(favorites, cloneFavoriteTools); } + + for (const auto &panel : epanels) { + panel.second->updateToolPanelToolLocations(favorites, cloneFavoriteTools); + } + + if (options.multiDisplayMode > 0) { + EditWindow::getInstance(this) + ->updateToolPanelToolLocations(favorites, cloneFavoriteTools); + } } bool RTWindow::splashClosed (GdkEventAny* event)