From 84004a28f142e59531055b15930dec84b162ad4b Mon Sep 17 00:00:00 2001 From: buliabyak <> Date: Fri, 5 Feb 2010 14:54:54 -0400 Subject: [PATCH] make when_selected and when_nothing customizable strings, settable via selection describer constructor --- src/select-context.cpp | 11 ++++++++--- src/selection-describer.cpp | 19 ++++++++++--------- src/selection-describer.h | 5 ++++- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/select-context.cpp b/src/select-context.cpp index 606934ca6..74f54e9af 100644 --- a/src/select-context.cpp +++ b/src/select-context.cpp @@ -172,7 +172,12 @@ sp_select_context_setup(SPEventContext *ec) SPDesktop *desktop = ec->desktop; - select_context->_describer = new Inkscape::SelectionDescriber(desktop->selection, desktop->messageStack()); + select_context->_describer = new Inkscape::SelectionDescriber( + desktop->selection, + desktop->messageStack(), + _("Click selection to toggle scale/rotation handles"), + _("No objects selected. Click, Shift+click, or drag around objects to select.") + ); select_context->_seltrans = new Inkscape::SelTrans(desktop); @@ -362,7 +367,7 @@ sp_select_context_item_handler(SPEventContext *event_context, SPItem *item, GdkE case GDK_ENTER_NOTIFY: { if (!desktop->isWaitingCursor()) { - GdkCursor *cursor = gdk_cursor_new(GDK_FLEUR); + GdkCursor *cursor = gdk_cursor_new(GDK_CENTER_PTR); gdk_window_set_cursor(GTK_WIDGET(sp_desktop_canvas(desktop))->window, cursor); gdk_cursor_destroy(cursor); } @@ -723,7 +728,7 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event) _("Alt: click to select under; drag to move selected or select by touch")); // if Alt and nonempty selection, show moving cursor ("move selected"): if (alt && !selection->isEmpty() && !desktop->isWaitingCursor()) { - GdkCursor *cursor = gdk_cursor_new(GDK_FLEUR); + GdkCursor *cursor = gdk_cursor_new(GDK_CENTER_PTR); gdk_window_set_cursor(GTK_WIDGET(sp_desktop_canvas(desktop))->window, cursor); gdk_cursor_destroy(cursor); } diff --git a/src/selection-describer.cpp b/src/selection-describer.cpp index 27dd8413a..78cf9be33 100644 --- a/src/selection-describer.cpp +++ b/src/selection-describer.cpp @@ -97,8 +97,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( @@ -125,9 +127,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)); @@ -185,18 +186,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 Shift+D to look up original"), when_selected); + _("Use Shift+D 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 Shift+D to look up path"), when_selected); + _("Use Shift+D 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 Shift+D to look up frame"), when_selected); + _("Use Shift+D 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 @@ -233,7 +234,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); diff --git a/src/selection-describer.h b/src/selection-describer.h index 0c4c9b9c4..4b0e3d8c7 100644 --- a/src/selection-describer.h +++ b/src/selection-describer.h @@ -23,7 +23,7 @@ class MessageStack; class SelectionDescriber : public sigc::trackable { public: - SelectionDescriber(Inkscape::Selection *selection, MessageStack *stack); + SelectionDescriber(Inkscape::Selection *selection, MessageStack *stack, char *when_selected, char *when_nothing); ~SelectionDescriber(); private: @@ -34,6 +34,9 @@ private: sigc::connection *_selection_modified_connection; MessageContext _context; + + char *_when_selected; + char *_when_nothing; }; } -- 2.30.2