summaryrefslogtreecommitdiffstats
path: root/src/extension/dbus/document-interface.cpp
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2019-03-15 14:21:30 +0000
committerTavmjong Bah <tavmjong@free.fr>2019-03-15 14:21:30 +0000
commit1602477dfd4371a17639b0b6e4f59f5a5ea9565a (patch)
tree6f4561f58d15f8b6608897e232b37658143d46e6 /src/extension/dbus/document-interface.cpp
parentImprove deb generation and install scripts (diff)
downloadinkscape-1602477dfd4371a17639b0b6e4f59f5a5ea9565a.tar.gz
inkscape-1602477dfd4371a17639b0b6e4f59f5a5ea9565a.zip
Make InkscapeApplication responsible for managing documents and windows.
Any change from previous behavior is a bug.
Diffstat (limited to '')
-rw-r--r--src/extension/dbus/document-interface.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/extension/dbus/document-interface.cpp b/src/extension/dbus/document-interface.cpp
index bb888d4e2..a22585cb4 100644
--- a/src/extension/dbus/document-interface.cpp
+++ b/src/extension/dbus/document-interface.cpp
@@ -20,9 +20,9 @@
#include <string.h>
#include <dbus/dbus-glib.h>
-#include <dbus/dbus-glib.h>
//#include "2geom/svg-path-parser.h" //get_node_coordinates
+#include "inkscape-application.h" // create_window()
#include "application-interface.h"
#include "desktop-style.h" //sp_desktop_get_style
@@ -930,12 +930,21 @@ document_interface_save (DocumentInterface *doc_interface, GError **error)
gboolean document_interface_load(DocumentInterface *doc_interface,
gchar *filename, GError ** /*error*/)
{
+ if (!filename) {
+ return false;
+ }
+
SPDesktop *desk = doc_interface->target.getDesktop();
if (desk) {
desktop_ensure_active(desk);
}
- const Glib::ustring file(filename);
- sp_file_open(file, NULL, TRUE, TRUE);
+
+ Glib::RefPtr<Gio::File> file = Gio::File::create_for_path(filename);
+
+ ConcreteInkscapeApplication<Gtk::Application>* app = &(ConcreteInkscapeApplication<Gtk::Application>::get_instance());
+
+ app->create_window(file);
+
if (doc_interface->updates) {
Inkscape::DocumentUndo::done(doc_interface->target.getDocument(), SP_VERB_FILE_OPEN, "Opened File");
}