diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/inkscape-application.cpp | 13 | ||||
| -rw-r--r-- | src/inkscape-application.h | 3 | ||||
| -rw-r--r-- | src/inkscape-window.cpp | 1 |
3 files changed, 17 insertions, 0 deletions
diff --git a/src/inkscape-application.cpp b/src/inkscape-application.cpp index cbdacf64d..0ebc93f82 100644 --- a/src/inkscape-application.cpp +++ b/src/inkscape-application.cpp @@ -52,6 +52,19 @@ InkscapeApplication::InkscapeApplication() , _active_view(nullptr) {} +void +InkscapeApplication::update_windows(SPDocument* document) +{ + // Find windows: + auto it = _documents.find( document ); + if (it != _documents.end()) { + std::vector<InkscapeWindow*> windows = it->second; + std::cout << "InkscapeApplication::update_windows: windows: " << windows.size() << std::endl; + } else { + std::cout << "InkscapeApplication::update_windows: no windows found" << std::endl; + } +} + template<class T> ConcreteInkscapeApplication<T>::ConcreteInkscapeApplication() : T("org.inkscape.application.with_gui", diff --git a/src/inkscape-application.h b/src/inkscape-application.h index 25d1e9ace..3b84770cf 100644 --- a/src/inkscape-application.h +++ b/src/inkscape-application.h @@ -59,6 +59,9 @@ public: Inkscape::UI::View::View* get_active_view() { return _active_view; } void set_active_view(Inkscape::UI::View::View* view) { _active_view = view; } + // Update all windows connected to a document. + void update_windows(SPDocument* document); + // These are needed to cast Glib::RefPtr<Gtk::Application> to Glib::RefPtr<InkscapeApplication>, // Presumably, Gtk/Gio::Application takes care of ref counting in ConcreteInkscapeApplication // so we just provide dummies (and there is only one application in the application!). diff --git a/src/inkscape-window.cpp b/src/inkscape-window.cpp index 0da0dae15..68a8db819 100644 --- a/src/inkscape-window.cpp +++ b/src/inkscape-window.cpp @@ -131,6 +131,7 @@ InkscapeWindow::on_focus_in_event(GdkEventFocus* event) _app->set_active_document(_document); _app->set_active_view(_desktop); _app->set_active_selection(_desktop->selection); + // _app->update_windows(_document); } else { std::cerr << "Inkscapewindow::on_focus_in_event: app is nullptr!" << std::endl; } |
