summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2019-02-12 13:06:03 +0000
committerTavmjong Bah <tavmjong@free.fr>2019-02-12 13:06:03 +0000
commit61ed6873ac11170a8b8e9c5839fb4cb2d99c6838 (patch)
tree86ae33d730fa839e545ed637b405b004c15ad043 /src
parentChange prefix on drag and drop functions. (diff)
downloadinkscape-61ed6873ac11170a8b8e9c5839fb4cb2d99c6838.tar.gz
inkscape-61ed6873ac11170a8b8e9c5839fb4cb2d99c6838.zip
Block in window updating code. WIP
Diffstat (limited to 'src')
-rw-r--r--src/inkscape-application.cpp13
-rw-r--r--src/inkscape-application.h3
-rw-r--r--src/inkscape-window.cpp1
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;
}