diff --git a/src/lay/lay/layMainWindow.cc b/src/lay/lay/layMainWindow.cc index 388b0d533..03732fee1 100644 --- a/src/lay/lay/layMainWindow.cc +++ b/src/lay/lay/layMainWindow.cc @@ -3339,8 +3339,8 @@ MainWindow::add_view (lay::LayoutView *view) { tl_assert (view->widget ()); - connect (view->widget (), SIGNAL (title_changed ()), this, SLOT (view_title_changed ())); - connect (view->widget (), SIGNAL (dirty_changed ()), this, SLOT (view_title_changed ())); + connect (view->widget (), SIGNAL (title_changed (lay::LayoutView *)), this, SLOT (view_title_changed (lay::LayoutView *))); + connect (view->widget (), SIGNAL (dirty_changed (lay::LayoutView *)), this, SLOT (view_title_changed (lay::LayoutView *))); connect (view->widget (), SIGNAL (edits_enabled_changed ()), this, SLOT (edits_enabled_changed ())); connect (view->widget (), SIGNAL (menu_needs_update ()), this, SLOT (menu_needs_update ())); connect (view->widget (), SIGNAL (show_message (const std::string &, int)), this, SLOT (message (const std::string &, int))); @@ -3527,14 +3527,14 @@ MainWindow::update_tab_title (int i) } void -MainWindow::view_title_changed () +MainWindow::view_title_changed (lay::LayoutView *view) { - int i = index_of (dynamic_cast (sender ())); + int i = index_of (view); if (i >= 0) { update_tab_title (i); } - if (current_view () && sender () == current_view ()->widget ()) { + if (view == current_view ()) { update_window_title (); } } diff --git a/src/lay/lay/layMainWindow.h b/src/lay/lay/layMainWindow.h index 434edf347..c1aee7ea6 100644 --- a/src/lay/lay/layMainWindow.h +++ b/src/lay/lay/layMainWindow.h @@ -638,7 +638,7 @@ public slots: void open_recent_layer_properties (size_t n); void open_recent_bookmarks (size_t n); void view_selected (int index); - void view_title_changed (); + void view_title_changed (lay::LayoutView *view); /** * @brief shows the given URL as a non-modal help window diff --git a/src/layview/layview/layLayoutView_qt.cc b/src/layview/layview/layLayoutView_qt.cc index 739e9508d..ebe5cd73b 100644 --- a/src/layview/layview/layLayoutView_qt.cc +++ b/src/layview/layview/layLayoutView_qt.cc @@ -1122,7 +1122,7 @@ void LayoutView::emit_title_changed () { if (mp_widget) { - mp_widget->emit_title_changed (); + mp_widget->emit_title_changed (this); } } @@ -1130,7 +1130,7 @@ void LayoutView::emit_dirty_changed () { if (mp_widget) { - mp_widget->emit_dirty_changed (); + mp_widget->emit_dirty_changed (this); } } diff --git a/src/layview/layview/layLayoutView_qt.h b/src/layview/layview/layLayoutView_qt.h index 5c59dec57..af49052f8 100644 --- a/src/layview/layview/layLayoutView_qt.h +++ b/src/layview/layview/layLayoutView_qt.h @@ -102,8 +102,8 @@ public: virtual void showEvent (QShowEvent *); virtual void hideEvent (QHideEvent *); - void emit_title_changed () { emit title_changed (); } - void emit_dirty_changed () { emit dirty_changed (); } + void emit_title_changed (lay::LayoutView *view) { emit title_changed (view); } + void emit_dirty_changed (lay::LayoutView *view) { emit dirty_changed (view); } void emit_show_message (const std::string &s, int ms) { emit show_message (s, ms); } void emit_current_pos_changed (double x, double y, bool dbu_units) { emit current_pos_changed (x, y, dbu_units); } void emit_clear_current_pos () { emit clear_current_pos (); } @@ -117,12 +117,12 @@ signals: /** * @brief This signal is emitted when the title changes */ - void title_changed (); + void title_changed (lay::LayoutView *view); /** * @brief This signal is emitted when the "dirty" flag changes */ - void dirty_changed (); + void dirty_changed (lay::LayoutView *view); /** * @brief This signal is emitted when the view wants to show a message for the given time (of infinitely for ms == 0)