diff options
| author | Martin Owens <doctormo@gmail.com> | 2013-07-05 11:28:36 +0000 |
|---|---|---|
| committer | Martin Owens <doctormo@gmail.com> | 2013-07-05 11:28:36 +0000 |
| commit | ead55a54d3ca8f822969180cadcb2b14f78aec93 (patch) | |
| tree | 6422564d837d9d4b8aa4762703c9eb8ef2bc44ae /src/file.cpp | |
| parent | Make handle colour a configurable property. (diff) | |
| parent | Fix for builds without --enable-dbusapi (missing #ifdef) (diff) | |
| download | inkscape-ead55a54d3ca8f822969180cadcb2b14f78aec93.tar.gz inkscape-ead55a54d3ca8f822969180cadcb2b14f78aec93.zip | |
Merge: Command-line and DBus refactoring to improve inkscapes ability to be run headless.
(bzr r12402)
Diffstat (limited to 'src/file.cpp')
| -rw-r--r-- | src/file.cpp | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/src/file.cpp b/src/file.cpp index 5b4110253..5007cd901 100644 --- a/src/file.cpp +++ b/src/file.cpp @@ -68,6 +68,7 @@ #include "ui/dialog/font-substitution.h" #include <gtk/gtk.h> +#include <gtkmm/main.h> #include <glibmm/convert.h> #include <glibmm/i18n.h> @@ -209,8 +210,13 @@ SPDesktop* sp_file_new_default() void sp_file_exit() { - sp_ui_close_all(); - // no need to call inkscape_exit here; last document being closed will take care of that + if (SP_ACTIVE_DESKTOP == NULL) { + // We must be in console mode + Gtk::Main::quit(); + } else { + sp_ui_close_all(); + // no need to call inkscape_exit here; last document being closed will take care of that + } } @@ -582,24 +588,25 @@ sp_file_open_dialog(Gtk::Window &parentWindow, gpointer /*object*/, gpointer /*d /** * Remove unreferenced defs from the defs section of the document. */ -void sp_file_vacuum() +void sp_file_vacuum(SPDocument *doc) { - SPDocument *doc = SP_ACTIVE_DOCUMENT; - unsigned int diff = doc->vacuumDocument(); DocumentUndo::done(doc, SP_VERB_FILE_VACUUM, _("Clean up document")); SPDesktop *dt = SP_ACTIVE_DESKTOP; - if (diff > 0) { - dt->messageStack()->flashF(Inkscape::NORMAL_MESSAGE, - ngettext("Removed <b>%i</b> unused definition in <defs>.", - "Removed <b>%i</b> unused definitions in <defs>.", - diff), - diff); - } else { - dt->messageStack()->flash(Inkscape::NORMAL_MESSAGE, _("No unused definitions in <defs>.")); + if (dt != NULL) { + // Show status messages when in GUI mode + if (diff > 0) { + dt->messageStack()->flashF(Inkscape::NORMAL_MESSAGE, + ngettext("Removed <b>%i</b> unused definition in <defs>.", + "Removed <b>%i</b> unused definitions in <defs>.", + diff), + diff); + } else { + dt->messageStack()->flash(Inkscape::NORMAL_MESSAGE, _("No unused definitions in <defs>.")); + } } } |
