summaryrefslogtreecommitdiffstats
path: root/src/widgets/toolbox.cpp
diff options
context:
space:
mode:
authorMaximilian Albert <maximilian.albert@gmail.com>2008-08-18 18:42:37 +0000
committercilix42 <cilix42@users.sourceforge.net>2008-08-18 18:42:37 +0000
commit649f019aa598af3880b865d76ce004928945d16d (patch)
treeb5cbd324ed217bc9ca5402c059ed36b45a3fa718 /src/widgets/toolbox.cpp
parentAttempt to fix crashes in geometry tool which I don't see :-/ (diff)
downloadinkscape-649f019aa598af3880b865d76ce004928945d16d.tar.gz
inkscape-649f019aa598af3880b865d76ce004928945d16d.zip
Add convenience button to open LPE dialog (e.g., to adapt construction parameters numerically)
(bzr r6700)
Diffstat (limited to 'src/widgets/toolbox.cpp')
-rw-r--r--src/widgets/toolbox.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp
index 5ddfa1bdf..ab2153fe0 100644
--- a/src/widgets/toolbox.cpp
+++ b/src/widgets/toolbox.cpp
@@ -452,6 +452,8 @@ static gchar const * ui_descr =
" <separator />"
" <toolitem action='LPEMeasuringAction' />"
" <toolitem action='LPEToolUnitsAction' />"
+ " <separator />"
+ " <toolitem action='LPEOpenLPEDialogAction' />"
" </toolbar>"
" <toolbar name='DropperToolbar'>"
@@ -4994,6 +4996,17 @@ sp_lpetool_change_line_segment_type(EgeSelectOneAction* act, GObject* tbl) {
g_object_set_data( tbl, "freeze", GINT_TO_POINTER(FALSE) );
}
+static void
+lpetool_open_lpe_dialog (GtkToggleAction *act, gpointer data) {
+ SPDesktop *desktop = static_cast<SPDesktop *>(data);
+
+ if (tools_isactive(desktop, TOOLS_LPETOOL)) {
+ SPLPEToolContext *lc = SP_LPETOOL_CONTEXT(desktop->event_context);
+ sp_action_perform(Inkscape::Verb::get(SP_VERB_DIALOG_LIVE_PATH_EFFECT)->get_action(desktop), NULL);
+ }
+ gtk_toggle_action_set_active(act, false);
+}
+
static void sp_lpetool_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder)
{
UnitTracker* tracker = new UnitTracker(SP_UNIT_ABSOLUTE | SP_UNIT_DEVICE);
@@ -5103,6 +5116,18 @@ static void sp_lpetool_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActi
g_signal_connect_after( G_OBJECT(act), "changed", G_CALLBACK(lpetool_unit_changed), (GObject*)holder );
}
+ /* Open LPE dialog (to adapt parameters numerically) */
+ {
+ InkToggleAction* act = ink_toggle_action_new( "LPEOpenLPEDialogAction",
+ _("Open LPE dialog"),
+ _("Open LPE dialog (to adapt parameters numerically)"),
+ "lpetool_open_lpe_dialog",
+ Inkscape::ICON_SIZE_DECORATION );
+ gtk_action_group_add_action( mainActions, GTK_ACTION( act ) );
+ g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(lpetool_open_lpe_dialog), desktop );
+ gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), FALSE );
+ }
+
//watch selection
Inkscape::ConnectionPool* pool = Inkscape::ConnectionPool::new_connection_pool ("ISNodeToolbox");