summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog
diff options
context:
space:
mode:
authorJohn Smith <john.smith7545@yahoo.com>2012-07-12 08:19:58 +0000
committerJohn Smith <john.smith7545@yahoo.com>2012-07-12 08:19:58 +0000
commitd9da2a4f178e71f5b33ea158c0631e86220f2e5d (patch)
tree5502c8d1addd8f0b270877102185604c103936e8 /src/ui/dialog
parentFix for 1023655 : IMprovments to Embedded script UI (diff)
downloadinkscape-d9da2a4f178e71f5b33ea158c0631e86220f2e5d.tar.gz
inkscape-d9da2a4f178e71f5b33ea158c0631e86220f2e5d.zip
Fix for 612221 : Add metadata default configuration in the preferences
(bzr r11544)
Diffstat (limited to 'src/ui/dialog')
-rw-r--r--src/ui/dialog/document-properties.cpp31
-rw-r--r--src/ui/dialog/document-properties.h3
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp4
-rw-r--r--src/ui/dialog/inkscape-preferences.h1
4 files changed, 39 insertions, 0 deletions
diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp
index 0202360d5..71fc3ac1f 100644
--- a/src/ui/dialog/document-properties.cpp
+++ b/src/ui/dialog/document-properties.cpp
@@ -781,6 +781,20 @@ void DocumentProperties::build_metadata()
}
}
+ Gtk::Button *button_save = manage (new Gtk::Button(_("_Save as default"),1));
+ button_save->set_tooltip_text(_("Save this metadata as the default metadata"));
+ Gtk::Button *button_load = manage (new Gtk::Button(_("Use _default"),1));
+ button_load->set_tooltip_text(_("Use the previously saved default metadata here"));
+ Gtk::HButtonBox *box_buttons = manage (new Gtk::HButtonBox);
+ box_buttons->set_layout(Gtk::BUTTONBOX_END);
+ box_buttons->set_spacing(4);
+ box_buttons->pack_start(*button_save, true, true, 6);
+ box_buttons->pack_start(*button_load, true, true, 6);
+ _page_metadata1.pack_end(*box_buttons, false, false, 0);
+
+ button_save->signal_clicked().connect(sigc::mem_fun(*this, &DocumentProperties::save_default_metadata));
+ button_load->signal_clicked().connect(sigc::mem_fun(*this, &DocumentProperties::load_default_metadata));
+
_page_metadata2.show();
row = 0;
@@ -1257,6 +1271,23 @@ void DocumentProperties::on_response (int id)
hide();
}
+void DocumentProperties::load_default_metadata()
+{
+ /* Get the data RDF entities data from preferences*/
+ for (RDElist::iterator it = _rdflist.begin(); it != _rdflist.end(); ++it) {
+ (*it)->load_from_preferences ();
+ }
+}
+
+void DocumentProperties::save_default_metadata()
+{
+ /* Save these RDF entities to preferences*/
+ for (RDElist::iterator it = _rdflist.begin(); it != _rdflist.end(); ++it) {
+ (*it)->save_to_preferences (SP_ACTIVE_DOCUMENT);
+ }
+}
+
+
void DocumentProperties::_handleDocumentReplaced(SPDesktop* desktop, SPDocument *document)
{
Inkscape::XML::Node *repr = sp_desktop_namedview(desktop)->getRepr();
diff --git a/src/ui/dialog/document-properties.h b/src/ui/dialog/document-properties.h
index 90ac6d9f0..5bafddc32 100644
--- a/src/ui/dialog/document-properties.h
+++ b/src/ui/dialog/document-properties.h
@@ -20,6 +20,7 @@
#include <gtkmm/comboboxtext.h>
#include <gtkmm/liststore.h>
#include <gtkmm/notebook.h>
+#include <gtkmm/buttonbox.h>
#include <gtkmm/textview.h>
#include "ui/widget/page-sizer.h"
@@ -89,6 +90,8 @@ protected:
void editEmbeddedScript();
void external_create_popup_menu(Gtk::Widget& parent, sigc::slot<void> rem);
void embedded_create_popup_menu(Gtk::Widget& parent, sigc::slot<void> rem);
+ void load_default_metadata();
+ void save_default_metadata();
void _handleDocumentReplaced(SPDesktop* desktop, SPDocument *document);
void _handleActivateDesktop(Inkscape::Application *application, SPDesktop *desktop);
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index 38fbe63ba..f2de350a0 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -779,6 +779,10 @@ void InkscapePreferences::initPageIO()
_page_io.add_line( false, "", _misc_comment, "",
_("When on, a comment will be added to the raw print output, marking the rendered output for an object with its label"), true);
+ _misc_default_metadata.init( _("Add default metadata to new documents"), "/metadata/addToNewFile", false);
+ _page_io.add_line( false, "", _misc_default_metadata, "",
+ _("Add default metadata to new documents. Default metadata can be set from Document Properties->Metadata."), true);
+
// Input devices options
_mouse_sens.init ( "/options/cursortolerance/value", 0.0, 30.0, 1.0, 1.0, 8.0, true, false);
_page_mouse.add_line( false, _("Grab sensitivity:"), _mouse_sens, _("pixels"),
diff --git a/src/ui/dialog/inkscape-preferences.h b/src/ui/dialog/inkscape-preferences.h
index 2ff148232..1cf5cc975 100644
--- a/src/ui/dialog/inkscape-preferences.h
+++ b/src/ui/dialog/inkscape-preferences.h
@@ -286,6 +286,7 @@ protected:
UI::Widget::PrefCheckButton _font_dialog;
UI::Widget::PrefCheckButton _misc_comment;
+ UI::Widget::PrefCheckButton _misc_default_metadata;
UI::Widget::PrefCheckButton _misc_forkvectors;
UI::Widget::PrefCheckButton _misc_gradienteditor;
UI::Widget::PrefCheckButton _misc_scripts;