diff options
| author | Christophe Lebras <christophe.lebras@gmail.com> | 2017-07-02 13:29:50 +0000 |
|---|---|---|
| committer | Christophe Lebras <christophe.lebras@gmail.com> | 2017-07-02 13:29:50 +0000 |
| commit | 39b41c925b4be0944724a5a9332a9a6d80faf86d (patch) | |
| tree | f143971e43390d0237db7f0e1c1fbd3302aba832 /src/file.cpp | |
| parent | Manage template informations (diff) | |
| download | inkscape-39b41c925b4be0944724a5a9332a9a6d80faf86d.tar.gz inkscape-39b41c925b4be0944724a5a9332a9a6d80faf86d.zip | |
Skip empty template information
Diffstat (limited to 'src/file.cpp')
| -rw-r--r-- | src/file.cpp | 39 |
1 files changed, 25 insertions, 14 deletions
diff --git a/src/file.cpp b/src/file.cpp index 47385c53e..549ed7d6e 100644 --- a/src/file.cpp +++ b/src/file.cpp @@ -1016,7 +1016,7 @@ sp_file_save_template(Gtk::Window &parentWindow, Glib::ustring name, bool isDefault) { - if (!SP_ACTIVE_DOCUMENT) + if (!SP_ACTIVE_DOCUMENT || name.length() == 0) return; auto document = SP_ACTIVE_DOCUMENT; @@ -1035,17 +1035,24 @@ sp_file_save_template(Gtk::Window &parentWindow, Glib::ustring name, element_node->appendChild(xml_doc->createTextNode(name.c_str())); templateinfo_node->appendChild(element_node); - element_node = xml_doc->createElement("inkscape:author"); - Inkscape::GC::release(element_node); + if (author.length() != 0) { - element_node->appendChild(xml_doc->createTextNode(author.c_str())); - templateinfo_node->appendChild(element_node); + element_node = xml_doc->createElement("inkscape:author"); + Inkscape::GC::release(element_node); - element_node = xml_doc->createElement("inkscape:_shortdesc"); - Inkscape::GC::release(element_node); + element_node->appendChild(xml_doc->createTextNode(author.c_str())); + templateinfo_node->appendChild(element_node); + } - element_node->appendChild(xml_doc->createTextNode(description.c_str())); - templateinfo_node->appendChild(element_node); + if (description.length() != 0) { + + element_node = xml_doc->createElement("inkscape:_shortdesc"); + Inkscape::GC::release(element_node); + + element_node->appendChild(xml_doc->createTextNode(description.c_str())); + templateinfo_node->appendChild(element_node); + + } element_node = xml_doc->createElement("inkscape:date"); Inkscape::GC::release(element_node); @@ -1054,11 +1061,15 @@ sp_file_save_template(Gtk::Window &parentWindow, Glib::ustring name, Glib::DateTime::create_now_local().format("%F").c_str())); templateinfo_node->appendChild(element_node); - element_node = xml_doc->createElement("inkscape:_keywords"); - Inkscape::GC::release(element_node); + if (keywords.length() != 0) { - element_node->appendChild(xml_doc->createTextNode(keywords.c_str())); - templateinfo_node->appendChild(element_node); + element_node = xml_doc->createElement("inkscape:_keywords"); + Inkscape::GC::release(element_node); + + element_node->appendChild(xml_doc->createTextNode(keywords.c_str())); + templateinfo_node->appendChild(element_node); + + } root->appendChild(templateinfo_node); @@ -1071,7 +1082,7 @@ sp_file_save_template(Gtk::Window &parentWindow, Glib::ustring name, Inkscape::Extension::FILE_SAVE_METHOD_INKSCAPE_SVG); } - name += ".svg"; + name.append(".svg"); auto filename = Inkscape::IO::Resource::get_path_ustring(USER, TEMPLATES, name.c_str()); |
