Code

Fix paraxial pen tool: apply constraint even if we didn't snap
[inkscape.git] / src / selection-describer.cpp
index 06c477f4bfbd8a1cc8ae8d7dc29c093bfadd2425..b7dc94441ffd0cba72dcfe4828e8f28e221e4a16 100644 (file)
@@ -39,8 +39,8 @@ const gchar *
 type2term(GType type)
 {
     if (type == SP_TYPE_ANCHOR)
-       // TRANSLATORS: only translate and put "Link" in the translation. It means internet link (anchor)
-        { return Q_("web|Link"); }
+        //TRANSLATORS: "Link" means internet link (anchor)
+        { return C_("Web", "Link"); }
     if (type == SP_TYPE_CIRCLE)
         { return _("Circle"); }
     if (type == SP_TYPE_ELLIPSE)
@@ -65,10 +65,9 @@ type2term(GType type)
         { return _("3D Box"); }
     if (type == SP_TYPE_TEXT)
         { return _("Text"); }
-    // TRANSLATORS: only translate "string" in "context|string".
-    // For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS
     if (type == SP_TYPE_USE)
-        { return Q_("object|Clone"); }
+        // TRANSLATORS: "Clone" is a noun, type of object
+        { return C_("Object", "Clone"); }
     if (type == SP_TYPE_ARC)
         { return _("Ellipse"); }
     if (type == SP_TYPE_OFFSET)
@@ -94,8 +93,10 @@ GSList *collect_terms (GSList *items)
 
 namespace Inkscape {
 
-SelectionDescriber::SelectionDescriber(Inkscape::Selection *selection, MessageStack *stack)
-: _context(stack)
+SelectionDescriber::SelectionDescriber(Inkscape::Selection *selection, MessageStack *stack, char *when_selected, char *when_nothing)
+    : _context(stack),
+      _when_selected (when_selected),
+      _when_nothing (when_nothing)
 {
     _selection_changed_connection = new sigc::connection (
              selection->connectChanged(
@@ -122,9 +123,8 @@ void SelectionDescriber::_selectionModified(Inkscape::Selection *selection, guin
 void SelectionDescriber::_updateMessageFromSelection(Inkscape::Selection *selection) {
     GSList const *items = selection->itemList();
 
-    char const *when_selected = _("Click selection to toggle scale/rotation handles");
     if (!items) { // no items
-        _context.set(Inkscape::NORMAL_MESSAGE, _("No objects selected. Click, Shift+click, or drag around objects to select."));
+        _context.set(Inkscape::NORMAL_MESSAGE, _when_nothing);
     } else {
         SPItem *item = SP_ITEM(items->data);
         SPObject *layer = selection->desktop()->layerForObject (SP_OBJECT (item));
@@ -154,7 +154,7 @@ void SelectionDescriber::_updateMessageFromSelection(Inkscape::Selection *select
 
         // Parent name
         SPObject *parent = SP_OBJECT_PARENT (item);
-        gchar *parent_label = SP_OBJECT_ID(parent);
+        gchar const *parent_label = parent->getId();
         char *quoted_parent_label = xml_quote_strdup(parent_label);
         gchar *parent_name = g_strdup_printf(_("<i>%s</i>"), quoted_parent_label);
         g_free(quoted_parent_label);
@@ -182,18 +182,18 @@ void SelectionDescriber::_updateMessageFromSelection(Inkscape::Selection *select
             if (SP_IS_USE(item) || (SP_IS_OFFSET(item) && SP_OFFSET (item)->sourceHref)) {
                 _context.setF(Inkscape::NORMAL_MESSAGE, "%s%s. %s. %s.",
                               item_desc, in_phrase,
-                              _("Use <b>Shift+D</b> to look up original"), when_selected);
+                              _("Use <b>Shift+D</b> to look up original"), _when_selected);
             } else if (SP_IS_TEXT_TEXTPATH(item)) {
                 _context.setF(Inkscape::NORMAL_MESSAGE, "%s%s. %s. %s.",
                               item_desc, in_phrase,
-                              _("Use <b>Shift+D</b> to look up path"), when_selected);
+                              _("Use <b>Shift+D</b> to look up path"), _when_selected);
             } else if (SP_IS_FLOWTEXT(item) && !SP_FLOWTEXT(item)->has_internal_frame()) {
                 _context.setF(Inkscape::NORMAL_MESSAGE, "%s%s. %s. %s.",
                               item_desc, in_phrase,
-                              _("Use <b>Shift+D</b> to look up frame"), when_selected);
+                              _("Use <b>Shift+D</b> to look up frame"), _when_selected);
             } else {
                 _context.setF(Inkscape::NORMAL_MESSAGE, "%s%s. %s.",
-                              item_desc, in_phrase, when_selected);
+                              item_desc, in_phrase, _when_selected);
             }
             g_free(item_desc);
         } else { // multiple items
@@ -230,7 +230,7 @@ void SelectionDescriber::_updateMessageFromSelection(Inkscape::Selection *select
             }
             g_slist_free (terms);
 
-            _context.setF(Inkscape::NORMAL_MESSAGE, _("%s%s. %s."), objects_str, in_phrase, when_selected);
+            _context.setF(Inkscape::NORMAL_MESSAGE, _("%s%s. %s."), objects_str, in_phrase, _when_selected);
 
             if (objects_str)
                 g_free ((gchar *) objects_str);