From 58e76e40aa940d05606412f232d179e867334455 Mon Sep 17 00:00:00 2001 From: Nicolas Dufour Date: Tue, 7 Sep 2010 23:11:53 +0200 Subject: Extensions. General UI improvements (gnome HIG). New group header extension parameter. (bzr r9748) --- src/extension/param/groupheader.cpp | 68 +++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 src/extension/param/groupheader.cpp (limited to 'src/extension/param/groupheader.cpp') diff --git a/src/extension/param/groupheader.cpp b/src/extension/param/groupheader.cpp new file mode 100755 index 000000000..8bdb7f382 --- /dev/null +++ b/src/extension/param/groupheader.cpp @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2005-2010 Authors: + * Ted Gould + * Johan Engelen * + * Nicolas Dufour + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#ifdef linux // does the dollar sign need escaping when passed as string parameter? +# define ESCAPE_DOLLAR_COMMANDLINE +#endif + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + + +#include "groupheader.h" + +#include +#include +#include +#include +#include + +#include "xml/node.h" +#include "extension/extension.h" + +namespace Inkscape { +namespace Extension { + + +/** \brief Initialize the object, to do that, copy the data. */ +ParamGroupHeader::ParamGroupHeader (const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, bool gui_hidden, const gchar * gui_tip, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml) : + Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext), _value(NULL) +{ + // printf("Building GroupHeader\n"); + const char * defaultval = NULL; + if (sp_repr_children(xml) != NULL) + defaultval = sp_repr_children(xml)->content(); + + if (defaultval != NULL) + _value = g_strdup(defaultval); + + return; +} + +/** \brief Create a label for the GroupHeader */ +Gtk::Widget * +ParamGroupHeader::get_widget (SPDocument * /*doc*/, Inkscape::XML::Node * /*node*/, sigc::signal * /*changeSignal*/) +{ + if (_gui_hidden) return NULL; + + Gtk::Label * label = Gtk::manage(new Gtk::Label(Glib::ustring("") + _(_value) + Glib::ustring(""), Gtk::ALIGN_LEFT)); + label->set_line_wrap(); + label->set_padding(0,5); + label->set_use_markup(true); + label->show(); + + Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false, 4)); + hbox->pack_start(*label, true, true); + hbox->show(); + + return hbox; +} + +} /* namespace Extension */ +} /* namespace Inkscape */ -- cgit v1.2.3 From bc24a38c135c2db93e5c2776fc4d77c5bc67fea2 Mon Sep 17 00:00:00 2001 From: Nicolas Dufour Date: Sat, 9 Oct 2010 09:14:28 +0200 Subject: Extensions, i18n. Adding context to description, groupheader and radiobutton extension parameters. (bzr r9821) --- src/extension/param/groupheader.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/extension/param/groupheader.cpp') diff --git a/src/extension/param/groupheader.cpp b/src/extension/param/groupheader.cpp index 8bdb7f382..abf5f8beb 100755 --- a/src/extension/param/groupheader.cpp +++ b/src/extension/param/groupheader.cpp @@ -42,6 +42,8 @@ ParamGroupHeader::ParamGroupHeader (const gchar * name, const gchar * guitext, c if (defaultval != NULL) _value = g_strdup(defaultval); + _context = xml->attribute("msgctxt"); + return; } @@ -51,7 +53,15 @@ ParamGroupHeader::get_widget (SPDocument * /*doc*/, Inkscape::XML::Node * /*node { if (_gui_hidden) return NULL; - Gtk::Label * label = Gtk::manage(new Gtk::Label(Glib::ustring("") + _(_value) + Glib::ustring(""), Gtk::ALIGN_LEFT)); + Glib::ustring newguitext; + + if (_context != NULL) { + newguitext = g_dpgettext2(NULL, _context, _value); + } else { + newguitext = _(_value); + } + + Gtk::Label * label = Gtk::manage(new Gtk::Label(Glib::ustring("") +newguitext + Glib::ustring(""), Gtk::ALIGN_LEFT)); label->set_line_wrap(); label->set_padding(0,5); label->set_use_markup(true); -- cgit v1.2.3