diff options
| author | Eric Greveson <eric@greveson.co.uk> | 2013-07-10 10:53:56 +0000 |
|---|---|---|
| committer | Eric Greveson <eric@greveson.co.uk> | 2013-07-10 10:53:56 +0000 |
| commit | f01122d8c2a4a697eea3b725cb90740442e171f4 (patch) | |
| tree | e82369fc947020f42251fd9bf264ba7d7cebf3c0 /src | |
| parent | Added "dbus-name" command line option to allow a D-Bus bus name other than (diff) | |
| parent | Small refactor of align and distribute to reduce complexity. (diff) | |
| download | inkscape-f01122d8c2a4a697eea3b725cb90740442e171f4.tar.gz inkscape-f01122d8c2a4a697eea3b725cb90740442e171f4.zip | |
Merge from trunk
(bzr r12402.1.2)
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile_insert | 1 | ||||
| -rw-r--r-- | src/document.cpp | 5 | ||||
| -rw-r--r-- | src/document.h | 1 | ||||
| -rw-r--r-- | src/pixmaps/handles.xpm | 178 | ||||
| -rw-r--r-- | src/select-context.cpp | 28 | ||||
| -rw-r--r-- | src/seltrans-handles.cpp | 14 | ||||
| -rw-r--r-- | src/seltrans-handles.h | 2 | ||||
| -rw-r--r-- | src/seltrans.h | 2 | ||||
| -rw-r--r-- | src/ui/dialog/align-and-distribute.cpp | 59 | ||||
| -rw-r--r-- | src/ui/tool/transform-handle-set.cpp | 12 | ||||
| -rw-r--r-- | src/ui/widget/dock.cpp | 20 | ||||
| -rw-r--r-- | src/ui/widget/dock.h | 10 | ||||
| -rw-r--r-- | src/verbs.cpp | 12 |
13 files changed, 95 insertions, 249 deletions
diff --git a/src/Makefile_insert b/src/Makefile_insert index 023d640ca..88f809b52 100644 --- a/src/Makefile_insert +++ b/src/Makefile_insert @@ -21,6 +21,7 @@ ink_common_sources += \ color-profile.cpp color-profile.h \ color-profile-cms-fns.h \ color-rgba.h \ + colorspace.h \ common-context.cpp common-context.h \ composite-undo-stack-observer.cpp \ composite-undo-stack-observer.h \ diff --git a/src/document.cpp b/src/document.cpp index 706710cfc..0e9c43fe4 100644 --- a/src/document.cpp +++ b/src/document.cpp @@ -611,6 +611,11 @@ Geom::Point SPDocument::getDimensions() const return Geom::Point(getWidth(), getHeight()); } +Geom::OptRect SPDocument::preferredBounds() const +{ + return Geom::OptRect( Geom::Point(0, 0), getDimensions() ); +} + /** * Given a Geom::Rect that may, for example, correspond to the bbox of an object, * this function fits the canvas to that rect by resizing the canvas diff --git a/src/document.h b/src/document.h index 606a83be8..d49067250 100644 --- a/src/document.h +++ b/src/document.h @@ -228,6 +228,7 @@ public: gdouble getWidth() const; gdouble getHeight() const; Geom::Point getDimensions() const; + Geom::OptRect preferredBounds() const; void setWidth(gdouble width, const SPUnit *unit); void setHeight(gdouble height, const SPUnit *unit); void requestModified(); diff --git a/src/pixmaps/handles.xpm b/src/pixmaps/handles.xpm index f2afa026b..b61ad377c 100644 --- a/src/pixmaps/handles.xpm +++ b/src/pixmaps/handles.xpm @@ -1,5 +1,5 @@ -/* XPM */ -static char const *handle_scale_nw_xpm[] = { +/* XPM North-West */ +static char const *handle_scale_xpm[] = { "13 13 3 1", " c None", ". c #000000", @@ -18,28 +18,8 @@ static char const *handle_scale_nw_xpm[] = { " ....... ", " "}; -/* XPM */ -static char const *handle_scale_ne_xpm[] = { -"13 13 3 1", -" c None", -". c #000000", -"+ c #FFFFFF", -" ", -" ....... ", -" ..+++. ", -" .++++. ", -" .+++++. ", -" . .+++++.. ", -" ...+++++... ", -" ..+++++. . ", -" .+++++. ", -" .++++. ", -" .+++.. ", -" ....... ", -" "}; - -/* XPM */ -static char const *handle_scale_h_xpm[] = { +/* XPM Vertical */ +static char const *handle_stretch_xpm[] = { "13 13 3 1", " c None", ". c #000000", @@ -58,28 +38,8 @@ static char const *handle_scale_h_xpm[] = { " ", " "}; -/* XPM */ -static char const *handle_scale_v_xpm[] = { -"13 13 3 1", -" c None", -". c #000000", -"+ c #FFFFFF", -" . ", -" ... ", -" ..+.. ", -" ..+++.. ", -" ..+++++.. ", -" .+++. ", -" .+++. ", -" .+++. ", -" ..+++++.. ", -" ..+++.. ", -" ..+.. ", -" ... ", -" . "}; - -/* XPM */ -static char const *handle_rotate_nw_xpm[] = { +/* XPM North-West */ +static char const *handle_rotate_xpm[] = { "13 13 3 1", " c None", ". c #000000", @@ -98,8 +58,8 @@ static char const *handle_rotate_nw_xpm[] = { " ... ", " . "}; -/* XPM */ -static char const *handle_rotate_n_xpm[] = { +/* XPM North */ +static char const *handle_skew_xpm[] = { "13 13 3 1", " c None", ". c #000000", @@ -119,127 +79,6 @@ static char const *handle_rotate_n_xpm[] = { " "}; /* XPM */ -static char const *handle_rotate_ne_xpm[] = { -"13 13 3 1", -" c None", -". c #000000", -"+ c #FFFFFF", -" . ", -" .. ", -" .... ", -" ..++... ", -"..++++++. ", -" .+++++++. ", -" .+..++++. ", -" . .+++. ", -" .+++...", -" .++++.. ", -" .++.. ", -" ... ", -" . "}; - -/* XPM */ -static char const *handle_rotate_e_xpm[] = { -"13 13 3 1", -" c None", -". c #000000", -"+ c #FFFFFF", -" . ", -" ... ", -" ..+.. ", -" ..+++.. ", -" ...+++...", -" .+++. ", -" .+++. ", -" .+++. ", -" ...+++...", -" ..+++.. ", -" ..+.. ", -" ... ", -" . "}; - -/* XPM */ -static char const *handle_rotate_se_xpm[] = { -"13 13 3 1", -" c None", -". c #000000", -"+ c #FFFFFF", -" . ", -" ... ", -" .++.. ", -" .++++.. ", -" .+++...", -" . .+++. ", -" .+..++++. ", -" .+++++++. ", -"..++++++. ", -" ..++... ", -" .... ", -" .. ", -" . "}; - - -/* XPM */ -static char const *handle_rotate_s_xpm[] = { -"13 13 3 1", -" c None", -". c #000000", -"+ c #FFFFFF", -" ", -" ", -" ", -" ", -" . . ", -" .. .. ", -" ......... ", -" ..+++++++.. ", -"..+++++++++..", -" ..+++++++.. ", -" ......... ", -" .. .. ", -" . . "}; - -/* XPM */ -static char const *handle_rotate_sw_xpm[] = { -"13 13 3 1", -" c None", -". c #000000", -"+ c #FFFFFF", -" . ", -" ... ", -" ..++. ", -" ..++++. ", -"...+++. ", -" .+++. . ", -" .++++..+. ", -" .+++++++. ", -" .++++++..", -" ...++.. ", -" .... ", -" .. ", -" . "}; - -/* XPM */ -static char const *handle_rotate_w_xpm[] = { -"13 13 3 1", -" c None", -". c #000000", -"+ c #FFFFFF", -" . ", -" ... ", -" ..+.. ", -" ..+++.. ", -"...+++... ", -" .+++. ", -" .+++. ", -" .+++. ", -"...+++. . ", -" ..+++.. ", -" ..+.. ", -" ... ", -" . "}; - -/* XPM */ static char const *handle_center_xpm[] = { "13 13 3 1", " c None", @@ -258,3 +97,4 @@ static char const *handle_center_xpm[] = { " . ", " . ", " "}; + diff --git a/src/select-context.cpp b/src/select-context.cpp index 3df047368..b4b01bf15 100644 --- a/src/select-context.cpp +++ b/src/select-context.cpp @@ -91,6 +91,16 @@ sp_select_context_class_init(SPSelectContextClass *klass) event_context_class->item_handler = sp_select_context_item_handler; } +//Creates rotated variations for handles +static void +sp_load_handles(int start, int count, char const **xpm) { + handles[start] = gdk_pixbuf_new_from_xpm_data((gchar const **)xpm); + for(int i = start + 1; i < start + count; i++) { + // We use either the original at *start or previous loop item to rotate + handles[i] = gdk_pixbuf_rotate_simple(handles[i-1], GDK_PIXBUF_ROTATE_CLOCKWISE); + } +} + static void sp_select_context_init(SPSelectContext *sc) { @@ -111,19 +121,11 @@ sp_select_context_init(SPSelectContext *sc) CursorSelectMouseover = sp_cursor_new_from_xpm(cursor_select_m_xpm , 1, 1); CursorSelectDragging = sp_cursor_new_from_xpm(cursor_select_d_xpm , 1, 1); // selection handles - handles[0] = gdk_pixbuf_new_from_xpm_data((gchar const **)handle_scale_nw_xpm); - handles[1] = gdk_pixbuf_new_from_xpm_data((gchar const **)handle_scale_ne_xpm); - handles[2] = gdk_pixbuf_new_from_xpm_data((gchar const **)handle_scale_h_xpm); - handles[3] = gdk_pixbuf_new_from_xpm_data((gchar const **)handle_scale_v_xpm); - handles[4] = gdk_pixbuf_new_from_xpm_data((gchar const **)handle_rotate_nw_xpm); - handles[5] = gdk_pixbuf_new_from_xpm_data((gchar const **)handle_rotate_n_xpm); - handles[6] = gdk_pixbuf_new_from_xpm_data((gchar const **)handle_rotate_ne_xpm); - handles[7] = gdk_pixbuf_new_from_xpm_data((gchar const **)handle_rotate_e_xpm); - handles[8] = gdk_pixbuf_new_from_xpm_data((gchar const **)handle_rotate_se_xpm); - handles[9] = gdk_pixbuf_new_from_xpm_data((gchar const **)handle_rotate_s_xpm); - handles[10] = gdk_pixbuf_new_from_xpm_data((gchar const **)handle_rotate_sw_xpm); - handles[11] = gdk_pixbuf_new_from_xpm_data((gchar const **)handle_rotate_w_xpm); - handles[12] = gdk_pixbuf_new_from_xpm_data((gchar const **)handle_center_xpm); + sp_load_handles(0, 2, handle_scale_xpm); + sp_load_handles(2, 2, handle_stretch_xpm); + sp_load_handles(4, 4, handle_rotate_xpm); + sp_load_handles(8, 4, handle_skew_xpm); + sp_load_handles(12, 1, handle_center_xpm); } static void diff --git a/src/seltrans-handles.cpp b/src/seltrans-handles.cpp index bacb1301e..6dd94d297 100644 --- a/src/seltrans-handles.cpp +++ b/src/seltrans-handles.cpp @@ -16,7 +16,7 @@ SPSelTransTypeInfo const handtypes[] = { SPSelTransHandle const hands[] = { //center handle will be 0 so we can reference it quickly. {HANDLE_CENTER, SP_ANCHOR_CENTER, GDK_CROSSHAIR, 12, 0.5, 0.5}, -//handle-type anchor cursor control x y +//handle-type anchor-nudge cursor image x y {HANDLE_STRETCH, SP_ANCHOR_S, GDK_TOP_SIDE, 3, 0.5, 1}, {HANDLE_STRETCH, SP_ANCHOR_W, GDK_RIGHT_SIDE, 2, 1, 0.5}, {HANDLE_STRETCH, SP_ANCHOR_N, GDK_BOTTOM_SIDE, 3, 0.5, 0}, @@ -25,14 +25,14 @@ SPSelTransHandle const hands[] = { {HANDLE_SCALE, SP_ANCHOR_SW, GDK_TOP_RIGHT_CORNER, 1, 1, 1}, {HANDLE_SCALE, SP_ANCHOR_NW, GDK_BOTTOM_RIGHT_CORNER, 0, 1, 0}, {HANDLE_SCALE, SP_ANCHOR_NE, GDK_BOTTOM_LEFT_CORNER, 1, 0, 0}, - {HANDLE_SKEW, SP_ANCHOR_S, GDK_SB_H_DOUBLE_ARROW, 5, 0.5, 1}, - {HANDLE_SKEW, SP_ANCHOR_W, GDK_SB_V_DOUBLE_ARROW, 7, 1, 0.5}, - {HANDLE_SKEW, SP_ANCHOR_N, GDK_SB_H_DOUBLE_ARROW, 9, 0.5, 0}, + {HANDLE_SKEW, SP_ANCHOR_S, GDK_SB_H_DOUBLE_ARROW, 8, 0.5, 1}, + {HANDLE_SKEW, SP_ANCHOR_W, GDK_SB_V_DOUBLE_ARROW, 9, 1, 0.5}, + {HANDLE_SKEW, SP_ANCHOR_N, GDK_SB_H_DOUBLE_ARROW, 10, 0.5, 0}, {HANDLE_SKEW, SP_ANCHOR_E, GDK_SB_V_DOUBLE_ARROW, 11, 0, 0.5}, {HANDLE_ROTATE, SP_ANCHOR_SE, GDK_EXCHANGE, 4, 0, 1}, - {HANDLE_ROTATE, SP_ANCHOR_SW, GDK_EXCHANGE, 6, 1, 1}, - {HANDLE_ROTATE, SP_ANCHOR_NW, GDK_EXCHANGE, 8, 1, 0}, - {HANDLE_ROTATE, SP_ANCHOR_NE, GDK_EXCHANGE, 10, 0, 0}, + {HANDLE_ROTATE, SP_ANCHOR_SW, GDK_EXCHANGE, 5, 1, 1}, + {HANDLE_ROTATE, SP_ANCHOR_NW, GDK_EXCHANGE, 6, 1, 0}, + {HANDLE_ROTATE, SP_ANCHOR_NE, GDK_EXCHANGE, 7, 0, 0}, }; /* diff --git a/src/seltrans-handles.h b/src/seltrans-handles.h index 5c3fdd269..740729a6e 100644 --- a/src/seltrans-handles.h +++ b/src/seltrans-handles.h @@ -33,7 +33,7 @@ enum SPSelTransType { }; struct SPSelTransTypeInfo { - uint const *color; + guint32 const *color; gchar const *tip; }; // One per handle type in order diff --git a/src/seltrans.h b/src/seltrans.h index 667dedaf0..d97375520 100644 --- a/src/seltrans.h +++ b/src/seltrans.h @@ -180,7 +180,7 @@ private: bool _center_is_set; ///< we've already set _center, no need to reread it from items int _center_handle; - SPKnot *knots[27]; // Only some as shown at any time + SPKnot *knots[NUMHANDS]; SPCanvasItem *_norm; SPCanvasItem *_grip; SPCtrlLine *_l[4]; diff --git a/src/ui/dialog/align-and-distribute.cpp b/src/ui/dialog/align-and-distribute.cpp index 7f88824f7..6a1cfc0ba 100644 --- a/src/ui/dialog/align-and-distribute.cpp +++ b/src/ui/dialog/align-and-distribute.cpp @@ -88,23 +88,23 @@ Action::Action(const Glib::ustring &id, } -void ActionAlign::do_action(SPDesktop *desktop, int index) { - +void ActionAlign::do_action(SPDesktop *desktop, int index) +{ Inkscape::Selection *selection = sp_desktop_selection(desktop); if (!selection) return; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); bool sel_as_group = prefs->getBool("/dialogs/align/sel-as-groups"); - int prefs_bbox = prefs->getBool("/tools/bounding_box"); using Inkscape::Util::GSListConstIterator; std::list<SPItem *> selected; selected.insert<GSListConstIterator<SPItem *> >(selected.end(), selection->itemList(), NULL); if (selected.empty()) return; - Geom::Point mp; //Anchor point + const Coeffs &a = _allCoeffs[index]; + Geom::OptRect b = Geom::OptRect(); AlignAndDistribute::AlignTarget target = AlignAndDistribute::getAlignTarget(); - const Coeffs &a= _allCoeffs[index]; + switch (target) { case AlignAndDistribute::LAST: @@ -132,51 +132,27 @@ void ActionAlign::do_action(SPDesktop *desktop, int index) { /*if (!sel_as_group) { */ selected.erase(master); /*}*/ - //Compute the anchor point - Geom::OptRect b = !prefs_bbox ? thing->desktopVisualBounds() : thing->desktopGeometricBounds(); - if (b) { - mp = Geom::Point(a.mx0 * b->min()[Geom::X] + a.mx1 * b->max()[Geom::X], - a.my0 * b->min()[Geom::Y] + a.my1 * b->max()[Geom::Y]); - } else { - return; - } + b = thing->desktopPreferredBounds(); break; } - case AlignAndDistribute::PAGE: - mp = Geom::Point(a.mx1 * sp_desktop_document(desktop)->getWidth(), - a.my1 * sp_desktop_document(desktop)->getHeight()); + b = sp_desktop_document(desktop)->preferredBounds(); break; - case AlignAndDistribute::DRAWING: - { - Geom::OptRect b = !prefs_bbox ? sp_desktop_document(desktop)->getRoot()->desktopVisualBounds() - : sp_desktop_document(desktop)->getRoot()->desktopGeometricBounds(); - if (b) { - mp = Geom::Point(a.mx0 * b->min()[Geom::X] + a.mx1 * b->max()[Geom::X], - a.my0 * b->min()[Geom::Y] + a.my1 * b->max()[Geom::Y]); - } else { - return; - } + b = sp_desktop_document(desktop)->getRoot()->desktopPreferredBounds(); break; - } - case AlignAndDistribute::SELECTION: - { - Geom::OptRect b = !prefs_bbox ? selection->visualBounds() : selection->geometricBounds(); - if (b) { - mp = Geom::Point(a.mx0 * b->min()[Geom::X] + a.mx1 * b->max()[Geom::X], - a.my0 * b->min()[Geom::Y] + a.my1 * b->max()[Geom::Y]); - } else { - return; - } + b = selection->preferredBounds(); break; - } - default: g_assert_not_reached (); break; - }; // end of switch + }; + + g_return_if_fail(b); + + Geom::Point mp = Geom::Point(a.mx0 * b->min()[Geom::X] + a.mx1 * b->max()[Geom::X], + a.my0 * b->min()[Geom::Y] + a.my1 * b->max()[Geom::Y]); // Top hack: temporarily set clone compensation to unmoved, so that we can align/distribute // clones with their original (and the move of the original does not disturb the @@ -188,9 +164,8 @@ void ActionAlign::do_action(SPDesktop *desktop, int index) { prefs->setInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); bool changed = false; - Geom::OptRect b; if (sel_as_group) - b = !prefs_bbox ? selection->visualBounds() : selection->geometricBounds(); + b = selection->preferredBounds(); //Move each item in the selected list separately for (std::list<SPItem *>::iterator it(selected.begin()); @@ -199,7 +174,7 @@ void ActionAlign::do_action(SPDesktop *desktop, int index) { { sp_desktop_document (desktop)->ensureUpToDate(); if (!sel_as_group) - b = !prefs_bbox ? (*it)->desktopVisualBounds() : (*it)->desktopGeometricBounds(); + b = (*it)->desktopPreferredBounds(); if (b) { Geom::Point const sp(a.sx0 * b->min()[Geom::X] + a.sx1 * b->max()[Geom::X], a.sy0 * b->min()[Geom::Y] + a.sy1 * b->max()[Geom::Y]); diff --git a/src/ui/tool/transform-handle-set.cpp b/src/ui/tool/transform-handle-set.cpp index f0bf149f4..30963cabd 100644 --- a/src/ui/tool/transform-handle-set.cpp +++ b/src/ui/tool/transform-handle-set.cpp @@ -458,9 +458,9 @@ private: static Glib::RefPtr<Gdk::Pixbuf> _corner_to_pixbuf(unsigned c) { sp_select_context_get_type(); switch (c % 4) { - case 0: return Glib::wrap(handles[10], true); - case 1: return Glib::wrap(handles[8], true); - case 2: return Glib::wrap(handles[6], true); + case 0: return Glib::wrap(handles[7], true); + case 1: return Glib::wrap(handles[6], true); + case 2: return Glib::wrap(handles[5], true); default: return Glib::wrap(handles[4], true); } } @@ -605,9 +605,9 @@ private: static Glib::RefPtr<Gdk::Pixbuf> _side_to_pixbuf(unsigned s) { sp_select_context_get_type(); switch (s % 4) { - case 0: return Glib::wrap(handles[9], true); - case 1: return Glib::wrap(handles[7], true); - case 2: return Glib::wrap(handles[5], true); + case 0: return Glib::wrap(handles[10], true); + case 1: return Glib::wrap(handles[9], true); + case 2: return Glib::wrap(handles[8], true); default: return Glib::wrap(handles[11], true); } } diff --git a/src/ui/widget/dock.cpp b/src/ui/widget/dock.cpp index 2bfc7e0df..52e9ea605 100644 --- a/src/ui/widget/dock.cpp +++ b/src/ui/widget/dock.cpp @@ -48,11 +48,21 @@ const int Dock::_default_dock_bar_width = 36; Dock::Dock(Gtk::Orientation orientation) - : _gdl_dock (GDL_DOCK (gdl_dock_new())), - _gdl_dock_bar (GDL_DOCK_BAR (gdl_dock_bar_new(GDL_DOCK(_gdl_dock)))), + : _gdl_dock(gdl_dock_new()), +#if WITH_GDL_3_6 + _gdl_dock_bar(GDL_DOCK_BAR(gdl_dock_bar_new(G_OBJECT(_gdl_dock)))), +#else + _gdl_dock_bar(GDL_DOCK_BAR(gdl_dock_bar_new(GDL_DOCK(_gdl_dock)))), +#endif _scrolled_window (Gtk::manage(new Gtk::ScrolledWindow)) { - gdl_dock_bar_set_orientation(_gdl_dock_bar, static_cast<GtkOrientation>(orientation)); +#if WITH_GDL_3_6 + gtk_orientable_set_orientation(GTK_ORIENTABLE(_gdl_dock_bar), + static_cast<GtkOrientation>(orientation)); +#else + gdl_dock_bar_set_orientation(_gdl_dock_bar, + static_cast<GtkOrientation>(orientation)); +#endif #if WITH_GTKMM_3_0 switch(orientation) { @@ -127,7 +137,9 @@ Dock::~Dock() void Dock::addItem(DockItem& item, DockItem::Placement placement) { _dock_items.push_back(&item); - gdl_dock_add_item(_gdl_dock, GDL_DOCK_ITEM(item.gobj()), (GdlDockPlacement)placement); + gdl_dock_add_item(GDL_DOCK(_gdl_dock), + GDL_DOCK_ITEM(item.gobj()), + (GdlDockPlacement)placement); // FIXME: This is a hack to prevent the dock from expanding the main window, this can't be done // initially as the paned doesn't exist. diff --git a/src/ui/widget/dock.h b/src/ui/widget/dock.h index 611c10f46..33e60b836 100644 --- a/src/ui/widget/dock.h +++ b/src/ui/widget/dock.h @@ -74,11 +74,11 @@ protected: /** Interface widgets, will be packed like * _scrolled_window -> (_dock_box -> (_paned -> (_dock -> _filler) | _dock_bar)) */ - Gtk::Box *_dock_box; - Gtk::Paned* _paned; - GdlDock *_gdl_dock; - GdlDockBar *_gdl_dock_bar; - Gtk::VBox _filler; + Gtk::Box *_dock_box; + Gtk::Paned *_paned; + GtkWidget *_gdl_dock; + GdlDockBar *_gdl_dock_bar; + Gtk::VBox _filler; Gtk::ScrolledWindow *_scrolled_window; /** Internal signal handlers */ diff --git a/src/verbs.cpp b/src/verbs.cpp index 1dae8bcf0..d0396155c 100644 --- a/src/verbs.cpp +++ b/src/verbs.cpp @@ -2903,7 +2903,17 @@ Verb *Verb::_base_verbs[] = { N_("Link an ICC color profile"), NULL), new EditVerb(SP_VERB_EDIT_REMOVE_COLOR_PROFILE, "RemoveColorProfile", N_("Remove Color Profile"), N_("Remove a linked ICC color profile"), NULL), - + // Scripting + new ContextVerb(SP_VERB_EDIT_ADD_EXTERNAL_SCRIPT, "AddExternalScript", + N_("Add External Script"), N_("Add an external script"), NULL), + new ContextVerb(SP_VERB_EDIT_ADD_EMBEDDED_SCRIPT, "AddEmbeddedScript", + N_("Add Embedded Script"), N_("Add an embedded script"), NULL), + new ContextVerb(SP_VERB_EDIT_EMBEDDED_SCRIPT, "EditEmbeddedScript", + N_("Edit Embedded Script"), N_("Edit an embedded script"), NULL), + new ContextVerb(SP_VERB_EDIT_REMOVE_EXTERNAL_SCRIPT, "RemoveExternalScript", + N_("Remove External Script"), N_("Remove an external script"), NULL), + new ContextVerb(SP_VERB_EDIT_REMOVE_EMBEDDED_SCRIPT, "RemoveEmbeddedScript", + N_("Remove Embedded Script"), N_("Remove an embedded script"), NULL), // Align new ContextVerb(SP_VERB_ALIGN_HORIZONTAL_RIGHT_TO_ANCHOR, "AlignHorizontalRightToAnchor", N_("Align right edges of objects to the left edge of the anchor"), N_("Align right edges of objects to the left edge of the anchor"), INKSCAPE_ICON("align-horizontal-right-to-anchor")), |
