diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2016-03-14 16:37:50 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2016-03-14 16:37:50 +0000 |
| commit | b8d22beef5345210ad27cdc2685083aeae6f8f3b (patch) | |
| tree | d69b8bfd19d3627a8425a1b265c2abf229b05354 /src/widgets/toolbox.cpp | |
| parent | fixes for update to trunk (diff) | |
| parent | "Relative to" option for node alignment. (diff) | |
| download | inkscape-b8d22beef5345210ad27cdc2685083aeae6f8f3b.tar.gz inkscape-b8d22beef5345210ad27cdc2685083aeae6f8f3b.zip | |
update to trunk
(bzr r13708.1.39)
Diffstat (limited to 'src/widgets/toolbox.cpp')
| -rw-r--r-- | src/widgets/toolbox.cpp | 96 |
1 files changed, 79 insertions, 17 deletions
diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp index d56b91f5e..f4d7ebf25 100644 --- a/src/widgets/toolbox.cpp +++ b/src/widgets/toolbox.cpp @@ -16,10 +16,11 @@ * Tavmjong Bah <tavmjong@free.fr> * Abhishek Sharma * Kris De Gussem <Kris.DeGussem@gmail.com> + * Jabiertxo Arraiza <jabier.arraiza@marker.es> * * Copyright (C) 2004 David Turner * Copyright (C) 2003 MenTaLguY - * Copyright (C) 1999-2011 authors + * Copyright (C) 1999-2015 authors * Copyright (C) 2001-2002 Ximian, Inc. * * Released under GNU GPL, read the file 'COPYING' for more information @@ -54,6 +55,7 @@ #include "ui/tools-switch.h" #include "../ui/icon-names.h" #include "../ui/widget/style-swatch.h" +#include "../ui/widget/unit-tracker.h" #include "../verbs.h" #include "../widgets/button.h" #include "../widgets/spinbutton-events.h" @@ -78,7 +80,11 @@ #include "measure-toolbar.h" #include "node-toolbar.h" #include "rect-toolbar.h" -#include "paintbucket-toolbar.h" + +#if HAVE_POTRACE +# include "paintbucket-toolbar.h" +#endif + #include "pencil-toolbar.h" #include "select-toolbar.h" #include "spray-toolbar.h" @@ -150,7 +156,9 @@ static struct { { "/tools/calligraphic", "dyna_draw_tool", SP_VERB_CONTEXT_CALLIGRAPHIC, SP_VERB_CONTEXT_CALLIGRAPHIC_PREFS }, { "/tools/lpetool", "lpetool_tool", SP_VERB_CONTEXT_LPETOOL, SP_VERB_CONTEXT_LPETOOL_PREFS }, { "/tools/eraser", "eraser_tool", SP_VERB_CONTEXT_ERASER, SP_VERB_CONTEXT_ERASER_PREFS }, +#if HAVE_POTRACE { "/tools/paintbucket", "paintbucket_tool", SP_VERB_CONTEXT_PAINTBUCKET, SP_VERB_CONTEXT_PAINTBUCKET_PREFS }, +#endif { "/tools/text", "text_tool", SP_VERB_CONTEXT_TEXT, SP_VERB_CONTEXT_TEXT_PREFS }, { "/tools/connector","connector_tool", SP_VERB_CONTEXT_CONNECTOR, SP_VERB_CONTEXT_CONNECTOR_PREFS }, { "/tools/gradient", "gradient_tool", SP_VERB_CONTEXT_GRADIENT, SP_VERB_CONTEXT_GRADIENT_PREFS }, @@ -211,8 +219,10 @@ static struct { SP_VERB_INVALID, 0, 0}, { "/tools/mesh", "mesh_toolbox", 0, sp_mesh_toolbox_prep, "MeshToolbar", SP_VERB_INVALID, 0, 0}, +#if HAVE_POTRACE { "/tools/paintbucket", "paintbucket_toolbox", 0, sp_paintbucket_toolbox_prep, "PaintbucketToolbar", SP_VERB_CONTEXT_PAINTBUCKET_PREFS, "/tools/paintbucket", N_("Style of Paint Bucket fill objects")}, +#endif { NULL, NULL, NULL, NULL, NULL, SP_VERB_INVALID, NULL, NULL } }; @@ -309,14 +319,28 @@ static gchar const * ui_descr = " <toolitem action='SprayModeAction' />" " <separator />" " <toolitem action='SprayWidthAction' />" + " <toolitem action='SprayPressureWidthAction' />" " <toolitem action='SprayPopulationAction' />" - " <toolitem action='SprayPressureAction' />" + " <toolitem action='SprayPressurePopulationAction' />" " <separator />" " <toolitem action='SprayRotationAction' />" " <toolitem action='SprayScaleAction' />" + " <toolitem action='SprayPressureScaleAction' />" " <separator />" " <toolitem action='SprayStandard_deviationAction' />" " <toolitem action='SprayMeanAction' />" + " <separator />" + " <toolitem action='SprayOverNoTransparentAction' />" + " <toolitem action='SprayOverTransparentAction' />" + " <toolitem action='SprayPickNoOverlapAction' />" + " <toolitem action='SprayNoOverlapAction' />" + " <toolitem action='SprayToolOffsetAction' />" + " <separator />" + " <toolitem action='SprayPickColorAction' />" + " <toolitem action='SprayPickFillAction' />" + " <toolitem action='SprayPickStrokeAction' />" + " <toolitem action='SprayPickInverseValueAction' />" + " <toolitem action='SprayPickCenterAction' />" " </toolbar>" " <toolbar name='ZoomToolbar'>" @@ -339,9 +363,24 @@ static gchar const * ui_descr = " <toolbar name='MeasureToolbar'>" " <toolitem action='MeasureFontSizeAction' />" " <separator />" + " <toolitem action='MeasurePrecisionAction' />" + " <separator />" + " <toolitem action='MeasureScaleAction' />" + " <separator />" + " <toolitem action='MeasureOffsetAction' />" + " <separator />" " <toolitem action='measure_units_label' />" " <toolitem action='MeasureUnitsAction' />" - " </toolbar>" + " <toolitem action='MeasureIgnore1stAndLast' />" + " <toolitem action='MeasureInBettween' />" + " <toolitem action='MeasureShowHidden' />" + " <toolitem action='MeasureAllLayers' />" + " <toolitem action='MeasureReverse' />" + " <toolitem action='MeasureToPhantom' />" + " <toolitem action='MeasureToGuides' />" + " <toolitem action='MeasureMarkDimension' />" + " <toolitem action='MeasureToItem' />" + " </toolbar>" " <toolbar name='StarToolbar'>" " <separator />" @@ -398,6 +437,8 @@ static gchar const * ui_descr = " <toolitem action='FreehandModeActionPencil' />" " <separator />" " <toolitem action='PencilToleranceAction' />" + " <toolitem action='PencilLpeSimplify' />" + " <toolitem action='PencilLpeSimplifyFlatten' />" " <separator />" " <toolitem action='PencilResetAction' />" " <separator />" @@ -438,6 +479,7 @@ static gchar const * ui_descr = " <separator />" " </toolbar>" +#if HAVE_POTRACE " <toolbar name='PaintbucketToolbar'>" " <toolitem action='ChannelsAction' />" " <separator />" @@ -450,11 +492,15 @@ static gchar const * ui_descr = " <separator />" " <toolitem action='PaintbucketResetAction' />" " </toolbar>" +#endif " <toolbar name='EraserToolbar'>" " <toolitem action='EraserModeAction' />" " <separator />" " <toolitem action='EraserWidthAction' />" + " <toolitem action='EraserBreakAppart' />" + " <separator />" + " <toolitem action='EraserMassAction' />" " </toolbar>" " <toolbar name='TextToolbar'>" @@ -470,12 +516,15 @@ static gchar const * ui_descr = " <toolitem action='TextSubscriptAction' />" " <separator />" " <toolitem action='TextLineHeightAction' />" + " <toolitem action='TextLineHeightUnitAction' />" " <toolitem action='TextLetterSpacingAction' />" " <toolitem action='TextWordSpacingAction' />" " <toolitem action='TextDxAction' />" " <toolitem action='TextDyAction' />" " <toolitem action='TextRotationAction' />" " <separator />" + " <toolitem action='TextWritingModeAction' />" + " <separator />" " <toolitem action='TextOrientationAction' />" " </toolbar>" @@ -517,9 +566,12 @@ static gchar const * ui_descr = // " <toolitem action='MeshEditFillAction' />" // " <toolitem action='MeshEditStrokeAction' />" // " <toolitem action='MeshShowHandlesAction' />" + " <toolitem action='MeshToggleSidesAction' />" + " <toolitem action='MeshMakeEllipticalAction' />" + " <toolitem action='MeshPickColorsAction' />" + " <separator />" " <toolitem action='MeshWarningAction' />" " <toolitem action='MeshSmoothAction' />" - " <separator />" " </toolbar>" " <toolbar name='DropperToolbar'>" @@ -897,8 +949,12 @@ static Glib::RefPtr<Gtk::ActionGroup> create_or_fetch_actions( SPDesktop* deskto }; Inkscape::IconSize toolboxSize = ToolboxFactory::prefToSize("/toolbox/small"); - Glib::RefPtr<Gtk::ActionGroup> mainActions; + if (desktop == NULL) + { + return mainActions; + } + if ( groups.find(desktop) != groups.end() ) { mainActions = groups[desktop]; } @@ -906,10 +962,7 @@ static Glib::RefPtr<Gtk::ActionGroup> create_or_fetch_actions( SPDesktop* deskto if ( !mainActions ) { mainActions = Gtk::ActionGroup::create("main"); groups[desktop] = mainActions; - if (desktop) - { - desktop->connectDestroy(&desktopDestructHandler); - } + desktop->connectDestroy(&desktopDestructHandler); } for ( guint i = 0; i < G_N_ELEMENTS(verbsToUse); i++ ) { @@ -1071,6 +1124,10 @@ EgeAdjustmentAction * create_adjustment_action( gchar const *name, g_object_set_data( dataKludge, prefs->getEntry(path).getEntryName().data(), adj ); } + if (unit_tracker) { + unit_tracker->addAdjustment(adj); + } + // Using a cast just to make sure we pass in the right kind of function pointer g_object_set( G_OBJECT(act), "tool-post", static_cast<EgeWidgetFixup>(sp_set_font_size_smaller), NULL ); @@ -1289,8 +1346,11 @@ void setup_tool_toolbox(GtkWidget *toolbox, SPDesktop *desktop) " <toolitem action='ToolSpray' />" " <toolitem action='ToolEraser' />" +#if HAVE_POTRACE " <!-- Fill -->" " <toolitem action='ToolPaintBucket' />" +#endif + " <toolitem action='ToolGradient' />" #ifdef WITH_MESH " <toolitem action='ToolMesh' />" @@ -1417,8 +1477,11 @@ void setup_aux_toolbox(GtkWidget *toolbox, SPDesktop *desktop) gtk_table_attach( GTK_TABLE(holder), swatch_, 1, 2, 0, 1, (GtkAttachOptions)(GTK_SHRINK | GTK_FILL), (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), AUX_BETWEEN_BUTTON_GROUPS, AUX_SPACING ); #endif } - - gtk_widget_show_all( holder ); + if(i==0){ + gtk_widget_show_all( holder ); + } else { + gtk_widget_show_now( holder ); + } sp_set_font_size_smaller( holder ); gtk_size_group_add_widget( grouper, holder ); @@ -1439,7 +1502,7 @@ void update_aux_toolbox(SPDesktop * /*desktop*/, ToolBase *eventcontext, GtkWidg for (int i = 0 ; aux_toolboxes[i].type_name ; i++ ) { GtkWidget *sub_toolbox = GTK_WIDGET(g_object_get_data(G_OBJECT(toolbox), aux_toolboxes[i].data_name)); if (tname && !strcmp(tname, aux_toolboxes[i].type_name)) { - gtk_widget_show_all(sub_toolbox); + gtk_widget_show_now(sub_toolbox); g_object_set_data(G_OBJECT(toolbox), "shows", sub_toolbox); } else { gtk_widget_hide(sub_toolbox); @@ -1509,13 +1572,12 @@ static void toggle_snap_callback(GtkToggleAction *act, gpointer data) //data poi SPDesktop *dt = reinterpret_cast<SPDesktop*>(ptr); SPNamedView *nv = dt->getNamedView(); - SPDocument *doc = nv->document; - - if (dt == NULL || nv == NULL) { - g_warning("No desktop or namedview specified (in toggle_snap_callback)!"); + if (nv == NULL) { + g_warning("No namedview specified (in toggle_snap_callback)!"); return; } + SPDocument *doc = nv->document; Inkscape::XML::Node *repr = nv->getRepr(); if (repr == NULL) { |
