diff options
| author | Jabiertxof <jtx@jtx> | 2016-12-28 08:45:05 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx> | 2016-12-28 08:45:05 +0000 |
| commit | 0b5fe85427b24c57020b852d453af5f79f5220da (patch) | |
| tree | 0b566defc5e9c0ff3efe3b1c272e2597b8b69d91 | |
| parent | First attemp working (diff) | |
| parent | Merge all upstream changes to GimpRuler (diff) | |
| download | inkscape-0b5fe85427b24c57020b852d453af5f79f5220da.tar.gz inkscape-0b5fe85427b24c57020b852d453af5f79f5220da.zip | |
add missing files
(bzr r15356.1.2)
68 files changed, 1724 insertions, 2206 deletions
diff --git a/po/POTFILES.in b/po/POTFILES.in index fb7ab76b2..b998cf294 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -334,7 +334,6 @@ src/widgets/gimp/ruler.cpp src/widgets/gradient-selector.cpp src/widgets/gradient-toolbar.cpp src/widgets/gradient-vector.cpp -src/widgets/image-menu-item.c src/widgets/lpe-toolbar.cpp src/widgets/measure-toolbar.cpp src/widgets/mesh-toolbar.cpp diff --git a/po/inkscape.pot b/po/inkscape.pot index b7eb9c210..95b5bb5be 100644 --- a/po/inkscape.pot +++ b/po/inkscape.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: inkscape-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2016-12-21 17:10+0100\n" +"POT-Creation-Date: 2016-12-27 15:30+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -1084,7 +1084,7 @@ msgstr "" #: ../src/extension/internal/filter/transparency.h:345 #: ../src/filter-enums.cpp:67 ../src/ui/dialog/clonetiler.cpp:785 #: ../src/ui/dialog/clonetiler.cpp:914 -#: ../src/ui/dialog/document-properties.cpp:153 +#: ../src/ui/dialog/document-properties.cpp:150 #: ../share/extensions/color_HSL_adjust.inx.h:20 #: ../share/extensions/color_blackandwhite.inx.h:3 #: ../share/extensions/color_brighter.inx.h:2 @@ -4444,7 +4444,7 @@ msgid "Move guide" msgstr "" #: ../src/desktop-events.cpp:494 ../src/desktop-events.cpp:550 -#: ../src/ui/dialog/guides.cpp:138 +#: ../src/ui/dialog/guides.cpp:136 msgid "Delete guide" msgstr "" @@ -4461,92 +4461,92 @@ msgstr "" msgid "No next zoom." msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:321 ../src/display/canvas-grid.cpp:677 +#: ../src/display/canvas-axonomgrid.cpp:326 ../src/display/canvas-grid.cpp:682 msgid "Grid _units:" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:323 ../src/display/canvas-grid.cpp:679 +#: ../src/display/canvas-axonomgrid.cpp:328 ../src/display/canvas-grid.cpp:684 msgid "_Origin X:" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:323 ../src/display/canvas-grid.cpp:679 +#: ../src/display/canvas-axonomgrid.cpp:328 ../src/display/canvas-grid.cpp:684 #: ../src/ui/dialog/inkscape-preferences.cpp:779 #: ../src/ui/dialog/inkscape-preferences.cpp:804 msgid "X coordinate of grid origin" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:326 ../src/display/canvas-grid.cpp:682 +#: ../src/display/canvas-axonomgrid.cpp:331 ../src/display/canvas-grid.cpp:687 msgid "O_rigin Y:" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:326 ../src/display/canvas-grid.cpp:682 +#: ../src/display/canvas-axonomgrid.cpp:331 ../src/display/canvas-grid.cpp:687 #: ../src/ui/dialog/inkscape-preferences.cpp:780 #: ../src/ui/dialog/inkscape-preferences.cpp:805 msgid "Y coordinate of grid origin" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:329 ../src/display/canvas-grid.cpp:688 +#: ../src/display/canvas-axonomgrid.cpp:334 ../src/display/canvas-grid.cpp:693 msgid "Spacing _Y:" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:329 +#: ../src/display/canvas-axonomgrid.cpp:334 #: ../src/ui/dialog/inkscape-preferences.cpp:808 msgid "Base length of z-axis" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:332 +#: ../src/display/canvas-axonomgrid.cpp:337 #: ../src/ui/dialog/inkscape-preferences.cpp:811 #: ../src/widgets/box3d-toolbar.cpp:301 msgid "Angle X:" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:332 +#: ../src/display/canvas-axonomgrid.cpp:337 #: ../src/ui/dialog/inkscape-preferences.cpp:811 msgid "Angle of x-axis" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:334 +#: ../src/display/canvas-axonomgrid.cpp:339 #: ../src/ui/dialog/inkscape-preferences.cpp:812 #: ../src/widgets/box3d-toolbar.cpp:380 msgid "Angle Z:" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:334 +#: ../src/display/canvas-axonomgrid.cpp:339 #: ../src/ui/dialog/inkscape-preferences.cpp:812 msgid "Angle of z-axis" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:338 ../src/display/canvas-grid.cpp:693 +#: ../src/display/canvas-axonomgrid.cpp:343 ../src/display/canvas-grid.cpp:698 msgid "Minor grid line _color:" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:338 ../src/display/canvas-grid.cpp:693 +#: ../src/display/canvas-axonomgrid.cpp:343 ../src/display/canvas-grid.cpp:698 #: ../src/ui/dialog/inkscape-preferences.cpp:763 msgid "Minor grid line color" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:338 ../src/display/canvas-grid.cpp:693 +#: ../src/display/canvas-axonomgrid.cpp:343 ../src/display/canvas-grid.cpp:698 msgid "Color of the minor grid lines" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:343 ../src/display/canvas-grid.cpp:698 +#: ../src/display/canvas-axonomgrid.cpp:348 ../src/display/canvas-grid.cpp:703 msgid "Ma_jor grid line color:" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:343 ../src/display/canvas-grid.cpp:698 +#: ../src/display/canvas-axonomgrid.cpp:348 ../src/display/canvas-grid.cpp:703 #: ../src/ui/dialog/inkscape-preferences.cpp:765 msgid "Major grid line color" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:344 ../src/display/canvas-grid.cpp:699 +#: ../src/display/canvas-axonomgrid.cpp:349 ../src/display/canvas-grid.cpp:704 msgid "Color of the major (highlighted) grid lines" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:348 ../src/display/canvas-grid.cpp:703 +#: ../src/display/canvas-axonomgrid.cpp:353 ../src/display/canvas-grid.cpp:708 msgid "_Major grid line every:" msgstr "" -#: ../src/display/canvas-axonomgrid.cpp:348 ../src/display/canvas-grid.cpp:703 +#: ../src/display/canvas-axonomgrid.cpp:353 ../src/display/canvas-grid.cpp:708 msgid "lines" msgstr "" @@ -4592,25 +4592,25 @@ msgid "" "to invisible grids." msgstr "" -#: ../src/display/canvas-grid.cpp:685 +#: ../src/display/canvas-grid.cpp:690 msgid "Spacing _X:" msgstr "" -#: ../src/display/canvas-grid.cpp:685 +#: ../src/display/canvas-grid.cpp:690 #: ../src/ui/dialog/inkscape-preferences.cpp:785 msgid "Distance between vertical grid lines" msgstr "" -#: ../src/display/canvas-grid.cpp:688 +#: ../src/display/canvas-grid.cpp:693 #: ../src/ui/dialog/inkscape-preferences.cpp:786 msgid "Distance between horizontal grid lines" msgstr "" -#: ../src/display/canvas-grid.cpp:720 +#: ../src/display/canvas-grid.cpp:725 msgid "_Show dots instead of lines" msgstr "" -#: ../src/display/canvas-grid.cpp:721 +#: ../src/display/canvas-grid.cpp:726 msgid "If set, displays dots at gridpoints instead of gridlines" msgstr "" @@ -5006,7 +5006,7 @@ msgstr "" #: ../src/extension/internal/bitmap/raise.cpp:42 #: ../src/extension/internal/bitmap/sample.cpp:41 #: ../src/extension/internal/bluredge.cpp:134 -#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:55 +#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:58 #: ../src/ui/dialog/object-attributes.cpp:65 #: ../src/ui/dialog/object-attributes.cpp:74 #: ../src/ui/widget/page-sizer.cpp:232 @@ -5084,8 +5084,8 @@ msgstr "" #: ../src/extension/internal/filter/color.h:1660 #: ../src/extension/internal/filter/distort.h:69 #: ../src/extension/internal/filter/morphology.h:60 ../src/rdf.cpp:244 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2743 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2823 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2742 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2822 #: ../src/ui/dialog/object-attributes.cpp:46 #: ../share/extensions/jessyInk_effects.inx.h:5 #: ../share/extensions/jessyInk_export.inx.h:3 @@ -5137,7 +5137,7 @@ msgstr "" #: ../src/extension/internal/bitmap/oilPaint.cpp:39 #: ../src/extension/internal/bitmap/sharpen.cpp:40 #: ../src/extension/internal/bitmap/unsharpmask.cpp:43 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2795 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2794 msgid "Radius:" msgstr "" @@ -5456,7 +5456,7 @@ msgid "Opacity" msgstr "" #: ../src/extension/internal/bitmap/opacity.cpp:40 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2785 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2784 #: ../src/ui/dialog/objects.cpp:1629 ../src/widgets/dropper-toolbar.cpp:83 msgid "Opacity:" msgstr "" @@ -5756,6 +5756,43 @@ msgstr "" msgid "Page Selector" msgstr "" +#. CONTROLS +#. Buttons +#. +#. Gtk::Button * help_button = add_button(Gtk::Stock::HELP, Gtk::RESPONSE_HELP); +#. if (_help == NULL) +#. help_button->set_sensitive(false); +#. +#. if (extension == NULL) +#. checkbox.set_sensitive(FALSE); +#. / Add the buttons in the bottom of the dialog +#: ../src/extension/internal/cdr-input.cpp:119 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:88 +#: ../src/extension/internal/vsd-input.cpp:121 +#: ../src/extension/prefdialog.cpp:74 +#: ../src/ui/dialog/calligraphic-profile-rename.cpp:50 +#: ../src/ui/dialog/export.cpp:904 ../src/ui/dialog/export.cpp:1287 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:737 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1052 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1599 +#: ../src/ui/dialog/guides.cpp:161 ../src/ui/dialog/layer-properties.cpp:42 +#: ../src/ui/dialog/livepatheffect-add.cpp:26 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:33 +#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:39 +#: ../src/ui/dialog/ocaldialogs.cpp:1089 ../src/ui/interface.cpp:1359 +#: ../src/widgets/desktop-widget.cpp:1047 +#: ../src/widgets/desktop-widget.cpp:1109 +msgid "_Cancel" +msgstr "" + +#: ../src/extension/internal/cdr-input.cpp:120 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:89 +#: ../src/extension/internal/vsd-input.cpp:122 +#: ../src/extension/prefdialog.cpp:75 ../src/ui/dialog/guides.cpp:159 +#: ../src/ui/dialog/pixelartdialog.cpp:299 ../src/ui/dialog/tracedialog.cpp:821 +msgid "_OK" +msgstr "" + #. Labels #: ../src/extension/internal/cdr-input.cpp:123 #: ../src/extension/internal/pdfinput/pdf-input.cpp:90 @@ -6164,7 +6201,7 @@ msgstr "" #: ../src/extension/internal/filter/blurs.h:336 #: ../src/extension/internal/filter/color.h:1280 #: ../src/extension/internal/filter/color.h:1392 -#: ../src/ui/dialog/document-properties.cpp:111 +#: ../src/ui/dialog/document-properties.cpp:108 msgid "Background color" msgstr "" @@ -6329,13 +6366,13 @@ msgstr "" #: ../src/extension/internal/filter/bumps.h:110 #: ../src/extension/internal/filter/bumps.h:332 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1173 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1172 msgid "Azimuth" msgstr "" #: ../src/extension/internal/filter/bumps.h:111 #: ../src/extension/internal/filter/bumps.h:333 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1174 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1173 msgid "Elevation" msgstr "" @@ -6597,13 +6634,13 @@ msgstr "" #: ../src/extension/internal/filter/color.h:503 #: ../src/extension/internal/filter/paint.h:498 ../src/filter-enums.cpp:111 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1029 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1028 msgid "Table" msgstr "" #: ../src/extension/internal/filter/color.h:504 #: ../src/extension/internal/filter/paint.h:499 ../src/filter-enums.cpp:112 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1032 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1031 msgid "Discrete" msgstr "" @@ -6793,7 +6830,7 @@ msgstr "" #: ../src/extension/internal/filter/paint.h:356 ../src/filter-enums.cpp:33 #: ../src/live_effects/effect.cpp:92 #: ../src/live_effects/lpe-transform_2pts.cpp:38 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1026 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1025 #: ../src/widgets/gradient-toolbar.cpp:1160 #: ../src/widgets/measure-toolbar.cpp:328 msgid "Offset" @@ -6825,7 +6862,7 @@ msgstr "" #: ../src/extension/internal/filter/color.h:1382 #: ../src/extension/internal/filter/color.h:1385 #: ../src/extension/internal/filter/color.h:1388 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2799 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2798 #: ../src/ui/dialog/input.cpp:1482 ../src/ui/dialog/layers.cpp:913 #: ../src/ui/widget/page-sizer.cpp:230 msgid "X" @@ -6839,7 +6876,7 @@ msgstr "" #: ../src/extension/internal/filter/color.h:1383 #: ../src/extension/internal/filter/color.h:1386 #: ../src/extension/internal/filter/color.h:1389 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2803 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2802 #: ../src/ui/dialog/input.cpp:1482 ../src/ui/widget/page-sizer.cpp:231 msgid "Y" msgstr "" @@ -7167,8 +7204,8 @@ msgid "XOR" msgstr "" #: ../src/extension/internal/filter/morphology.h:179 -#: ../src/ui/dialog/layer-properties.cpp:166 -#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:48 +#: ../src/ui/dialog/layer-properties.cpp:167 +#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:51 #: ../share/extensions/measure.inx.h:5 msgid "Position:" msgstr "" @@ -7644,12 +7681,12 @@ msgid "Source:" msgstr "" #: ../src/extension/internal/filter/transparency.h:56 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1541 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1540 msgid "Background" msgstr "" #: ../src/extension/internal/filter/transparency.h:59 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2740 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2739 #: ../src/ui/dialog/input.cpp:959 ../src/widgets/eraser-toolbar.cpp:163 #: ../src/widgets/pencil-toolbar.cpp:138 ../src/widgets/spray-toolbar.cpp:389 #: ../src/widgets/tweak-toolbar.cpp:254 ../share/extensions/extrude.inx.h:2 @@ -7801,7 +7838,7 @@ msgstr "" msgid "Gradients used in GIMP" msgstr "" -#: ../src/extension/internal/grid.cpp:199 ../src/ui/widget/panel.cpp:113 +#: ../src/extension/internal/grid.cpp:199 ../src/ui/widget/panel.cpp:112 msgid "Grid" msgstr "" @@ -7856,7 +7893,7 @@ msgid "Render" msgstr "" #: ../src/extension/internal/grid.cpp:210 -#: ../src/ui/dialog/document-properties.cpp:151 +#: ../src/ui/dialog/document-properties.cpp:148 #: ../src/ui/dialog/inkscape-preferences.cpp:820 #: ../src/widgets/toolbox.cpp:1865 msgid "Grids" @@ -7992,51 +8029,51 @@ msgstr "" msgid "Import settings" msgstr "" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:272 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:313 msgid "PDF Import Settings" msgstr "" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:414 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:455 msgctxt "PDF input precision" msgid "rough" msgstr "" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:415 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:456 msgctxt "PDF input precision" msgid "medium" msgstr "" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:416 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:457 msgctxt "PDF input precision" msgid "fine" msgstr "" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:417 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:458 msgctxt "PDF input precision" msgid "very fine" msgstr "" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:903 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:944 msgid "PDF Input" msgstr "" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:908 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:949 msgid "Adobe PDF (*.pdf)" msgstr "" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:909 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:950 msgid "Adobe Portable Document Format" msgstr "" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:916 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:957 msgid "AI Input" msgstr "" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:921 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:962 msgid "Adobe Illustrator 9.0 and above (*.ai)" msgstr "" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:922 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:963 msgid "Open files saved in Adobe Illustrator 9.0 and newer versions" msgstr "" @@ -8202,11 +8239,22 @@ msgstr "" msgid "Vector graphics format used by Corel WordPerfect" msgstr "" -#: ../src/extension/prefdialog.cpp:251 +#: ../src/extension/prefdialog.cpp:74 ../src/ui/dialog/aboutbox.cpp:105 +#: ../src/ui/dialog/knot-properties.cpp:44 ../src/ui/dialog/text-edit.cpp:66 +#: ../src/verbs.cpp:2489 +msgid "_Close" +msgstr "" + +#: ../src/extension/prefdialog.cpp:75 ../src/ui/dialog/text-edit.cpp:67 +#: ../src/ui/dialog/transformation.cpp:144 +msgid "_Apply" +msgstr "" + +#: ../src/extension/prefdialog.cpp:248 msgid "Live preview" msgstr "" -#: ../src/extension/prefdialog.cpp:251 +#: ../src/extension/prefdialog.cpp:248 msgid "Is the effect previewed live on canvas?" msgstr "" @@ -8507,7 +8555,7 @@ msgstr "" msgid "Copy" msgstr "" -#: ../src/filter-enums.cpp:97 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1561 +#: ../src/filter-enums.cpp:97 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1560 msgid "Destination" msgstr "" @@ -8949,7 +8997,7 @@ msgstr "" #: ../src/live_effects/effect.cpp:126 #: ../src/live_effects/lpe-show_handles.cpp:27 -#: ../src/widgets/mesh-toolbar.cpp:505 +#: ../src/widgets/mesh-toolbar.cpp:506 msgid "Show handles" msgstr "" @@ -9098,7 +9146,7 @@ msgstr "" #: ../src/live_effects/lpe-bendpath.cpp:56 #: ../src/live_effects/lpe-patternalongpath.cpp:67 -#: ../src/ui/dialog/export.cpp:257 ../src/ui/dialog/transformation.cpp:69 +#: ../src/ui/dialog/export.cpp:254 ../src/ui/dialog/transformation.cpp:69 #: ../src/ui/widget/page-sizer.cpp:220 msgid "_Width:" msgstr "" @@ -9521,22 +9569,22 @@ msgid "Not compatible. Convert to path after." msgstr "" #: ../src/live_effects/lpe-fillet-chamfer.cpp:160 -#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:62 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:65 msgid "Fillet" msgstr "" #: ../src/live_effects/lpe-fillet-chamfer.cpp:164 -#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:64 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:67 msgid "Inverse fillet" msgstr "" #: ../src/live_effects/lpe-fillet-chamfer.cpp:169 -#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:66 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:69 msgid "Chamfer" msgstr "" #: ../src/live_effects/lpe-fillet-chamfer.cpp:173 -#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:68 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:71 msgid "Inverse chamfer" msgstr "" @@ -10469,6 +10517,12 @@ msgstr "" msgid "Handles:" msgstr "" +#: ../src/live_effects/lpe-perspective-envelope.cpp:411 +#: ../src/ui/dialog/debug.cpp:77 ../src/ui/dialog/messages.cpp:47 +#: ../src/ui/dialog/transformation.cpp:137 +msgid "_Clear" +msgstr "" + #: ../src/live_effects/lpe-powerstroke.cpp:121 msgid "CubicBezierSmooth" msgstr "" @@ -11046,7 +11100,7 @@ msgid "How many construction lines (tangents) to draw" msgstr "" #: ../src/live_effects/lpe-sketch.cpp:51 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2779 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2778 #: ../share/extensions/render_alphabetsoup.inx.h:3 msgid "Scale:" msgstr "" @@ -11221,9 +11275,9 @@ msgstr "" #: ../src/live_effects/lpe-transform_2pts.cpp:346 #: ../src/ui/dialog/inkscape-preferences.cpp:1587 #: ../src/ui/dialog/pixelartdialog.cpp:290 -#: ../src/ui/dialog/svg-fonts-dialog.cpp:796 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:795 #: ../src/ui/dialog/tracedialog.cpp:812 -#: ../src/ui/widget/preferences-widget.cpp:662 +#: ../src/ui/widget/preferences-widget.cpp:661 msgid "Reset" msgstr "" @@ -11793,7 +11847,7 @@ msgid "_Path" msgstr "" #: ../src/menus-skeleton.h:260 ../src/ui/dialog/find.cpp:71 -#: ../src/ui/dialog/text-edit.cpp:64 +#: ../src/ui/dialog/text-edit.cpp:63 msgid "_Text" msgstr "" @@ -12147,10 +12201,8 @@ msgstr "" msgid "<b>Nothing</b> was deleted." msgstr "" -#: ../src/selection-chemistry.cpp:408 -#: ../src/ui/dialog/calligraphic-profile-rename.cpp:54 -#: ../src/ui/dialog/swatches.cpp:268 ../src/ui/tools/text-tool.cpp:961 -#: ../src/widgets/eraser-toolbar.cpp:143 +#: ../src/selection-chemistry.cpp:408 ../src/ui/dialog/swatches.cpp:268 +#: ../src/ui/tools/text-tool.cpp:961 ../src/widgets/eraser-toolbar.cpp:143 #: ../src/widgets/gradient-toolbar.cpp:1182 #: ../src/widgets/gradient-toolbar.cpp:1196 #: ../src/widgets/gradient-toolbar.cpp:1210 ../src/widgets/node-toolbar.cpp:399 @@ -12275,7 +12327,7 @@ msgid "Select <b>object(s)</b> to remove filters from." msgstr "" #: ../src/selection-chemistry.cpp:1303 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1672 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1671 msgid "Remove filter" msgstr "" @@ -12733,8 +12785,8 @@ msgstr "" msgid "Keyboard directory (%s) is unavailable." msgstr "" -#: ../src/shortcuts.cpp:335 ../src/ui/dialog/export.cpp:1289 -#: ../src/ui/dialog/export.cpp:1323 +#: ../src/shortcuts.cpp:335 ../src/ui/dialog/export.cpp:1284 +#: ../src/ui/dialog/export.cpp:1318 msgid "Select a filename for exporting" msgstr "" @@ -13623,8 +13675,8 @@ msgid "Smallest object" msgstr "" #: ../src/ui/dialog/align-and-distribute.cpp:1059 -#: ../src/ui/dialog/document-properties.cpp:149 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1487 +#: ../src/ui/dialog/document-properties.cpp:146 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1486 #: ../src/widgets/desktop-widget.cpp:1929 #: ../share/extensions/empty_page.inx.h:1 #: ../share/extensions/voronoi2svg.inx.h:10 @@ -13656,8 +13708,18 @@ msgstr "" msgid "Profile name:" msgstr "" +#: ../src/ui/dialog/calligraphic-profile-rename.cpp:54 +#: ../src/ui/dialog/guides.cpp:160 ../src/verbs.cpp:2528 +msgid "_Delete" +msgstr "" + #: ../src/ui/dialog/calligraphic-profile-rename.cpp:59 -msgid "Save" +#: ../src/ui/dialog/export.cpp:1288 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1053 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1600 +#: ../src/ui/dialog/input.cpp:953 ../src/verbs.cpp:2468 +#: ../src/widgets/desktop-widget.cpp:1048 +msgid "_Save" msgstr "" #: ../src/ui/dialog/calligraphic-profile-rename.cpp:113 @@ -14399,10 +14461,6 @@ msgstr "" msgid "Messages" msgstr "" -#: ../src/ui/dialog/debug.cpp:77 ../src/ui/dialog/messages.cpp:47 -msgid "_Clear" -msgstr "" - #: ../src/ui/dialog/debug.cpp:81 ../src/ui/dialog/messages.cpp:48 msgid "Capture log messages" msgstr "" @@ -14412,305 +14470,305 @@ msgid "Release log messages" msgstr "" #: ../src/ui/dialog/document-metadata.cpp:77 -#: ../src/ui/dialog/document-properties.cpp:155 +#: ../src/ui/dialog/document-properties.cpp:152 msgid "Metadata" msgstr "" #: ../src/ui/dialog/document-metadata.cpp:78 -#: ../src/ui/dialog/document-properties.cpp:156 +#: ../src/ui/dialog/document-properties.cpp:153 msgid "License" msgstr "" #: ../src/ui/dialog/document-metadata.cpp:115 -#: ../src/ui/dialog/document-properties.cpp:922 +#: ../src/ui/dialog/document-properties.cpp:919 msgid "<b>Dublin Core Entities</b>" msgstr "" #: ../src/ui/dialog/document-metadata.cpp:147 -#: ../src/ui/dialog/document-properties.cpp:969 +#: ../src/ui/dialog/document-properties.cpp:966 msgid "<b>License</b>" msgstr "" #. --------------------------------------------------------------- -#: ../src/ui/dialog/document-properties.cpp:106 +#: ../src/ui/dialog/document-properties.cpp:103 msgid "Use antialiasing" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:106 +#: ../src/ui/dialog/document-properties.cpp:103 msgid "If unset, no antialiasing will be done on the drawing" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:107 +#: ../src/ui/dialog/document-properties.cpp:104 msgid "Checkerboard background" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:107 +#: ../src/ui/dialog/document-properties.cpp:104 msgid "" "If set, use checkerboard for background, otherwise use background color at " "full opacity." msgstr "" -#: ../src/ui/dialog/document-properties.cpp:108 +#: ../src/ui/dialog/document-properties.cpp:105 msgid "Show page _border" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:108 +#: ../src/ui/dialog/document-properties.cpp:105 msgid "If set, rectangular page border is shown" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:109 +#: ../src/ui/dialog/document-properties.cpp:106 msgid "Border on _top of drawing" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:109 +#: ../src/ui/dialog/document-properties.cpp:106 msgid "If set, border is always on top of the drawing" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:110 +#: ../src/ui/dialog/document-properties.cpp:107 msgid "_Show border shadow" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:110 +#: ../src/ui/dialog/document-properties.cpp:107 msgid "If set, page border shows a shadow on its right and lower side" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:111 +#: ../src/ui/dialog/document-properties.cpp:108 msgid "Back_ground color:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:111 +#: ../src/ui/dialog/document-properties.cpp:108 msgid "" "Color of the page background. Note: transparency setting ignored while " "editing if 'Checkerboard background' unset (but used when exporting to " "bitmap)." msgstr "" -#: ../src/ui/dialog/document-properties.cpp:112 +#: ../src/ui/dialog/document-properties.cpp:109 msgid "Border _color:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:112 +#: ../src/ui/dialog/document-properties.cpp:109 msgid "Page border color" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:112 +#: ../src/ui/dialog/document-properties.cpp:109 msgid "Color of the page border" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:113 +#: ../src/ui/dialog/document-properties.cpp:110 msgid "Display _units:" msgstr "" #. --------------------------------------------------------------- #. General snap options -#: ../src/ui/dialog/document-properties.cpp:117 +#: ../src/ui/dialog/document-properties.cpp:114 msgid "Show _guides" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:117 +#: ../src/ui/dialog/document-properties.cpp:114 msgid "Show or hide guides" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:118 +#: ../src/ui/dialog/document-properties.cpp:115 msgid "Guide co_lor:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:118 +#: ../src/ui/dialog/document-properties.cpp:115 msgid "Guideline color" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:118 +#: ../src/ui/dialog/document-properties.cpp:115 msgid "Color of guidelines" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:119 +#: ../src/ui/dialog/document-properties.cpp:116 msgid "_Highlight color:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:119 +#: ../src/ui/dialog/document-properties.cpp:116 msgid "Highlighted guideline color" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:119 +#: ../src/ui/dialog/document-properties.cpp:116 msgid "Color of a guideline when it is under mouse" msgstr "" #. --------------------------------------------------------------- -#: ../src/ui/dialog/document-properties.cpp:121 +#: ../src/ui/dialog/document-properties.cpp:118 msgid "Snap _distance" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:121 +#: ../src/ui/dialog/document-properties.cpp:118 msgid "Snap only when _closer than:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:121 -#: ../src/ui/dialog/document-properties.cpp:126 -#: ../src/ui/dialog/document-properties.cpp:131 +#: ../src/ui/dialog/document-properties.cpp:118 +#: ../src/ui/dialog/document-properties.cpp:123 +#: ../src/ui/dialog/document-properties.cpp:128 msgid "Always snap" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:122 +#: ../src/ui/dialog/document-properties.cpp:119 msgid "Snapping distance, in screen pixels, for snapping to objects" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:122 +#: ../src/ui/dialog/document-properties.cpp:119 msgid "Always snap to objects, regardless of their distance" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:123 +#: ../src/ui/dialog/document-properties.cpp:120 msgid "" "If set, objects only snap to another object when it's within the range " "specified below" msgstr "" #. Options for snapping to grids -#: ../src/ui/dialog/document-properties.cpp:126 +#: ../src/ui/dialog/document-properties.cpp:123 msgid "Snap d_istance" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:126 +#: ../src/ui/dialog/document-properties.cpp:123 msgid "Snap only when c_loser than:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:127 +#: ../src/ui/dialog/document-properties.cpp:124 msgid "Snapping distance, in screen pixels, for snapping to grid" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:127 +#: ../src/ui/dialog/document-properties.cpp:124 msgid "Always snap to grids, regardless of the distance" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:128 +#: ../src/ui/dialog/document-properties.cpp:125 msgid "" "If set, objects only snap to a grid line when it's within the range " "specified below" msgstr "" #. Options for snapping to guides -#: ../src/ui/dialog/document-properties.cpp:131 +#: ../src/ui/dialog/document-properties.cpp:128 msgid "Snap dist_ance" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:131 +#: ../src/ui/dialog/document-properties.cpp:128 msgid "Snap only when close_r than:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:132 +#: ../src/ui/dialog/document-properties.cpp:129 msgid "Snapping distance, in screen pixels, for snapping to guides" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:132 +#: ../src/ui/dialog/document-properties.cpp:129 msgid "Always snap to guides, regardless of the distance" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:133 +#: ../src/ui/dialog/document-properties.cpp:130 msgid "" "If set, objects only snap to a guide when it's within the range specified " "below" msgstr "" #. --------------------------------------------------------------- -#: ../src/ui/dialog/document-properties.cpp:136 +#: ../src/ui/dialog/document-properties.cpp:133 msgid "Snap to clip paths" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:136 +#: ../src/ui/dialog/document-properties.cpp:133 msgid "When snapping to paths, then also try snapping to clip paths" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:137 +#: ../src/ui/dialog/document-properties.cpp:134 msgid "Snap to mask paths" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:137 +#: ../src/ui/dialog/document-properties.cpp:134 msgid "When snapping to paths, then also try snapping to mask paths" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:138 +#: ../src/ui/dialog/document-properties.cpp:135 msgid "Snap perpendicularly" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:138 +#: ../src/ui/dialog/document-properties.cpp:135 msgid "" "When snapping to paths or guides, then also try snapping perpendicularly" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:139 +#: ../src/ui/dialog/document-properties.cpp:136 msgid "Snap tangentially" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:139 +#: ../src/ui/dialog/document-properties.cpp:136 msgid "When snapping to paths or guides, then also try snapping tangentially" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:142 +#: ../src/ui/dialog/document-properties.cpp:139 msgctxt "Grid" msgid "_New" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:142 +#: ../src/ui/dialog/document-properties.cpp:139 msgid "Create new grid." msgstr "" -#: ../src/ui/dialog/document-properties.cpp:143 +#: ../src/ui/dialog/document-properties.cpp:140 msgctxt "Grid" msgid "_Remove" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:143 +#: ../src/ui/dialog/document-properties.cpp:140 msgid "Remove selected grid." msgstr "" -#: ../src/ui/dialog/document-properties.cpp:150 ../src/widgets/toolbox.cpp:1874 +#: ../src/ui/dialog/document-properties.cpp:147 ../src/widgets/toolbox.cpp:1874 msgid "Guides" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:152 ../src/verbs.cpp:2889 +#: ../src/ui/dialog/document-properties.cpp:149 ../src/verbs.cpp:2889 msgid "Snap" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:154 +#: ../src/ui/dialog/document-properties.cpp:151 msgid "Scripting" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:289 +#: ../src/ui/dialog/document-properties.cpp:286 msgid "<b>General</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:292 +#: ../src/ui/dialog/document-properties.cpp:289 msgid "<b>Page Size</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:295 +#: ../src/ui/dialog/document-properties.cpp:292 msgid "<b>Background</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:298 +#: ../src/ui/dialog/document-properties.cpp:295 msgid "<b>Border</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:301 +#: ../src/ui/dialog/document-properties.cpp:298 msgid "<b>Display</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:340 +#: ../src/ui/dialog/document-properties.cpp:337 msgid "<b>Guides</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:358 +#: ../src/ui/dialog/document-properties.cpp:355 msgid "<b>Snap to objects</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:360 +#: ../src/ui/dialog/document-properties.cpp:357 msgid "<b>Snap to grids</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:362 +#: ../src/ui/dialog/document-properties.cpp:359 msgid "<b>Snap to guides</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:364 +#: ../src/ui/dialog/document-properties.cpp:361 msgid "<b>Miscellaneous</b>" msgstr "" @@ -14718,377 +14776,376 @@ msgstr "" #. Inkscape::GC::release(defsRepr); #. inform the document, so we can undo #. Color Management -#: ../src/ui/dialog/document-properties.cpp:501 ../src/verbs.cpp:3072 +#: ../src/ui/dialog/document-properties.cpp:498 ../src/verbs.cpp:3072 msgid "Link Color Profile" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:613 +#: ../src/ui/dialog/document-properties.cpp:558 +#: ../src/ui/dialog/document-properties.cpp:568 +#: ../src/ui/dialog/document-properties.cpp:577 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1307 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:301 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:310 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:319 +msgid "_Remove" +msgstr "" + +#: ../src/ui/dialog/document-properties.cpp:610 msgid "Remove linked color profile" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:632 +#: ../src/ui/dialog/document-properties.cpp:629 msgid "<b>Linked Color Profiles:</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:634 +#: ../src/ui/dialog/document-properties.cpp:631 msgid "<b>Available Color Profiles:</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:636 +#: ../src/ui/dialog/document-properties.cpp:633 msgid "Link Profile" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:639 +#: ../src/ui/dialog/document-properties.cpp:636 msgid "Unlink Profile" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:701 +#: ../src/ui/dialog/document-properties.cpp:698 msgid "Profile Name" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:737 +#: ../src/ui/dialog/document-properties.cpp:734 msgid "External scripts" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:738 +#: ../src/ui/dialog/document-properties.cpp:735 msgid "Embedded scripts" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:743 +#: ../src/ui/dialog/document-properties.cpp:740 msgid "<b>External script files:</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:745 +#: ../src/ui/dialog/document-properties.cpp:742 msgid "Add the current file name or browse for a file" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:748 -#: ../src/ui/dialog/document-properties.cpp:806 +#: ../src/ui/dialog/document-properties.cpp:745 +#: ../src/ui/dialog/document-properties.cpp:803 #: ../src/ui/widget/selected-style.cpp:339 msgid "Remove" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:793 +#: ../src/ui/dialog/document-properties.cpp:790 msgid "Filename" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:801 +#: ../src/ui/dialog/document-properties.cpp:798 msgid "<b>Embedded script files:</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:803 +#: ../src/ui/dialog/document-properties.cpp:800 #: ../src/ui/dialog/objects.cpp:1881 msgid "New" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:846 +#: ../src/ui/dialog/document-properties.cpp:843 msgid "Script id" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:852 +#: ../src/ui/dialog/document-properties.cpp:849 msgid "<b>Content:</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:949 +#: ../src/ui/dialog/document-properties.cpp:946 msgid "_Save as default" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:950 +#: ../src/ui/dialog/document-properties.cpp:947 msgid "Save this metadata as the default metadata" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:951 +#: ../src/ui/dialog/document-properties.cpp:948 msgid "Use _default" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:952 +#: ../src/ui/dialog/document-properties.cpp:949 msgid "Use the previously saved default metadata here" msgstr "" #. inform the document, so we can undo -#: ../src/ui/dialog/document-properties.cpp:1012 +#: ../src/ui/dialog/document-properties.cpp:1009 msgid "Add external script..." msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1051 +#: ../src/ui/dialog/document-properties.cpp:1048 msgid "Select a script to load" msgstr "" #. inform the document, so we can undo -#: ../src/ui/dialog/document-properties.cpp:1079 +#: ../src/ui/dialog/document-properties.cpp:1076 msgid "Add embedded script..." msgstr "" #. inform the document, so we can undo -#: ../src/ui/dialog/document-properties.cpp:1110 +#: ../src/ui/dialog/document-properties.cpp:1107 msgid "Remove external script" msgstr "" #. inform the document, so we can undo -#: ../src/ui/dialog/document-properties.cpp:1139 +#: ../src/ui/dialog/document-properties.cpp:1136 msgid "Remove embedded script" msgstr "" #. TODO repr->set_content(_EmbeddedContent.get_buffer()->get_text()); #. inform the document, so we can undo -#: ../src/ui/dialog/document-properties.cpp:1233 +#: ../src/ui/dialog/document-properties.cpp:1230 msgid "Edit embedded script" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1317 +#: ../src/ui/dialog/document-properties.cpp:1314 msgid "<b>Creation</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1318 +#: ../src/ui/dialog/document-properties.cpp:1315 msgid "<b>Defined grids</b>" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1562 +#: ../src/ui/dialog/document-properties.cpp:1559 msgid "Remove grid" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1654 +#: ../src/ui/dialog/document-properties.cpp:1651 msgid "Changed default display unit" msgstr "" -#: ../src/ui/dialog/export.cpp:124 ../src/verbs.cpp:2939 +#: ../src/ui/dialog/export.cpp:123 ../src/verbs.cpp:2939 msgid "_Page" msgstr "" -#: ../src/ui/dialog/export.cpp:124 ../src/verbs.cpp:2943 +#: ../src/ui/dialog/export.cpp:123 ../src/verbs.cpp:2943 msgid "_Drawing" msgstr "" -#: ../src/ui/dialog/export.cpp:124 ../src/verbs.cpp:2945 +#: ../src/ui/dialog/export.cpp:123 ../src/verbs.cpp:2945 msgid "_Selection" msgstr "" -#: ../src/ui/dialog/export.cpp:124 +#: ../src/ui/dialog/export.cpp:123 msgid "_Custom" msgstr "" -#: ../src/ui/dialog/export.cpp:142 ../src/widgets/measure-toolbar.cpp:286 +#: ../src/ui/dialog/export.cpp:141 ../src/widgets/measure-toolbar.cpp:286 #: ../src/widgets/measure-toolbar.cpp:294 #: ../share/extensions/render_gears.inx.h:6 msgid "Units:" msgstr "" -#: ../src/ui/dialog/export.cpp:144 +#: ../src/ui/dialog/export.cpp:143 msgid "_Export As..." msgstr "" -#: ../src/ui/dialog/export.cpp:147 +#: ../src/ui/dialog/export.cpp:146 msgid "B_atch export all selected objects" msgstr "" -#: ../src/ui/dialog/export.cpp:147 +#: ../src/ui/dialog/export.cpp:146 msgid "" "Export each selected object into its own PNG file, using export hints if any " "(caution, overwrites without asking!)" msgstr "" -#: ../src/ui/dialog/export.cpp:148 +#: ../src/ui/dialog/export.cpp:147 msgid "Use interlacing" msgstr "" -#: ../src/ui/dialog/export.cpp:148 +#: ../src/ui/dialog/export.cpp:147 msgid "" "Enables ADAM7 interlacing for PNG output. This results in slightly heavier " "images, but big images will look better sooner when loading the file" msgstr "" -#: ../src/ui/dialog/export.cpp:149 +#: ../src/ui/dialog/export.cpp:148 msgid "Bit depth" msgstr "" -#: ../src/ui/dialog/export.cpp:151 +#: ../src/ui/dialog/export.cpp:150 msgid "Compression" msgstr "" -#: ../src/ui/dialog/export.cpp:153 +#: ../src/ui/dialog/export.cpp:152 msgid "pHYs dpi" msgstr "" -#: ../src/ui/dialog/export.cpp:156 +#: ../src/ui/dialog/export.cpp:155 msgid "Hide a_ll except selected" msgstr "" -#: ../src/ui/dialog/export.cpp:156 +#: ../src/ui/dialog/export.cpp:155 msgid "In the exported image, hide all objects except those that are selected" msgstr "" -#: ../src/ui/dialog/export.cpp:157 +#: ../src/ui/dialog/export.cpp:156 msgid "Close when complete" msgstr "" -#: ../src/ui/dialog/export.cpp:157 +#: ../src/ui/dialog/export.cpp:156 msgid "Once the export completes, close this dialog" msgstr "" -#: ../src/ui/dialog/export.cpp:159 -msgid "_Export" -msgstr "" - -#: ../src/ui/dialog/export.cpp:177 +#: ../src/ui/dialog/export.cpp:174 msgid "<b>Export area</b>" msgstr "" -#: ../src/ui/dialog/export.cpp:210 +#: ../src/ui/dialog/export.cpp:207 msgid "_x0:" msgstr "" -#: ../src/ui/dialog/export.cpp:214 +#: ../src/ui/dialog/export.cpp:211 msgid "x_1:" msgstr "" -#: ../src/ui/dialog/export.cpp:218 +#: ../src/ui/dialog/export.cpp:215 msgid "Wid_th:" msgstr "" -#: ../src/ui/dialog/export.cpp:222 +#: ../src/ui/dialog/export.cpp:219 msgid "_y0:" msgstr "" -#: ../src/ui/dialog/export.cpp:226 +#: ../src/ui/dialog/export.cpp:223 msgid "y_1:" msgstr "" -#: ../src/ui/dialog/export.cpp:230 +#: ../src/ui/dialog/export.cpp:227 msgid "Hei_ght:" msgstr "" -#: ../src/ui/dialog/export.cpp:245 +#: ../src/ui/dialog/export.cpp:242 msgid "<b>Image size</b>" msgstr "" -#: ../src/ui/dialog/export.cpp:257 ../src/ui/dialog/export.cpp:268 +#: ../src/ui/dialog/export.cpp:254 ../src/ui/dialog/export.cpp:265 msgid "pixels at" msgstr "" -#: ../src/ui/dialog/export.cpp:263 +#: ../src/ui/dialog/export.cpp:260 msgid "dp_i" msgstr "" -#: ../src/ui/dialog/export.cpp:268 ../src/ui/dialog/transformation.cpp:71 +#: ../src/ui/dialog/export.cpp:265 ../src/ui/dialog/transformation.cpp:71 #: ../src/ui/widget/page-sizer.cpp:221 msgid "_Height:" msgstr "" -#: ../src/ui/dialog/export.cpp:276 +#: ../src/ui/dialog/export.cpp:273 #: ../src/ui/dialog/inkscape-preferences.cpp:1474 #: ../src/ui/dialog/inkscape-preferences.cpp:1478 #: ../src/ui/dialog/inkscape-preferences.cpp:1502 msgid "dpi" msgstr "" -#: ../src/ui/dialog/export.cpp:284 +#: ../src/ui/dialog/export.cpp:281 msgid "<b>_Filename</b>" msgstr "" -#: ../src/ui/dialog/export.cpp:326 +#: ../src/ui/dialog/export.cpp:319 +msgid "_Export" +msgstr "" + +#: ../src/ui/dialog/export.cpp:321 msgid "Export the bitmap file with these settings" msgstr "" #. Advanced -#: ../src/ui/dialog/export.cpp:332 +#: ../src/ui/dialog/export.cpp:327 msgid "Advanced" msgstr "" -#: ../src/ui/dialog/export.cpp:346 +#: ../src/ui/dialog/export.cpp:341 msgid "" "Will force-set the physical dpi for the png file. Set this to 72 if you're " "planning to work on your png with Photoshop" msgstr "" -#: ../src/ui/dialog/export.cpp:480 +#: ../src/ui/dialog/export.cpp:475 msgid "bitmap" msgstr "" -#: ../src/ui/dialog/export.cpp:585 +#: ../src/ui/dialog/export.cpp:580 #, c-format msgid "B_atch export %d selected object" msgid_plural "B_atch export %d selected objects" msgstr[0] "" msgstr[1] "" -#: ../src/ui/dialog/export.cpp:901 +#: ../src/ui/dialog/export.cpp:896 msgid "Export in progress" msgstr "" -#: ../src/ui/dialog/export.cpp:1001 +#: ../src/ui/dialog/export.cpp:996 msgid "No items selected." msgstr "" -#: ../src/ui/dialog/export.cpp:1005 ../src/ui/dialog/export.cpp:1007 +#: ../src/ui/dialog/export.cpp:1000 ../src/ui/dialog/export.cpp:1002 msgid "Exporting %1 files" msgstr "" -#: ../src/ui/dialog/export.cpp:1049 ../src/ui/dialog/export.cpp:1051 +#: ../src/ui/dialog/export.cpp:1044 ../src/ui/dialog/export.cpp:1046 #, c-format msgid "Exporting file <b>%s</b>..." msgstr "" -#: ../src/ui/dialog/export.cpp:1062 ../src/ui/dialog/export.cpp:1157 +#: ../src/ui/dialog/export.cpp:1057 ../src/ui/dialog/export.cpp:1152 #, c-format msgid "Could not export to filename %s.\n" msgstr "" -#: ../src/ui/dialog/export.cpp:1065 +#: ../src/ui/dialog/export.cpp:1060 #, c-format msgid "Could not export to filename <b>%s</b>." msgstr "" -#: ../src/ui/dialog/export.cpp:1080 +#: ../src/ui/dialog/export.cpp:1075 #, c-format msgid "Successfully exported <b>%d</b> files from <b>%d</b> selected items." msgstr "" -#: ../src/ui/dialog/export.cpp:1091 +#: ../src/ui/dialog/export.cpp:1086 msgid "You have to enter a filename." msgstr "" -#: ../src/ui/dialog/export.cpp:1092 +#: ../src/ui/dialog/export.cpp:1087 msgid "You have to enter a filename" msgstr "" -#: ../src/ui/dialog/export.cpp:1107 +#: ../src/ui/dialog/export.cpp:1102 msgid "The chosen area to be exported is invalid." msgstr "" -#: ../src/ui/dialog/export.cpp:1108 +#: ../src/ui/dialog/export.cpp:1103 msgid "The chosen area to be exported is invalid" msgstr "" -#: ../src/ui/dialog/export.cpp:1123 +#: ../src/ui/dialog/export.cpp:1118 #, c-format msgid "Directory %s does not exist or is not a directory.\n" msgstr "" #. TRANSLATORS: %1 will be the filename, %2 the width, and %3 the height of the image -#: ../src/ui/dialog/export.cpp:1137 ../src/ui/dialog/export.cpp:1139 +#: ../src/ui/dialog/export.cpp:1132 ../src/ui/dialog/export.cpp:1134 msgid "Exporting %1 (%2 x %3)" msgstr "" -#: ../src/ui/dialog/export.cpp:1168 +#: ../src/ui/dialog/export.cpp:1163 #, c-format msgid "Drawing exported to <b>%s</b>." msgstr "" -#: ../src/ui/dialog/export.cpp:1172 +#: ../src/ui/dialog/export.cpp:1167 msgid "Export aborted." msgstr "" -#: ../src/ui/dialog/export.cpp:1292 ../src/ui/interface.cpp:1361 -#: ../src/widgets/desktop-widget.cpp:1047 -#: ../src/widgets/desktop-widget.cpp:1109 -msgid "_Cancel" -msgstr "" - -#: ../src/ui/dialog/export.cpp:1293 ../src/ui/dialog/input.cpp:953 -#: ../src/verbs.cpp:2468 ../src/widgets/desktop-widget.cpp:1048 -msgid "_Save" -msgstr "" - #: ../src/ui/dialog/extension-editor.cpp:79 msgid "Information" msgstr "" @@ -15147,97 +15204,101 @@ msgid "Parameters" msgstr "" #. Fill in the template -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:427 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:426 msgid "No preview" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:531 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:530 msgid "too large for preview" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:617 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:616 msgid "Enable preview" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:760 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:772 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:774 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:781 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:795 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:738 +msgid "_Open" +msgstr "" + +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:759 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:771 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:773 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:780 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:794 #: ../src/ui/dialog/filedialogimpl-win32.cpp:282 #: ../src/ui/dialog/filedialogimpl-win32.cpp:413 msgid "All Files" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:778 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:792 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:777 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:791 #: ../src/ui/dialog/filedialogimpl-win32.cpp:283 msgid "All Inkscape Files" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:785 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:798 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:784 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:797 #: ../src/ui/dialog/filedialogimpl-win32.cpp:284 msgid "All Images" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:788 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:801 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:787 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:800 #: ../src/ui/dialog/filedialogimpl-win32.cpp:285 msgid "All Vectors" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:791 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:804 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:790 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:803 #: ../src/ui/dialog/filedialogimpl-win32.cpp:286 msgid "All Bitmaps" msgstr "" #. ###### File options #. ###### Do we want the .xxx extension automatically added? -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:997 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1550 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:996 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1549 msgid "Append filename extension automatically" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1165 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1418 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1164 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1417 msgid "Guess from extension" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1437 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1436 msgid "Left edge of source" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1438 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1437 msgid "Top edge of source" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1439 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1438 msgid "Right edge of source" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1440 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1439 msgid "Bottom edge of source" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1441 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1440 msgid "Source width" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1442 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1441 msgid "Source height" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1443 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1442 msgid "Destination width" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1444 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1443 msgid "Destination height" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1445 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1444 msgid "Resolution (dots per inch)" msgstr "" @@ -15245,32 +15306,32 @@ msgstr "" #. ## EXTRA WIDGET -- SOURCE SIDE #. ######################################### #. ##### Export options buttons/spinners, etc -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1483 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1482 #: ../share/extensions/docinfo.inx.h:4 ../share/extensions/dpi90to96.inx.h:2 #: ../share/extensions/dpi96to90.inx.h:2 msgid "Document" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1491 ../src/verbs.cpp:169 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1490 ../src/verbs.cpp:169 #: ../src/widgets/desktop-widget.cpp:1937 #: ../share/extensions/printing_marks.inx.h:18 msgid "Selection" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1495 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1494 msgctxt "Export dialog" msgid "Custom" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1515 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1514 msgid "Source" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1535 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1534 msgid "Cairo" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1538 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1537 msgid "Antialias" msgstr "" @@ -15299,7 +15360,7 @@ msgid "Stroke st_yle" msgstr "" #. TRANSLATORS: this dialog is accessible via menu Filters - Filter editor -#: ../src/ui/dialog/filter-effects-dialog.cpp:514 +#: ../src/ui/dialog/filter-effects-dialog.cpp:513 msgid "" "This matrix determines a linear transform on color space. Each line affects " "one of the color components. Each column determines how much of each color " @@ -15307,220 +15368,228 @@ msgid "" "depend on input colors, so can be used to adjust a constant component value." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:517 +#: ../src/ui/dialog/filter-effects-dialog.cpp:516 #: ../share/extensions/grid_polar.inx.h:4 msgctxt "Label" msgid "None" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:624 +#: ../src/ui/dialog/filter-effects-dialog.cpp:623 msgid "Image File" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:627 +#: ../src/ui/dialog/filter-effects-dialog.cpp:626 msgid "Selected SVG Element" msgstr "" #. TODO: any image, not just svg -#: ../src/ui/dialog/filter-effects-dialog.cpp:697 +#: ../src/ui/dialog/filter-effects-dialog.cpp:696 msgid "Select an image to be used as feImage input" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:789 +#: ../src/ui/dialog/filter-effects-dialog.cpp:788 msgid "This SVG filter effect does not require any parameters." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:795 +#: ../src/ui/dialog/filter-effects-dialog.cpp:794 msgid "This SVG filter effect is not yet implemented in Inkscape." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1020 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1019 msgid "Slope" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1021 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1020 msgid "Intercept" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1024 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1023 msgid "Amplitude" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1025 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1024 msgid "Exponent" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1121 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1120 msgid "New transfer function type" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1156 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1155 msgid "Light Source:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1173 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1172 msgid "Direction angle for the light source on the XY plane, in degrees" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1174 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1173 msgid "Direction angle for the light source on the YZ plane, in degrees" msgstr "" #. default x: #. default y: #. default z: -#: ../src/ui/dialog/filter-effects-dialog.cpp:1177 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1180 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1176 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1179 msgid "Location:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1177 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1180 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1183 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1176 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1179 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1182 msgid "X coordinate" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1177 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1180 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1183 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1176 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1179 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1182 msgid "Y coordinate" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1177 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1180 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1183 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1176 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1179 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1182 msgid "Z coordinate" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1183 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1182 msgid "Points At" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1184 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1183 msgid "Specular Exponent" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1184 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1183 msgid "Exponent value controlling the focus for the light source" msgstr "" #. TODO: here I have used 100 degrees as default value. But spec says that if not specified, no limiting cone is applied. So, there should be a way for the user to set a "no limiting cone" option. -#: ../src/ui/dialog/filter-effects-dialog.cpp:1186 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1185 msgid "Cone Angle" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1186 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1185 msgid "" "This is the angle between the spot light axis (i.e. the axis between the " "light source and the point to which it is pointing at) and the spot light " "cone. No light is projected outside this cone." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1252 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1251 msgid "New light source" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1303 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1302 msgid "_Duplicate" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1337 +#. File +#. Tag +#: ../src/ui/dialog/filter-effects-dialog.cpp:1321 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:989 ../src/verbs.cpp:2462 +#: ../src/verbs.cpp:2780 +msgid "_New" +msgstr "" + +#: ../src/ui/dialog/filter-effects-dialog.cpp:1336 msgid "_Filter" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1365 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1364 msgid "R_ename" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1499 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1498 msgid "Rename filter" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1551 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1550 msgid "Apply filter" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1631 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1630 msgid "filter" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1638 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1637 msgid "Add filter" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1688 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1687 msgid "Duplicate filter" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1760 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1759 msgid "_Effect" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1770 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1769 msgid "Connections" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1907 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1906 msgid "Remove filter primitive" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2434 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2433 msgid "Remove merge node" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2556 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2555 msgid "Reorder filter primitive" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2611 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2610 msgid "Add Effect:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2612 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2611 msgid "No effect selected" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2613 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2612 msgid "No filter selected" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2675 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2674 msgid "Effect parameters" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2676 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2675 msgid "Filter General Settings" msgstr "" #. default x: #. default y: -#: ../src/ui/dialog/filter-effects-dialog.cpp:2736 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2735 msgid "Coordinates:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2736 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2735 msgid "X coordinate of the left corners of filter effects region" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2736 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2735 msgid "Y coordinate of the upper corners of filter effects region" msgstr "" #. default width: #. default height: -#: ../src/ui/dialog/filter-effects-dialog.cpp:2737 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2736 msgid "Dimensions:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2737 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2736 msgid "Width of filter effects region" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2737 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2736 msgid "Height of filter effects region" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2743 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2742 msgid "" "Indicates the type of matrix operation. The keyword 'matrix' indicates that " "a full 5x4 matrix of values will be provided. The other keywords represent " @@ -15528,95 +15597,95 @@ msgid "" "performed without specifying a complete matrix." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2744 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2743 msgid "Value(s):" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2748 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2747 msgid "R:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2749 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2748 #: ../src/ui/widget/color-icc-selector.cpp:167 msgid "G:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2750 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2749 msgid "B:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2751 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2750 msgid "A:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2754 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2794 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2753 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2793 msgid "Operator:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2755 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2754 msgid "K1:" msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2754 #: ../src/ui/dialog/filter-effects-dialog.cpp:2755 #: ../src/ui/dialog/filter-effects-dialog.cpp:2756 #: ../src/ui/dialog/filter-effects-dialog.cpp:2757 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2758 msgid "" "If the arithmetic operation is chosen, each result pixel is computed using " "the formula k1*i1*i2 + k2*i1 + k3*i2 + k4 where i1 and i2 are the pixel " "values of the first and second inputs respectively." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2756 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2755 msgid "K2:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2757 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2756 msgid "K3:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2758 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2757 msgid "K4:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2761 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2760 msgid "Size:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2761 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2760 msgid "width of the convolve matrix" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2761 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2760 msgid "height of the convolve matrix" msgstr "" #. default x: #. default y: -#: ../src/ui/dialog/filter-effects-dialog.cpp:2762 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2761 #: ../src/ui/dialog/object-attributes.cpp:45 msgid "Target:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2762 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2761 msgid "" "X coordinate of the target point in the convolve matrix. The convolution is " "applied to pixels around this point." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2762 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2761 msgid "" "Y coordinate of the target point in the convolve matrix. The convolution is " "applied to pixels around this point." msgstr "" #. TRANSLATORS: for info on "Kernel", see http://en.wikipedia.org/wiki/Kernel_(matrix) -#: ../src/ui/dialog/filter-effects-dialog.cpp:2764 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2763 msgid "Kernel:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2764 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2763 msgid "" "This matrix describes the convolve operation that is applied to the input " "image in order to calculate the pixel colors at the output. Different " @@ -15626,11 +15695,11 @@ msgid "" "would lead to a common blur effect." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2766 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2765 msgid "Divisor:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2766 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2765 msgid "" "After applying the kernelMatrix to the input image to yield a number, that " "number is divided by divisor to yield the final destination color value. A " @@ -15638,191 +15707,191 @@ msgid "" "effect on the overall color intensity of the result." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2767 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2766 msgid "Bias:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2767 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2766 msgid "" "This value is added to each component. This is useful to define a constant " "value as the zero response of the filter." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2768 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2767 msgid "Edge Mode:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2768 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2767 msgid "" "Determines how to extend the input image as necessary with color values so " "that the matrix operations can be applied when the kernel is positioned at " "or near the edge of the input image." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2769 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2806 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2768 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2805 msgid "Preserve Alpha" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2769 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2806 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2768 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2805 msgid "If set, the alpha channel won't be altered by this filter primitive." msgstr "" #. default: white -#: ../src/ui/dialog/filter-effects-dialog.cpp:2772 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2771 msgid "Diffuse Color:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2772 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2811 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2771 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2810 msgid "Defines the color of the light source" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2773 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2812 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2772 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2811 msgid "Surface Scale:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2773 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2812 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2772 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2811 msgid "" "This value amplifies the heights of the bump map defined by the input alpha " "channel" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2774 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2813 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2773 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2812 msgid "Constant:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2774 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2813 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2773 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2812 msgid "This constant affects the Phong lighting model." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2775 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2815 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2774 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2814 msgid "Kernel Unit Length:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2779 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2778 msgid "This defines the intensity of the displacement effect." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2780 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2779 msgid "X displacement:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2780 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2779 msgid "Color component that controls the displacement in the X direction" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2781 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2780 msgid "Y displacement:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2781 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2780 msgid "Color component that controls the displacement in the Y direction" msgstr "" #. default: black -#: ../src/ui/dialog/filter-effects-dialog.cpp:2784 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2783 msgid "Flood Color:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2784 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2783 msgid "The whole filter region will be filled with this color." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2788 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2787 msgid "Standard Deviation:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2788 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2787 msgid "The standard deviation for the blur operation." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2794 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2793 msgid "" "Erode: performs \"thinning\" of input image.\n" "Dilate: performs \"fattenning\" of input image." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2798 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2797 msgid "Source of Image:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2807 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2806 msgid "Delta X:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2807 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2806 msgid "This is how far the input image gets shifted to the right" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2808 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2807 msgid "Delta Y:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2808 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2807 msgid "This is how far the input image gets shifted downwards" msgstr "" #. default: white -#: ../src/ui/dialog/filter-effects-dialog.cpp:2811 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2810 msgid "Specular Color:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2814 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2813 #: ../share/extensions/interp.inx.h:2 msgid "Exponent:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2814 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2813 msgid "Exponent for specular term, larger is more \"shiny\"." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2823 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2822 msgid "" "Indicates whether the filter primitive should perform a noise or turbulence " "function." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2824 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2823 msgid "Base Frequency:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2825 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2824 msgid "Octaves:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2826 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2825 msgid "Seed:" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2826 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2825 msgid "The starting number for the pseudo random number generator." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2838 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2837 msgid "Add filter primitive" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2853 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2852 msgid "" "The <b>feBlend</b> filter primitive provides 4 image blending modes: screen, " "multiply, darken and lighten." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2857 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2856 msgid "" "The <b>feColorMatrix</b> filter primitive applies a matrix transformation to " "color of each rendered pixel. This allows for effects like turning object to " "grayscale, modifying color saturation and changing color hue." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2861 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2860 msgid "" "The <b>feComponentTransfer</b> filter primitive manipulates the input's " "color components (red, green, blue, and alpha) according to particular " @@ -15830,7 +15899,7 @@ msgid "" "adjustment, color balance, and thresholding." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2865 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2864 msgid "" "The <b>feComposite</b> filter primitive composites two images using one of " "the Porter-Duff blending modes or the arithmetic mode described in SVG " @@ -15838,7 +15907,7 @@ msgid "" "between the corresponding pixel values of the images." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2869 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2868 msgid "" "The <b>feConvolveMatrix</b> lets you specify a Convolution to be applied on " "the image. Common effects created using convolution matrices are blur, " @@ -15847,7 +15916,7 @@ msgid "" "is faster and resolution-independent." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2873 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2872 msgid "" "The <b>feDiffuseLighting</b> and feSpecularLighting filter primitives create " "\"embossed\" shadings. The input's alpha channel is used to provide depth " @@ -15855,7 +15924,7 @@ msgid "" "opacity areas recede away from the viewer." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2877 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2876 msgid "" "The <b>feDisplacementMap</b> filter primitive displaces the pixels in the " "first input using the second input as a displacement map, that shows from " @@ -15863,26 +15932,26 @@ msgid "" "effects." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2881 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2880 msgid "" "The <b>feFlood</b> filter primitive fills the region with a given color and " "opacity. It is usually used as an input to other filters to apply color to " "a graphic." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2885 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2884 msgid "" "The <b>feGaussianBlur</b> filter primitive uniformly blurs its input. It is " "commonly used together with feOffset to create a drop shadow effect." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2889 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2888 msgid "" "The <b>feImage</b> filter primitive fills the region with an external image " "or another part of the document." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2893 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2892 msgid "" "The <b>feMerge</b> filter primitive composites several temporary images " "inside the filter primitive to a single image. It uses normal alpha " @@ -15890,21 +15959,21 @@ msgid "" "in 'normal' mode or several feComposite primitives in 'over' mode." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2897 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2896 msgid "" "The <b>feMorphology</b> filter primitive provides erode and dilate effects. " "For single-color objects erode makes the object thinner and dilate makes it " "thicker." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2901 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2900 msgid "" "The <b>feOffset</b> filter primitive offsets the image by an user-defined " "amount. For example, this is useful for drop shadows, where the shadow is in " "a slightly different position than the actual object." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2905 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2904 msgid "" "The <b>feDiffuseLighting</b> and <b>feSpecularLighting</b> filter primitives " "create \"embossed\" shadings. The input's alpha channel is used to provide " @@ -15912,24 +15981,24 @@ msgid "" "lower opacity areas recede away from the viewer." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2909 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2908 msgid "" "The <b>feTile</b> filter primitive tiles a region with an input graphic. The " "source tile is defined by the filter primitive subregion of the input." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2913 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2912 msgid "" "The <b>feTurbulence</b> filter primitive renders Perlin noise. This kind of " "noise is useful in simulating several nature phenomena like clouds, fire and " "smoke and in generating complex textures like marble or granite." msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2933 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2932 msgid "Duplicate filter primitive" msgstr "" -#: ../src/ui/dialog/filter-effects-dialog.cpp:3013 +#: ../src/ui/dialog/filter-effects-dialog.cpp:3012 msgid "Set filter primitive attribute" msgstr "" @@ -17061,58 +17130,58 @@ msgstr "" msgid "_Set spacing:" msgstr "" -#: ../src/ui/dialog/guides.cpp:43 +#: ../src/ui/dialog/guides.cpp:41 msgid "Lo_cked" msgstr "" -#: ../src/ui/dialog/guides.cpp:43 +#: ../src/ui/dialog/guides.cpp:41 msgid "Lock the movement of guides" msgstr "" -#: ../src/ui/dialog/guides.cpp:44 +#: ../src/ui/dialog/guides.cpp:42 msgid "Rela_tive change" msgstr "" -#: ../src/ui/dialog/guides.cpp:44 +#: ../src/ui/dialog/guides.cpp:42 msgid "Move and/or rotate the guide relative to current settings" msgstr "" -#: ../src/ui/dialog/guides.cpp:45 +#: ../src/ui/dialog/guides.cpp:43 msgctxt "Guides" msgid "_X:" msgstr "" -#: ../src/ui/dialog/guides.cpp:46 +#: ../src/ui/dialog/guides.cpp:44 msgctxt "Guides" msgid "_Y:" msgstr "" -#: ../src/ui/dialog/guides.cpp:47 ../src/ui/dialog/object-properties.cpp:51 +#: ../src/ui/dialog/guides.cpp:45 ../src/ui/dialog/object-properties.cpp:51 msgid "_Label:" msgstr "" -#: ../src/ui/dialog/guides.cpp:47 +#: ../src/ui/dialog/guides.cpp:45 msgid "Optionally give this guideline a name" msgstr "" -#: ../src/ui/dialog/guides.cpp:48 +#: ../src/ui/dialog/guides.cpp:46 msgid "_Angle:" msgstr "" -#: ../src/ui/dialog/guides.cpp:130 +#: ../src/ui/dialog/guides.cpp:128 msgid "Set guide properties" msgstr "" -#: ../src/ui/dialog/guides.cpp:160 +#: ../src/ui/dialog/guides.cpp:158 msgid "Guideline" msgstr "" -#: ../src/ui/dialog/guides.cpp:284 +#: ../src/ui/dialog/guides.cpp:282 #, c-format msgid "Guideline ID: %s" msgstr "" -#: ../src/ui/dialog/guides.cpp:290 +#: ../src/ui/dialog/guides.cpp:288 #, c-format msgid "Current: %s" msgstr "" @@ -20022,92 +20091,93 @@ msgctxt "Input device axe" msgid "None" msgstr "" -#: ../src/ui/dialog/knot-properties.cpp:50 +#: ../src/ui/dialog/knot-properties.cpp:56 msgid "Position X:" msgstr "" -#: ../src/ui/dialog/knot-properties.cpp:57 +#: ../src/ui/dialog/knot-properties.cpp:63 msgid "Position Y:" msgstr "" -#: ../src/ui/dialog/knot-properties.cpp:111 +#: ../src/ui/dialog/knot-properties.cpp:115 msgid "Modify Knot Position" msgstr "" -#: ../src/ui/dialog/knot-properties.cpp:112 -#: ../src/ui/dialog/layer-properties.cpp:380 -#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:112 +#: ../src/ui/dialog/knot-properties.cpp:116 +#: ../src/ui/dialog/layer-properties.cpp:381 +#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:113 #: ../src/ui/dialog/transformation.cpp:103 msgid "_Move" msgstr "" -#: ../src/ui/dialog/knot-properties.cpp:171 +#: ../src/ui/dialog/knot-properties.cpp:175 #, c-format msgid "Position X (%s):" msgstr "" -#: ../src/ui/dialog/knot-properties.cpp:172 +#: ../src/ui/dialog/knot-properties.cpp:176 #, c-format msgid "Position Y (%s):" msgstr "" -#: ../src/ui/dialog/layer-properties.cpp:47 +#: ../src/ui/dialog/layer-properties.cpp:50 msgid "Layer name:" msgstr "" -#: ../src/ui/dialog/layer-properties.cpp:121 +#: ../src/ui/dialog/layer-properties.cpp:122 msgid "Add layer" msgstr "" -#: ../src/ui/dialog/layer-properties.cpp:157 +#: ../src/ui/dialog/layer-properties.cpp:158 msgid "Above current" msgstr "" -#: ../src/ui/dialog/layer-properties.cpp:161 +#: ../src/ui/dialog/layer-properties.cpp:162 msgid "Below current" msgstr "" -#: ../src/ui/dialog/layer-properties.cpp:164 +#: ../src/ui/dialog/layer-properties.cpp:165 msgid "As sublayer of current" msgstr "" -#: ../src/ui/dialog/layer-properties.cpp:321 +#: ../src/ui/dialog/layer-properties.cpp:322 msgid "Rename Layer" msgstr "" #. TODO: find an unused layer number, forming name from _("Layer ") + "%d" -#: ../src/ui/dialog/layer-properties.cpp:323 -#: ../src/ui/dialog/layer-properties.cpp:379 ../src/verbs.cpp:188 +#: ../src/ui/dialog/layer-properties.cpp:324 +#: ../src/ui/dialog/layer-properties.cpp:380 ../src/verbs.cpp:188 #: ../src/verbs.cpp:2399 msgid "Layer" msgstr "" -#: ../src/ui/dialog/layer-properties.cpp:324 +#: ../src/ui/dialog/layer-properties.cpp:325 msgid "_Rename" msgstr "" -#: ../src/ui/dialog/layer-properties.cpp:337 ../src/ui/dialog/layers.cpp:750 +#: ../src/ui/dialog/layer-properties.cpp:338 ../src/ui/dialog/layers.cpp:750 msgid "Rename layer" msgstr "" #. TRANSLATORS: This means "The layer has been renamed" -#: ../src/ui/dialog/layer-properties.cpp:339 +#: ../src/ui/dialog/layer-properties.cpp:340 msgid "Renamed layer" msgstr "" -#: ../src/ui/dialog/layer-properties.cpp:343 +#: ../src/ui/dialog/layer-properties.cpp:344 msgid "Add Layer" msgstr "" -#: ../src/ui/dialog/layer-properties.cpp:349 +#: ../src/ui/dialog/layer-properties.cpp:350 +#: ../src/ui/dialog/livepatheffect-add.cpp:25 msgid "_Add" msgstr "" -#: ../src/ui/dialog/layer-properties.cpp:373 +#: ../src/ui/dialog/layer-properties.cpp:374 msgid "New layer created." msgstr "" -#: ../src/ui/dialog/layer-properties.cpp:377 +#: ../src/ui/dialog/layer-properties.cpp:378 msgid "Move to Layer" msgstr "" @@ -20166,7 +20236,7 @@ msgctxt "Layers" msgid "Top" msgstr "" -#: ../src/ui/dialog/livepatheffect-add.cpp:31 +#: ../src/ui/dialog/livepatheffect-add.cpp:30 msgid "Add Path Effect" msgstr "" @@ -20240,43 +20310,43 @@ msgstr "" msgid "Deactivate path effect" msgstr "" -#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:43 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:46 msgid "Radius (pixels):" msgstr "" -#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:55 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:58 msgid "Chamfer subdivisions:" msgstr "" -#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:126 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:127 msgid "Modify Fillet-Chamfer" msgstr "" -#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:127 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:128 msgid "_Modify" msgstr "" -#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:191 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:192 msgid "Radius" msgstr "" -#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:193 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:194 msgid "Radius approximated" msgstr "" -#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:196 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:197 msgid "Knot distance" msgstr "" -#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:203 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:204 msgid "Position (%):" msgstr "" -#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:206 +#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:207 msgid "%1:" msgstr "" -#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:111 +#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:112 msgid "Modify Node Position" msgstr "" @@ -20666,7 +20736,7 @@ msgid "Unset Clip" msgstr "" #. Set mask -#: ../src/ui/dialog/objects.cpp:1917 ../src/ui/interface.cpp:1714 +#: ../src/ui/dialog/objects.cpp:1917 ../src/ui/interface.cpp:1712 msgid "Set Mask" msgstr "" @@ -20808,6 +20878,12 @@ msgstr "" msgid "Reset all settings to defaults" msgstr "" +#. ## The OK button +#: ../src/ui/dialog/pixelartdialog.cpp:294 ../src/ui/dialog/spellcheck.cpp:71 +#: ../src/ui/dialog/tracedialog.cpp:816 +msgid "_Stop" +msgstr "" + #: ../src/ui/dialog/pixelartdialog.cpp:296 ../src/ui/dialog/tracedialog.cpp:818 msgid "Abort a trace in progress" msgstr "" @@ -20957,10 +21033,6 @@ msgstr "" msgid "A_dd" msgstr "" -#: ../src/ui/dialog/spellcheck.cpp:71 -msgid "_Stop" -msgstr "" - #: ../src/ui/dialog/spellcheck.cpp:72 msgid "_Start" msgstr "" @@ -21015,190 +21087,190 @@ msgstr "" msgid "Fix spelling" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:148 -#: ../src/ui/dialog/svg-fonts-dialog.cpp:216 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:147 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:215 msgid "Set SVG Font attribute" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:272 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:271 msgid "Adjust kerning value" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:455 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:454 msgid "Font Attributes" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:456 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:455 msgid "Horiz. Advance X" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:457 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:456 msgid "Horiz. Origin X " msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:458 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:457 msgid "Horiz. Origin Y " msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:459 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:458 msgid "Font Face Attributes" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:460 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:459 msgid "Family Name:" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:461 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:460 msgid "Units per em" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:462 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:461 msgid "Ascent:" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:463 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:462 msgid "Descent:" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:464 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:463 msgid "Cap Height:" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:465 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:464 msgid "x Height:" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:538 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:537 msgid "glyph" msgstr "" #. SPGlyph* glyph = -#: ../src/ui/dialog/svg-fonts-dialog.cpp:570 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:569 msgid "Add glyph" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:601 -#: ../src/ui/dialog/svg-fonts-dialog.cpp:643 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:600 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:642 msgid "Select a <b>path</b> to define the curves of a glyph" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:609 -#: ../src/ui/dialog/svg-fonts-dialog.cpp:651 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:608 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:650 msgid "The selected object does not have a <b>path</b> description." msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:616 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:615 msgid "No glyph selected in the SVGFonts dialog." msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:627 -#: ../src/ui/dialog/svg-fonts-dialog.cpp:665 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:626 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:664 msgid "Set glyph curves" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:684 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:683 msgid "Reset missing-glyph" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:700 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:699 msgid "Edit glyph name" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:714 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:713 msgid "Set glyph unicode" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:731 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:730 msgid "Set glyph advance" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:746 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:745 msgid "Remove font" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:763 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:762 msgid "Remove glyph" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:780 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:779 msgid "Remove kerning pair" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:790 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:789 msgid "Missing Glyph:" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:794 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:793 msgid "From selection..." msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:807 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:806 msgid "Glyph name" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:808 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:807 msgid "Matching string" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:809 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:808 msgid "Advance" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:811 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:810 msgid "Add Glyph" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:818 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:817 msgid "Get curves from selection..." msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:870 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:869 msgid "Add kerning pair" msgstr "" #. Kerning Setup: -#: ../src/ui/dialog/svg-fonts-dialog.cpp:878 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:877 msgid "Kerning Setup" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:880 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:879 msgid "1st Glyph:" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:882 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:881 msgid "2nd Glyph:" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:885 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:884 msgid "Add pair" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:897 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:896 msgid "First Unicode range" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:898 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:897 msgid "Second Unicode range" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:905 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:904 msgid "Kerning value:" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:962 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:961 msgid "Set font family" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:971 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:970 msgid "font" msgstr "" #. select_font(font); -#: ../src/ui/dialog/svg-fonts-dialog.cpp:985 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:984 msgid "Add font" msgstr "" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:1006 ../src/ui/dialog/text-edit.cpp:62 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:1006 ../src/ui/dialog/text-edit.cpp:61 msgid "_Font" msgstr "" @@ -21342,52 +21414,52 @@ msgstr "" msgid "By: " msgstr "" -#: ../src/ui/dialog/text-edit.cpp:65 +#: ../src/ui/dialog/text-edit.cpp:64 msgid "_Variants" msgstr "" -#: ../src/ui/dialog/text-edit.cpp:66 +#: ../src/ui/dialog/text-edit.cpp:65 msgid "Set as _default" msgstr "" -#: ../src/ui/dialog/text-edit.cpp:80 +#: ../src/ui/dialog/text-edit.cpp:79 msgid "AaBbCcIiPpQq12369$€¢?.;/()" msgstr "" #. Align buttons -#: ../src/ui/dialog/text-edit.cpp:90 ../src/widgets/text-toolbar.cpp:1776 +#: ../src/ui/dialog/text-edit.cpp:89 ../src/widgets/text-toolbar.cpp:1776 #: ../src/widgets/text-toolbar.cpp:1777 msgid "Align left" msgstr "" -#: ../src/ui/dialog/text-edit.cpp:91 ../src/widgets/text-toolbar.cpp:1784 +#: ../src/ui/dialog/text-edit.cpp:90 ../src/widgets/text-toolbar.cpp:1784 #: ../src/widgets/text-toolbar.cpp:1785 msgid "Align center" msgstr "" -#: ../src/ui/dialog/text-edit.cpp:92 ../src/widgets/text-toolbar.cpp:1792 +#: ../src/ui/dialog/text-edit.cpp:91 ../src/widgets/text-toolbar.cpp:1792 #: ../src/widgets/text-toolbar.cpp:1793 msgid "Align right" msgstr "" -#: ../src/ui/dialog/text-edit.cpp:93 ../src/widgets/text-toolbar.cpp:1801 +#: ../src/ui/dialog/text-edit.cpp:92 ../src/widgets/text-toolbar.cpp:1801 msgid "Justify (only flowed text)" msgstr "" #. Direction buttons -#: ../src/ui/dialog/text-edit.cpp:100 ../src/widgets/text-toolbar.cpp:1836 +#: ../src/ui/dialog/text-edit.cpp:99 ../src/widgets/text-toolbar.cpp:1836 msgid "Horizontal text" msgstr "" -#: ../src/ui/dialog/text-edit.cpp:101 +#: ../src/ui/dialog/text-edit.cpp:100 msgid "Vertical text" msgstr "" -#: ../src/ui/dialog/text-edit.cpp:138 +#: ../src/ui/dialog/text-edit.cpp:137 msgid "Text path offset" msgstr "" -#: ../src/ui/dialog/text-edit.cpp:577 ../src/ui/dialog/text-edit.cpp:664 +#: ../src/ui/dialog/text-edit.cpp:576 ../src/ui/dialog/text-edit.cpp:663 #: ../src/ui/tools/text-tool.cpp:1442 msgid "Set text style" msgstr "" @@ -21908,68 +21980,68 @@ msgstr "" msgid "Change attribute" msgstr "" -#: ../src/ui/interface.cpp:727 +#: ../src/ui/interface.cpp:725 msgctxt "Interface setup" msgid "Default" msgstr "" -#: ../src/ui/interface.cpp:727 +#: ../src/ui/interface.cpp:725 msgid "Default interface setup" msgstr "" -#: ../src/ui/interface.cpp:728 +#: ../src/ui/interface.cpp:726 msgctxt "Interface setup" msgid "Custom" msgstr "" -#: ../src/ui/interface.cpp:728 +#: ../src/ui/interface.cpp:726 msgid "Setup for custom task" msgstr "" -#: ../src/ui/interface.cpp:729 +#: ../src/ui/interface.cpp:727 msgctxt "Interface setup" msgid "Wide" msgstr "" -#: ../src/ui/interface.cpp:729 +#: ../src/ui/interface.cpp:727 msgid "Setup for widescreen work" msgstr "" -#: ../src/ui/interface.cpp:835 +#: ../src/ui/interface.cpp:833 #, c-format msgid "Verb \"%s\" Unknown" msgstr "" -#: ../src/ui/interface.cpp:870 +#: ../src/ui/interface.cpp:868 msgid "Open _Recent" msgstr "" -#: ../src/ui/interface.cpp:978 ../src/ui/interface.cpp:1064 -#: ../src/ui/interface.cpp:1167 ../src/ui/widget/selected-style.cpp:509 +#: ../src/ui/interface.cpp:976 ../src/ui/interface.cpp:1062 +#: ../src/ui/interface.cpp:1165 ../src/ui/widget/selected-style.cpp:509 msgid "Drop color" msgstr "" -#: ../src/ui/interface.cpp:1017 ../src/ui/interface.cpp:1127 +#: ../src/ui/interface.cpp:1015 ../src/ui/interface.cpp:1125 msgid "Drop color on gradient" msgstr "" -#: ../src/ui/interface.cpp:1180 +#: ../src/ui/interface.cpp:1178 msgid "Could not parse SVG data" msgstr "" -#: ../src/ui/interface.cpp:1219 +#: ../src/ui/interface.cpp:1217 msgid "Drop SVG" msgstr "" -#: ../src/ui/interface.cpp:1232 +#: ../src/ui/interface.cpp:1230 msgid "Drop Symbol" msgstr "" -#: ../src/ui/interface.cpp:1263 +#: ../src/ui/interface.cpp:1261 msgid "Drop bitmap image" msgstr "" -#: ../src/ui/interface.cpp:1355 +#: ../src/ui/interface.cpp:1353 #, c-format msgid "" "<span weight=\"bold\" size=\"larger\">A file named \"%s\" already exists. Do " @@ -21978,171 +22050,171 @@ msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" -#: ../src/ui/interface.cpp:1362 ../share/extensions/web-set-att.inx.h:21 +#: ../src/ui/interface.cpp:1360 ../share/extensions/web-set-att.inx.h:21 #: ../share/extensions/web-transmit-att.inx.h:19 msgid "Replace" msgstr "" -#: ../src/ui/interface.cpp:1433 +#: ../src/ui/interface.cpp:1431 msgid "Go to parent" msgstr "" #. TRANSLATORS: #%1 is the id of the group e.g. <g id="#g7">, not a number. -#: ../src/ui/interface.cpp:1474 +#: ../src/ui/interface.cpp:1472 msgid "Enter group #%1" msgstr "" #. Pop selection out of group -#: ../src/ui/interface.cpp:1488 +#: ../src/ui/interface.cpp:1486 msgid "_Pop selection out of group" msgstr "" #. Item dialog -#: ../src/ui/interface.cpp:1616 ../src/verbs.cpp:2992 +#: ../src/ui/interface.cpp:1614 ../src/verbs.cpp:2992 msgid "_Object Properties..." msgstr "" -#: ../src/ui/interface.cpp:1625 +#: ../src/ui/interface.cpp:1623 msgid "_Select This" msgstr "" -#: ../src/ui/interface.cpp:1636 +#: ../src/ui/interface.cpp:1634 msgid "Select Same" msgstr "" #. Select same fill and stroke -#: ../src/ui/interface.cpp:1646 +#: ../src/ui/interface.cpp:1644 msgid "Fill and Stroke" msgstr "" #. Select same fill color -#: ../src/ui/interface.cpp:1653 +#: ../src/ui/interface.cpp:1651 msgid "Fill Color" msgstr "" #. Select same stroke color -#: ../src/ui/interface.cpp:1660 +#: ../src/ui/interface.cpp:1658 msgid "Stroke Color" msgstr "" #. Select same stroke style -#: ../src/ui/interface.cpp:1667 +#: ../src/ui/interface.cpp:1665 msgid "Stroke Style" msgstr "" #. Select same stroke style -#: ../src/ui/interface.cpp:1674 +#: ../src/ui/interface.cpp:1672 msgid "Object type" msgstr "" #. Move to layer -#: ../src/ui/interface.cpp:1681 +#: ../src/ui/interface.cpp:1679 msgid "_Move to layer ..." msgstr "" #. Create link -#: ../src/ui/interface.cpp:1691 +#: ../src/ui/interface.cpp:1689 msgid "Create _Link" msgstr "" #. Release mask -#: ../src/ui/interface.cpp:1725 +#: ../src/ui/interface.cpp:1723 msgid "Release Mask" msgstr "" #. SSet Clip Group -#: ../src/ui/interface.cpp:1736 +#: ../src/ui/interface.cpp:1734 msgid "Create Clip G_roup" msgstr "" #. Set Clip -#: ../src/ui/interface.cpp:1743 +#: ../src/ui/interface.cpp:1741 msgid "Set Cl_ip" msgstr "" #. Release Clip -#: ../src/ui/interface.cpp:1754 +#: ../src/ui/interface.cpp:1752 msgid "Release C_lip" msgstr "" #. Group -#: ../src/ui/interface.cpp:1765 ../src/verbs.cpp:2599 +#: ../src/ui/interface.cpp:1763 ../src/verbs.cpp:2599 msgid "_Group" msgstr "" -#: ../src/ui/interface.cpp:1836 +#: ../src/ui/interface.cpp:1834 msgid "Create link" msgstr "" #. Ungroup -#: ../src/ui/interface.cpp:1871 ../src/verbs.cpp:2601 +#: ../src/ui/interface.cpp:1869 ../src/verbs.cpp:2601 msgid "_Ungroup" msgstr "" #. Link dialog -#: ../src/ui/interface.cpp:1901 +#: ../src/ui/interface.cpp:1899 msgid "Link _Properties..." msgstr "" #. Select item -#: ../src/ui/interface.cpp:1907 +#: ../src/ui/interface.cpp:1905 msgid "_Follow Link" msgstr "" #. Reset transformations -#: ../src/ui/interface.cpp:1913 +#: ../src/ui/interface.cpp:1911 msgid "_Remove Link" msgstr "" -#: ../src/ui/interface.cpp:1944 +#: ../src/ui/interface.cpp:1942 msgid "Remove link" msgstr "" #. Image properties -#: ../src/ui/interface.cpp:1954 +#: ../src/ui/interface.cpp:1952 msgid "Image _Properties..." msgstr "" #. Edit externally -#: ../src/ui/interface.cpp:1960 +#: ../src/ui/interface.cpp:1958 msgid "Edit Externally..." msgstr "" #. Trace Bitmap #. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize) -#: ../src/ui/interface.cpp:1969 ../src/verbs.cpp:2680 +#: ../src/ui/interface.cpp:1967 ../src/verbs.cpp:2680 msgid "_Trace Bitmap..." msgstr "" #. Trace Pixel Art -#: ../src/ui/interface.cpp:1978 +#: ../src/ui/interface.cpp:1976 msgid "Trace Pixel Art" msgstr "" -#: ../src/ui/interface.cpp:1988 +#: ../src/ui/interface.cpp:1986 msgctxt "Context menu" msgid "Embed Image" msgstr "" -#: ../src/ui/interface.cpp:1999 +#: ../src/ui/interface.cpp:1997 msgctxt "Context menu" msgid "Extract Image..." msgstr "" #. Item dialog #. Fill and Stroke dialog -#: ../src/ui/interface.cpp:2143 ../src/ui/interface.cpp:2163 +#: ../src/ui/interface.cpp:2141 ../src/ui/interface.cpp:2161 #: ../src/verbs.cpp:2955 msgid "_Fill and Stroke..." msgstr "" #. Edit Text dialog -#: ../src/ui/interface.cpp:2169 ../src/verbs.cpp:2974 +#: ../src/ui/interface.cpp:2167 ../src/verbs.cpp:2974 msgid "_Text and Font..." msgstr "" #. Spellcheck dialog -#: ../src/ui/interface.cpp:2175 ../src/verbs.cpp:2982 +#: ../src/ui/interface.cpp:2173 ../src/verbs.cpp:2982 msgid "Check Spellin_g..." msgstr "" @@ -24408,92 +24480,92 @@ msgstr "" msgid "Set page scale" msgstr "" -#: ../src/ui/widget/panel.cpp:112 +#: ../src/ui/widget/panel.cpp:111 msgid "List" msgstr "" -#: ../src/ui/widget/panel.cpp:135 +#: ../src/ui/widget/panel.cpp:134 msgctxt "Swatches" msgid "Size" msgstr "" -#: ../src/ui/widget/panel.cpp:139 +#: ../src/ui/widget/panel.cpp:138 msgctxt "Swatches height" msgid "Tiny" msgstr "" -#: ../src/ui/widget/panel.cpp:140 +#: ../src/ui/widget/panel.cpp:139 msgctxt "Swatches height" msgid "Small" msgstr "" -#: ../src/ui/widget/panel.cpp:141 +#: ../src/ui/widget/panel.cpp:140 msgctxt "Swatches height" msgid "Medium" msgstr "" -#: ../src/ui/widget/panel.cpp:142 +#: ../src/ui/widget/panel.cpp:141 msgctxt "Swatches height" msgid "Large" msgstr "" -#: ../src/ui/widget/panel.cpp:143 +#: ../src/ui/widget/panel.cpp:142 msgctxt "Swatches height" msgid "Huge" msgstr "" -#: ../src/ui/widget/panel.cpp:165 +#: ../src/ui/widget/panel.cpp:164 msgctxt "Swatches" msgid "Width" msgstr "" -#: ../src/ui/widget/panel.cpp:169 +#: ../src/ui/widget/panel.cpp:168 msgctxt "Swatches width" msgid "Narrower" msgstr "" -#: ../src/ui/widget/panel.cpp:170 +#: ../src/ui/widget/panel.cpp:169 msgctxt "Swatches width" msgid "Narrow" msgstr "" -#: ../src/ui/widget/panel.cpp:171 +#: ../src/ui/widget/panel.cpp:170 msgctxt "Swatches width" msgid "Medium" msgstr "" -#: ../src/ui/widget/panel.cpp:172 +#: ../src/ui/widget/panel.cpp:171 msgctxt "Swatches width" msgid "Wide" msgstr "" -#: ../src/ui/widget/panel.cpp:173 +#: ../src/ui/widget/panel.cpp:172 msgctxt "Swatches width" msgid "Wider" msgstr "" -#: ../src/ui/widget/panel.cpp:203 +#: ../src/ui/widget/panel.cpp:202 msgctxt "Swatches" msgid "Border" msgstr "" -#: ../src/ui/widget/panel.cpp:207 +#: ../src/ui/widget/panel.cpp:206 msgctxt "Swatches border" msgid "None" msgstr "" -#: ../src/ui/widget/panel.cpp:208 +#: ../src/ui/widget/panel.cpp:207 msgctxt "Swatches border" msgid "Solid" msgstr "" -#: ../src/ui/widget/panel.cpp:209 +#: ../src/ui/widget/panel.cpp:208 msgctxt "Swatches border" msgid "Wide" msgstr "" #. TRANSLATORS: "Wrap" indicates how colour swatches are displayed -#: ../src/ui/widget/panel.cpp:240 +#: ../src/ui/widget/panel.cpp:239 msgctxt "Swatches" msgid "Wrap" msgstr "" @@ -25178,12 +25250,6 @@ msgstr "" msgid "Does nothing" msgstr "" -#. File -#. Tag -#: ../src/verbs.cpp:2462 ../src/verbs.cpp:2780 -msgid "_New" -msgstr "" - #: ../src/verbs.cpp:2462 msgid "Create new document from the default template" msgstr "" @@ -25277,10 +25343,6 @@ msgstr "" msgid "Switch to the previous document window" msgstr "" -#: ../src/verbs.cpp:2489 -msgid "_Close" -msgstr "" - #: ../src/verbs.cpp:2490 msgid "Close this document window" msgstr "" @@ -25421,10 +25483,6 @@ msgstr "" msgid "Remove any filters from selected objects" msgstr "" -#: ../src/verbs.cpp:2528 -msgid "_Delete" -msgstr "" - #: ../src/verbs.cpp:2529 msgid "Delete selection" msgstr "" @@ -28251,27 +28309,27 @@ msgstr "" msgid "Create radial (elliptic or circular) gradient" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1045 ../src/widgets/mesh-toolbar.cpp:396 +#: ../src/widgets/gradient-toolbar.cpp:1045 ../src/widgets/mesh-toolbar.cpp:397 msgid "New:" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1068 ../src/widgets/mesh-toolbar.cpp:419 +#: ../src/widgets/gradient-toolbar.cpp:1068 ../src/widgets/mesh-toolbar.cpp:420 msgid "fill" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1068 ../src/widgets/mesh-toolbar.cpp:419 +#: ../src/widgets/gradient-toolbar.cpp:1068 ../src/widgets/mesh-toolbar.cpp:420 msgid "Create gradient in the fill" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1072 ../src/widgets/mesh-toolbar.cpp:423 +#: ../src/widgets/gradient-toolbar.cpp:1072 ../src/widgets/mesh-toolbar.cpp:424 msgid "stroke" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1072 ../src/widgets/mesh-toolbar.cpp:423 +#: ../src/widgets/gradient-toolbar.cpp:1072 ../src/widgets/mesh-toolbar.cpp:424 msgid "Create gradient in the stroke" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1075 ../src/widgets/mesh-toolbar.cpp:426 +#: ../src/widgets/gradient-toolbar.cpp:1075 ../src/widgets/mesh-toolbar.cpp:427 msgid "on:" msgstr "" @@ -28407,30 +28465,6 @@ msgstr "" msgid "Change gradient stop color" msgstr "" -#: ../src/widgets/image-menu-item.c:151 -msgid "Image widget" -msgstr "" - -#: ../src/widgets/image-menu-item.c:152 -msgid "Child widget to appear next to the menu text" -msgstr "" - -#: ../src/widgets/image-menu-item.c:167 -msgid "Use stock" -msgstr "" - -#: ../src/widgets/image-menu-item.c:168 -msgid "Whether to use the label text to create a stock menu item" -msgstr "" - -#: ../src/widgets/image-menu-item.c:183 -msgid "Accel Group" -msgstr "" - -#: ../src/widgets/image-menu-item.c:184 -msgid "The Accel Group to use for stock accelerator keys" -msgstr "" - #: ../src/widgets/lpe-toolbar.cpp:226 msgid "Closed" msgstr "" @@ -28619,11 +28653,11 @@ msgstr "" msgid "Convert to item" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:284 +#: ../src/widgets/mesh-toolbar.cpp:285 msgid "Set mesh type" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:357 +#: ../src/widgets/mesh-toolbar.cpp:358 msgid "" "Mesh gradients are part of SVG 2:\n" "* Syntax may change.\n" @@ -28633,141 +28667,141 @@ msgid "" "For print: export to PDF." msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:389 +#: ../src/widgets/mesh-toolbar.cpp:390 msgid "normal" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:389 +#: ../src/widgets/mesh-toolbar.cpp:390 msgid "Create mesh gradient" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:393 +#: ../src/widgets/mesh-toolbar.cpp:394 msgid "conical" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:393 +#: ../src/widgets/mesh-toolbar.cpp:394 msgid "Create conical gradient" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:448 +#: ../src/widgets/mesh-toolbar.cpp:449 msgid "Rows" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:448 +#: ../src/widgets/mesh-toolbar.cpp:449 #: ../share/extensions/guides_creator.inx.h:5 #: ../share/extensions/layout_nup.inx.h:12 msgid "Rows:" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:448 +#: ../src/widgets/mesh-toolbar.cpp:449 msgid "Number of rows in new mesh" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:464 +#: ../src/widgets/mesh-toolbar.cpp:465 msgid "Columns" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:464 +#: ../src/widgets/mesh-toolbar.cpp:465 #: ../share/extensions/guides_creator.inx.h:4 msgid "Columns:" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:464 +#: ../src/widgets/mesh-toolbar.cpp:465 msgid "Number of columns in new mesh" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:478 +#: ../src/widgets/mesh-toolbar.cpp:479 msgid "Edit Fill" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:479 +#: ../src/widgets/mesh-toolbar.cpp:480 msgid "Edit fill mesh" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:491 +#: ../src/widgets/mesh-toolbar.cpp:492 msgid "Edit Stroke" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:492 +#: ../src/widgets/mesh-toolbar.cpp:493 msgid "Edit stroke mesh" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:504 ../src/widgets/node-toolbar.cpp:519 +#: ../src/widgets/mesh-toolbar.cpp:505 ../src/widgets/node-toolbar.cpp:519 msgid "Show Handles" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:521 ../src/widgets/mesh-toolbar.cpp:522 +#: ../src/widgets/mesh-toolbar.cpp:522 ../src/widgets/mesh-toolbar.cpp:523 msgid "WARNING: Mesh SVG Syntax Subject to Change" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:536 +#: ../src/widgets/mesh-toolbar.cpp:537 msgctxt "Type" msgid "Coons" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:539 +#: ../src/widgets/mesh-toolbar.cpp:540 msgid "Bicubic" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:541 +#: ../src/widgets/mesh-toolbar.cpp:542 msgid "Coons" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:542 +#: ../src/widgets/mesh-toolbar.cpp:543 msgid "Coons: no smoothing. Bicubic: smoothing across patch boundaries." msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:544 ../src/widgets/pencil-toolbar.cpp:377 +#: ../src/widgets/mesh-toolbar.cpp:545 ../src/widgets/pencil-toolbar.cpp:377 msgid "Smoothing:" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:554 +#: ../src/widgets/mesh-toolbar.cpp:555 msgid "Toggle Sides" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:555 +#: ../src/widgets/mesh-toolbar.cpp:556 msgid "Toggle selected sides between Beziers and lines." msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:558 +#: ../src/widgets/mesh-toolbar.cpp:559 msgid "Toggle side:" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:565 +#: ../src/widgets/mesh-toolbar.cpp:566 msgid "Make elliptical" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:566 +#: ../src/widgets/mesh-toolbar.cpp:567 msgid "" "Make selected sides elliptical by changing length of handles. Works best if " "handles already approximate ellipse." msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:569 +#: ../src/widgets/mesh-toolbar.cpp:570 msgid "Make elliptical:" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:576 +#: ../src/widgets/mesh-toolbar.cpp:577 msgid "Pick colors:" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:577 +#: ../src/widgets/mesh-toolbar.cpp:578 msgid "Pick colors for selected corner nodes from underneath mesh." msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:580 +#: ../src/widgets/mesh-toolbar.cpp:581 msgid "Pick Color" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:588 +#: ../src/widgets/mesh-toolbar.cpp:589 msgid "Scale mesh to bounding box:" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:589 +#: ../src/widgets/mesh-toolbar.cpp:590 msgid "Scale mesh to fit inside bounding box." msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:592 +#: ../src/widgets/mesh-toolbar.cpp:593 msgid "Fit mesh" msgstr "" diff --git a/src/display/canvas-axonomgrid.cpp b/src/display/canvas-axonomgrid.cpp index 421a39fbd..94ee4ccfd 100644 --- a/src/display/canvas-axonomgrid.cpp +++ b/src/display/canvas-axonomgrid.cpp @@ -107,7 +107,12 @@ attach_all(Gtk::Grid &table, Gtk::Widget const *const arr[], unsigned size, int table.attach(const_cast<Gtk::Widget&>(*arr[i+1]), 1, r, 2, 1); } else if (arr[i]) { Gtk::Label& label = reinterpret_cast<Gtk::Label&> (const_cast<Gtk::Widget&>(*arr[i])); +#if GTK_CHECK_VERSION(3,16,0) + label.set_xalign(0.0); + label.set_yalign(0.5); +#else label.set_alignment (0.0); +#endif label.set_hexpand(); label.set_valign(Gtk::ALIGN_CENTER); table.attach(label, 0, r, 3, 1); diff --git a/src/display/canvas-grid.cpp b/src/display/canvas-grid.cpp index 81d194b35..cf7d04555 100644 --- a/src/display/canvas-grid.cpp +++ b/src/display/canvas-grid.cpp @@ -413,7 +413,12 @@ static inline void attach_all(Gtk::Grid &table, Gtk::Widget const *const arr[], table.attach(const_cast<Gtk::Widget&>(*arr[i+1]), 1, r, 2, 1); } else if (arr[i]) { Gtk::Label& label = reinterpret_cast<Gtk::Label&> (const_cast<Gtk::Widget&>(*arr[i])); +#if GTK_CHECK_VERSION(3,16,0) + label.set_xalign(0.0); + label.set_yalign(0.5); +#else label.set_alignment (0.0); +#endif label.set_hexpand(); label.set_valign(Gtk::ALIGN_CENTER); table.attach(label, 0, r, 3, 1); diff --git a/src/extension/internal/cdr-input.cpp b/src/extension/internal/cdr-input.cpp index b94b6d019..92a11a6ac 100644 --- a/src/extension/internal/cdr-input.cpp +++ b/src/extension/internal/cdr-input.cpp @@ -116,8 +116,8 @@ CdrImportDialog::CdrImportDialog(const std::vector<RVNGString> &vec) // CONTROLS // Buttons - cancelbutton = Gtk::manage(new class Gtk::Button(Gtk::StockID("gtk-cancel"))); - okbutton = Gtk::manage(new class Gtk::Button(Gtk::StockID("gtk-ok"))); + cancelbutton = Gtk::manage(new Gtk::Button(_("_Cancel"), true)); + okbutton = Gtk::manage(new Gtk::Button(_("_OK"), true)); // Labels _labelSelect = Gtk::manage(new class Gtk::Label(_("Select page:"))); diff --git a/src/extension/internal/pdfinput/pdf-input.cpp b/src/extension/internal/pdfinput/pdf-input.cpp index 0c22fa399..a57396b17 100644 --- a/src/extension/internal/pdfinput/pdf-input.cpp +++ b/src/extension/internal/pdfinput/pdf-input.cpp @@ -85,8 +85,8 @@ PdfImportDialog::PdfImportDialog(PDFDoc *doc, const gchar */*uri*/) _poppler_doc = NULL; #endif // HAVE_POPPLER_CAIRO _pdf_doc = doc; - cancelbutton = Gtk::manage(new class Gtk::Button(Gtk::StockID("gtk-cancel"))); - okbutton = Gtk::manage(new class Gtk::Button(Gtk::StockID("gtk-ok"))); + cancelbutton = Gtk::manage(new Gtk::Button(_("_Cancel"), true)); + okbutton = Gtk::manage(new Gtk::Button(_("_OK"), true)); _labelSelect = Gtk::manage(new class Gtk::Label(_("Select page:"))); // Page number @@ -157,9 +157,50 @@ PdfImportDialog::PdfImportDialog(PDFDoc *doc, const gchar */*uri*/) okbutton->set_can_focus(); okbutton->set_can_default(); okbutton->set_relief(Gtk::RELIEF_NORMAL); - this->get_action_area()->property_layout_style().set_value(Gtk::BUTTONBOX_END); + +#if GTK_CHECK_VERSION(3,16,0) + _labelSelect->set_xalign(0.5); + _labelSelect->set_yalign(0.5); + _labelTotalPages->set_xalign(0.5); + _labelTotalPages->set_yalign(0.5); + _labelPrecision->set_xalign(0.0); + _labelPrecision->set_yalign(0.5); + _labelPrecisionWarning->set_xalign(0.0); + _labelPrecisionWarning->set_yalign(0.5); + _labelPrecisionComment->set_xalign(0.5); + _labelPrecisionComment->set_yalign(0.5); +#else _labelSelect->set_alignment(0.5,0.5); - _labelSelect->set_padding(4,0); + _labelTotalPages->set_alignment(0.5,0.5); + _labelPrecision->set_alignment(0,0.5); + _labelPrecisionWarning->set_alignment(0,0.5); + _labelPrecisionComment->set_alignment(0.5,0.5); +#endif + +#if GTK_CHECK_VERSION(3,12,0) + _labelSelect->set_margin_start(4); + _labelSelect->set_margin_end(4); + _labelTotalPages->set_margin_start(4); + _labelTotalPages->set_margin_end(4); + _labelPrecision->set_margin_start(4); + _labelPrecision->set_margin_end(4); + _labelPrecisionWarning->set_margin_start(4); + _labelPrecisionWarning->set_margin_end(4); + _labelPrecisionComment->set_margin_start(4); + _labelPrecisionComment->set_margin_end(4); +#else + _labelSelect->set_margin_left(4); + _labelSelect->set_margin_right(4); + _labelTotalPages->set_margin_left(4); + _labelTotalPages->set_margin_right(4); + _labelPrecision->set_margin_left(4); + _labelPrecision->set_margin_right(4); + _labelPrecisionWarning->set_margin_left(4); + _labelPrecisionWarning->set_margin_right(4); + _labelPrecisionComment->set_margin_left(4); + _labelPrecisionComment->set_margin_right(4); +#endif + _labelSelect->set_justify(Gtk::JUSTIFY_LEFT); _labelSelect->set_line_wrap(false); _labelSelect->set_use_markup(false); @@ -169,8 +210,6 @@ PdfImportDialog::PdfImportDialog(PDFDoc *doc, const gchar */*uri*/) _pageNumberSpin->set_numeric(true); _pageNumberSpin->set_digits(0); _pageNumberSpin->set_wrap(false); - _labelTotalPages->set_alignment(0.5,0.5); - _labelTotalPages->set_padding(4,0); _labelTotalPages->set_justify(Gtk::JUSTIFY_LEFT); _labelTotalPages->set_line_wrap(false); _labelTotalPages->set_use_markup(false); @@ -189,14 +228,10 @@ PdfImportDialog::PdfImportDialog(PDFDoc *doc, const gchar */*uri*/) vbox2->pack_start(*hbox3); _pageSettingsFrame->add(*vbox2); _pageSettingsFrame->set_border_width(4); - _labelPrecision->set_alignment(0,0.5); - _labelPrecision->set_padding(4,0); _labelPrecision->set_justify(Gtk::JUSTIFY_LEFT); _labelPrecision->set_line_wrap(true); _labelPrecision->set_use_markup(false); _labelPrecision->set_selectable(false); - _labelPrecisionWarning->set_alignment(0,0.5); - _labelPrecisionWarning->set_padding(4,0); _labelPrecisionWarning->set_justify(Gtk::JUSTIFY_LEFT); _labelPrecisionWarning->set_line_wrap(true); _labelPrecisionWarning->set_use_markup(true); @@ -213,6 +248,14 @@ PdfImportDialog::PdfImportDialog(PDFDoc *doc, const gchar */*uri*/) _importViaInternal->set_active(true); _labelViaPoppler->set_line_wrap(true); _labelViaInternal->set_line_wrap(true); + +# if GTK_CHECK_VERSION(3,16,0) + _labelViaPoppler->set_xalign(0); + _labelViaInternal->set_xalign(0); +# else + _labelViaPoppler->set_alignment(0, 0.5); + _labelViaInternal->set_alignment(0, 0.5); +# endif #endif _fallbackPrecisionSlider->set_size_request(180,-1); @@ -222,8 +265,6 @@ PdfImportDialog::PdfImportDialog(PDFDoc *doc, const gchar */*uri*/) _fallbackPrecisionSlider->set_draw_value(true); _fallbackPrecisionSlider->set_value_pos(Gtk::POS_TOP); _labelPrecisionComment->set_size_request(90,-1); - _labelPrecisionComment->set_alignment(0.5,0.5); - _labelPrecisionComment->set_padding(4,0); _labelPrecisionComment->set_justify(Gtk::JUSTIFY_LEFT); _labelPrecisionComment->set_line_wrap(false); _labelPrecisionComment->set_use_markup(false); @@ -260,10 +301,10 @@ PdfImportDialog::PdfImportDialog(PDFDoc *doc, const gchar */*uri*/) // vbox3->pack_start(*hbox5, Gtk::PACK_SHRINK, 4); _importSettingsFrame->add(*vbox3); _importSettingsFrame->set_border_width(4); - vbox1->pack_start(*_pageSettingsFrame, Gtk::PACK_EXPAND_PADDING, 0); - vbox1->pack_start(*_importSettingsFrame, Gtk::PACK_EXPAND_PADDING, 0); + vbox1->pack_start(*_pageSettingsFrame, Gtk::PACK_SHRINK, 0); + vbox1->pack_start(*_importSettingsFrame, Gtk::PACK_SHRINK, 0); hbox1->pack_start(*vbox1); - hbox1->pack_start(*_previewArea, Gtk::PACK_EXPAND_WIDGET, 4); + hbox1->pack_start(*_previewArea, Gtk::PACK_SHRINK, 4); get_content_area()->set_homogeneous(false); get_content_area()->set_spacing(0); diff --git a/src/extension/internal/pdfinput/pdf-input.h b/src/extension/internal/pdfinput/pdf-input.h index c338207c1..a70d40a23 100644 --- a/src/extension/internal/pdfinput/pdf-input.h +++ b/src/extension/internal/pdfinput/pdf-input.h @@ -32,7 +32,6 @@ class Page; class PDFDoc; namespace Gtk { - class Alignment; class Button; class CheckButton; class ComboBoxText; diff --git a/src/extension/internal/vsd-input.cpp b/src/extension/internal/vsd-input.cpp index 2de2d0ec6..2fb4acf22 100644 --- a/src/extension/internal/vsd-input.cpp +++ b/src/extension/internal/vsd-input.cpp @@ -118,8 +118,8 @@ VsdImportDialog::VsdImportDialog(const std::vector<RVNGString> &vec) // CONTROLS // Buttons - cancelbutton = Gtk::manage(new class Gtk::Button(Gtk::StockID("gtk-cancel"))); - okbutton = Gtk::manage(new class Gtk::Button(Gtk::StockID("gtk-ok"))); + cancelbutton = Gtk::manage(new Gtk::Button(_("_Cancel"), true)); + okbutton = Gtk::manage(new Gtk::Button(_("_OK"), true)); // Labels _labelSelect = Gtk::manage(new class Gtk::Label(_("Select page:"))); diff --git a/src/extension/param/description.cpp b/src/extension/param/description.cpp index 326e75e4a..07aaa07cc 100644 --- a/src/extension/param/description.cpp +++ b/src/extension/param/description.cpp @@ -81,7 +81,8 @@ ParamDescription::get_widget (SPDocument * /*doc*/, Inkscape::XML::Node * /*node int padding = 12 + _indent; if (_mode == HEADER) { label = Gtk::manage(new Gtk::Label(Glib::ustring("<b>") +newguitext + Glib::ustring("</b>"), Gtk::ALIGN_START)); - label->set_padding(0,5); + label->set_margin_top(5); + label->set_margin_bottom(5); label->set_use_markup(true); padding = _indent; } else { diff --git a/src/extension/prefdialog.cpp b/src/extension/prefdialog.cpp index 1ca590e85..fcc88853d 100644 --- a/src/extension/prefdialog.cpp +++ b/src/extension/prefdialog.cpp @@ -8,7 +8,6 @@ */ #include "prefdialog.h" -#include <gtkmm/stock.h> #include <gtkmm/checkbutton.h> #include <gtkmm/separator.h> #include <glibmm/i18n.h> @@ -71,11 +70,8 @@ PrefDialog::PrefDialog (Glib::ustring name, gchar const * help, Gtk::Widget * co if (_help == NULL) help_button->set_sensitive(false); */ - _button_cancel = add_button(_effect == NULL ? Gtk::Stock::CANCEL : Gtk::Stock::CLOSE, Gtk::RESPONSE_CANCEL); - _button_cancel->set_use_stock(true); - - _button_ok = add_button(_effect == NULL ? Gtk::Stock::OK : Gtk::Stock::APPLY, Gtk::RESPONSE_OK); - _button_ok->set_use_stock(true); + _button_cancel = add_button(_effect == NULL ? _("_Cancel") : _("_Close"), Gtk::RESPONSE_CANCEL); + _button_ok = add_button(_effect == NULL ? _("_OK") : _("_Apply"), Gtk::RESPONSE_OK); set_default_response(Gtk::RESPONSE_OK); _button_ok->grab_focus(); diff --git a/src/file.cpp b/src/file.cpp index 6f7c52123..756bc55bb 100644 --- a/src/file.cpp +++ b/src/file.cpp @@ -31,6 +31,8 @@ # include "config.h" #endif +#include <gtkmm.h> + #include "ui/dialog/ocaldialogs.h" #include "desktop.h" @@ -71,8 +73,6 @@ #include "proj_pt.h" #include "ui/shape-editor.h" -#include <gtkmm.h> - using Inkscape::DocumentUndo; #ifdef WITH_GNOME_VFS diff --git a/src/live_effects/lpe-measure-line.h b/src/live_effects/lpe-measure-line.h index 565644c07..c69921a4d 100644 --- a/src/live_effects/lpe-measure-line.h +++ b/src/live_effects/lpe-measure-line.h @@ -11,6 +11,9 @@ */ #include "live_effects/effect.h" + +#include <gtkmm/expander.h> + #include "live_effects/parameter/enum.h" #include "live_effects/parameter/fontbutton.h" #include "live_effects/parameter/text.h" diff --git a/src/live_effects/lpe-mirror_symmetry.cpp b/src/live_effects/lpe-mirror_symmetry.cpp index f7881fb2e..61b2b8b5c 100644 --- a/src/live_effects/lpe-mirror_symmetry.cpp +++ b/src/live_effects/lpe-mirror_symmetry.cpp @@ -124,9 +124,25 @@ LPEMirrorSymmetry::doBeforeEffect (SPLPEItem const* lpeitem) } if ( mode == MT_X || mode == MT_Y ) { if (!are_near(previous_center, (Geom::Point)center_point, 0.01)) { - start_point.param_setValue(point_a, true); - end_point.param_setValue(point_b, true); center_point.param_setValue(Geom::middle_point(point_a, point_b), true); + end_point.param_setValue(point_b, true); + start_point.param_setValue(point_a, true); + } else { + if ( mode == MT_X ) { + if (!are_near(start_point[X], point_a[X], 0.01)) { + start_point.param_setValue(point_a, true); + } + if (!are_near(end_point[X], point_b[X], 0.01)) { + end_point.param_setValue(point_b, true); + } + } else { //MT_Y + if (!are_near(start_point[Y], point_a[Y], 0.01)) { + start_point.param_setValue(point_a, true); + } + if (!are_near(end_point[Y], point_b[Y], 0.01)) { + end_point.param_setValue(point_b, true); + } + } } } else if ( mode == MT_FREE) { if (are_near(previous_center, (Geom::Point)center_point, 0.01)) { diff --git a/src/live_effects/lpe-perspective-envelope.cpp b/src/live_effects/lpe-perspective-envelope.cpp index e834c0e86..e0dac0687 100644 --- a/src/live_effects/lpe-perspective-envelope.cpp +++ b/src/live_effects/lpe-perspective-envelope.cpp @@ -408,7 +408,8 @@ LPEPerspectiveEnvelope::newWidget() vbox->pack_start(*hbox_middle, false, true, 2); vbox->pack_start(*hbox_down_handles, true, true, 2); Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false,0)); - Gtk::Button* reset_button = Gtk::manage(new Gtk::Button(Gtk::Stock::CLEAR)); + Gtk::Button* reset_button = Gtk::manage(new Gtk::Button(_("_Clear"), true)); + reset_button->set_image_from_icon_name("edit-clear"); reset_button->signal_clicked().connect(sigc::mem_fun (*this,&LPEPerspectiveEnvelope::resetGrid)); reset_button->set_size_request(140,30); vbox->pack_start(*hbox, true,true,2); @@ -540,4 +541,4 @@ LPEPerspectiveEnvelope::addCanvasIndicators(SPLPEItem const */*lpeitem*/, std::v fill-column:99 End: */ -// vim: file_type=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : diff --git a/src/live_effects/parameter/item-reference.cpp b/src/live_effects/parameter/item-reference.cpp new file mode 100644 index 000000000..a775d93b7 --- /dev/null +++ b/src/live_effects/parameter/item-reference.cpp @@ -0,0 +1,44 @@ +/* + * The reference corresponding to href of LPE Item parameter. + * + * Copyright (C) 2008 Johan Engelen + * + * Released under GNU GPL, read the file 'COPYING' for more information. + */ + +#include "live_effects/parameter/item-reference.h" + +#include "sp-shape.h" +#include "sp-text.h" +#include "sp-item-group.h" + +namespace Inkscape { +namespace LivePathEffect { + +bool ItemReference::_acceptObject(SPObject * const obj) const +{ + if (SP_IS_SHAPE(obj) || SP_IS_TEXT(obj) || SP_IS_GROUP(obj)) { + /* Refuse references to lpeobject */ + if (obj == getOwner()) { + return false; + } + // TODO: check whether the referred item has this LPE applied, if so: deny deny deny! + return URIReference::_acceptObject(obj); + } else { + return false; + } +} + +} // namespace LivePathEffect +} // namespace Inkscape + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : diff --git a/src/live_effects/parameter/item-reference.h b/src/live_effects/parameter/item-reference.h new file mode 100644 index 000000000..91231455a --- /dev/null +++ b/src/live_effects/parameter/item-reference.h @@ -0,0 +1,56 @@ +#ifndef SEEN_LPE_ITEM_REFERENCE_H +#define SEEN_LPE_ITEM_REFERENCE_H + +/* + * Copyright (C) 2008-2012 Authors + * Authors: Johan Engelen + * Abhishek Sharma + * + * Released under GNU GPL, read the file 'COPYING' for more information. + */ + +#include <uri-references.h> + +class SPItem; +namespace Inkscape { +namespace XML { class Node; } + +namespace LivePathEffect { + +/** + * The reference corresponding to href of LPE ItemParam. + */ +class ItemReference : public Inkscape::URIReference { +public: + ItemReference(SPObject *owner) : URIReference(owner) {} + + SPItem *getObject() const { + return (SPItem *)URIReference::getObject(); + } + +protected: + virtual bool _acceptObject(SPObject * const obj) const; + +private: + ItemReference(const ItemReference&); + ItemReference& operator=(const ItemReference&); +}; + +} // namespace LivePathEffect + +} // namespace Inkscape + + + +#endif /* !SEEN_LPE_PATH_REFERENCE_H */ + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : diff --git a/src/live_effects/parameter/item.cpp b/src/live_effects/parameter/item.cpp new file mode 100644 index 000000000..8caea4e26 --- /dev/null +++ b/src/live_effects/parameter/item.cpp @@ -0,0 +1,246 @@ +/* + * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl> + * Abhishek Sharma + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#include "ui/widget/point.h" +#include <glibmm/i18n.h> + +#include "live_effects/parameter/item.h" +#include "live_effects/effect.h" +#include "svg/svg.h" + +#include "widgets/icon.h" +#include <gtk/gtk.h> +#include "selection-chemistry.h" +#include "xml/repr.h" +#include "desktop.h" +#include "inkscape.h" +#include "message-stack.h" + +// clipboard support +#include "ui/clipboard.h" +// required for linking to other paths +#include "uri.h" + +#include <gtkmm/button.h> +#include <gtkmm/label.h> +#include "ui/icon-names.h" + +namespace Inkscape { + +namespace LivePathEffect { + +ItemParam::ItemParam( const Glib::ustring& label, const Glib::ustring& tip, + const Glib::ustring& key, Inkscape::UI::Widget::Registry* wr, + Effect* effect, const gchar * default_value) + : Parameter(label, tip, key, wr, effect), + changed(true), + href(NULL), + ref( (SPObject*)effect->getLPEObj() ) +{ + defvalue = g_strdup(default_value); + ref_changed_connection = ref.changedSignal().connect(sigc::mem_fun(*this, &ItemParam::ref_changed)); +} + +ItemParam::~ItemParam() +{ + remove_link(); + g_free(defvalue); +} + +void +ItemParam::param_set_default() +{ + param_readSVGValue(defvalue); +} + + +void +ItemParam::param_set_and_write_default() +{ + param_write_to_repr(defvalue); +} + +bool +ItemParam::param_readSVGValue(const gchar * strvalue) +{ + if (strvalue) { + remove_link(); + if (strvalue[0] == '#') { + if (href) + g_free(href); + href = g_strdup(strvalue); + try { + ref.attach(Inkscape::URI(href)); + //lp:1299948 + SPItem* i = ref.getObject(); + if (i) { + linked_modified_callback(i, SP_OBJECT_MODIFIED_FLAG); + } // else: document still processing new events. Repr of the linked object not created yet. + } catch (Inkscape::BadURIException &e) { + g_warning("%s", e.what()); + ref.detach(); + } + } + emit_changed(); + return true; + } + + return false; +} + +gchar * +ItemParam::param_getSVGValue() const +{ + return g_strdup(href); +} + +Gtk::Widget * +ItemParam::param_newWidget() +{ + Gtk::HBox * _widget = Gtk::manage(new Gtk::HBox()); + Gtk::Widget* pIcon = Gtk::manage( sp_icon_get_icon( INKSCAPE_ICON("edit-clone"), Inkscape::ICON_SIZE_BUTTON) ); + Gtk::Button * pButton = Gtk::manage(new Gtk::Button()); + Gtk::Label* pLabel = Gtk::manage(new Gtk::Label(param_label)); + static_cast<Gtk::HBox*>(_widget)->pack_start(*pLabel, true, true); + pLabel->set_tooltip_text(param_tooltip); + pButton->set_relief(Gtk::RELIEF_NONE); + pIcon->show(); + pButton->add(*pIcon); + pButton->show(); + pButton->signal_clicked().connect(sigc::mem_fun(*this, &ItemParam::on_link_button_click)); + static_cast<Gtk::HBox*>(_widget)->pack_start(*pButton, true, true); + pButton->set_tooltip_text(_("Link to item on clipboard")); + + static_cast<Gtk::HBox*>(_widget)->show_all_children(); + + return dynamic_cast<Gtk::Widget *> (_widget); +} + +void +ItemParam::emit_changed() +{ + changed = true; + signal_item_changed.emit(); +} + + +void +ItemParam::addCanvasIndicators(SPLPEItem const*/*lpeitem*/, std::vector<Geom::PathVector> &hp_vec) +{ +} + + +void +ItemParam::start_listening(SPObject * to) +{ + if ( to == NULL ) { + return; + } + linked_delete_connection = to->connectDelete(sigc::mem_fun(*this, &ItemParam::linked_delete)); + linked_modified_connection = to->connectModified(sigc::mem_fun(*this, &ItemParam::linked_modified)); + if (SP_IS_ITEM(to)) { + linked_transformed_connection = SP_ITEM(to)->connectTransformed(sigc::mem_fun(*this, &ItemParam::linked_transformed)); + } + linked_modified(to, SP_OBJECT_MODIFIED_FLAG); // simulate linked_modified signal, so that path data is updated +} + +void +ItemParam::quit_listening(void) +{ + linked_modified_connection.disconnect(); + linked_delete_connection.disconnect(); + linked_transformed_connection.disconnect(); +} + +void +ItemParam::ref_changed(SPObject */*old_ref*/, SPObject *new_ref) +{ + quit_listening(); + if ( new_ref ) { + start_listening(new_ref); + } +} + +void +ItemParam::remove_link() +{ + if (href) { + ref.detach(); + g_free(href); + href = NULL; + } +} + +void +ItemParam::linked_delete(SPObject */*deleted*/) +{ + quit_listening(); + remove_link(); +} + +void ItemParam::linked_modified(SPObject *linked_obj, guint flags) +{ + linked_modified_callback(linked_obj, flags); +} + +void ItemParam::linked_transformed(Geom::Affine const *rel_transf, SPItem *moved_item) +{ + linked_transformed_callback(rel_transf, moved_item); +} + +void +ItemParam::linked_modified_callback(SPObject *linked_obj, guint /*flags*/) +{ + emit_changed(); + SP_OBJECT(param_effect->getLPEObj())->requestModified(SP_OBJECT_MODIFIED_FLAG); +} + +void +ItemParam::on_link_button_click() +{ + Inkscape::UI::ClipboardManager *cm = Inkscape::UI::ClipboardManager::get(); + const gchar * iid = cm->getFirstObjectID(); + if (!iid) { + return; + } + + Glib::ustring itemid(iid); + + if (itemid.empty()) { + return; + } + + // add '#' at start to make it an uri. + itemid.insert(itemid.begin(), '#'); + if ( href && strcmp(itemid.c_str(), href) == 0 ) { + // no change, do nothing + return; + } else { + // TODO: + // check if id really exists in document, or only in clipboard document: if only in clipboard then invalid + // check if linking to object to which LPE is applied (maybe delegated to PathReference + + param_write_to_repr(itemid.c_str()); + DocumentUndo::done(param_effect->getSPDoc(), SP_VERB_DIALOG_LIVE_PATH_EFFECT, + _("Link item parameter to path")); + } +} + +} /* namespace LivePathEffect */ + +} /* namespace Inkscape */ + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : diff --git a/src/live_effects/parameter/item.h b/src/live_effects/parameter/item.h new file mode 100644 index 000000000..6c719d451 --- /dev/null +++ b/src/live_effects/parameter/item.h @@ -0,0 +1,79 @@ +#ifndef INKSCAPE_LIVEPATHEFFECT_PARAMETER_ITEM_H +#define INKSCAPE_LIVEPATHEFFECT_PARAMETER_ITEM_H + +/* + * Inkscape::LivePathEffectParameters + * +* Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl> + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#include <glib.h> + + +#include "live_effects/parameter/parameter.h" +#include "live_effects/parameter/item-reference.h" +#include <stddef.h> +#include <sigc++/sigc++.h> + +namespace Inkscape { + +namespace LivePathEffect { + +class ItemParam : public Parameter { +public: + ItemParam ( const Glib::ustring& label, + const Glib::ustring& tip, + const Glib::ustring& key, + Inkscape::UI::Widget::Registry* wr, + Effect* effect, + const gchar * default_value = ""); + virtual ~ItemParam(); + virtual Gtk::Widget * param_newWidget(); + + virtual bool param_readSVGValue(const gchar * strvalue); + virtual gchar * param_getSVGValue() const; + + virtual void param_set_default(); + void param_set_and_write_default(); + virtual void addCanvasIndicators(SPLPEItem const* lpeitem, std::vector<Geom::PathVector> &hp_vec); + + sigc::signal <void> signal_item_pasted; + sigc::signal <void> signal_item_changed; + bool changed; /* this gets set whenever the path is changed (this is set to true, and then the signal_item_changed signal is emitted). + * the user must set it back to false if she wants to use it sensibly */ +protected: + + gchar * href; // contains link to other object, e.g. "#path2428", NULL if ItemParam contains pathdata itself + ItemReference ref; + sigc::connection ref_changed_connection; + sigc::connection linked_delete_connection; + sigc::connection linked_modified_connection; + sigc::connection linked_transformed_connection; + void ref_changed(SPObject *old_ref, SPObject *new_ref); + void remove_link(); + void start_listening(SPObject * to); + void quit_listening(void); + void linked_delete(SPObject *deleted); + void linked_modified(SPObject *linked_obj, guint flags); + void linked_transformed(Geom::Affine const *rel_transf, SPItem *moved_item); + virtual void linked_modified_callback(SPObject *linked_obj, guint flags); + virtual void linked_transformed_callback(Geom::Affine const * /*rel_transf*/, SPItem * /*moved_item*/) {}; + void on_link_button_click(); + + void emit_changed(); + + gchar * defvalue; + +private: + ItemParam(const ItemParam&); + ItemParam& operator=(const ItemParam&); +}; + + +} //namespace LivePathEffect + +} //namespace Inkscape + +#endif diff --git a/src/live_effects/parameter/originalitem.cpp b/src/live_effects/parameter/originalitem.cpp new file mode 100644 index 000000000..015fa0bd4 --- /dev/null +++ b/src/live_effects/parameter/originalitem.cpp @@ -0,0 +1,127 @@ +/* + * Copyright (C) Johan Engelen 2012 <j.b.c.engelen@alumnus.utwente.nl> + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <gtkmm/box.h> +#include "live_effects/parameter/originalitem.h" + +#include "widgets/icon.h" +#include <glibmm/i18n.h> +#include <gtkmm/button.h> +#include <gtkmm/label.h> + +#include "uri.h" +#include "sp-shape.h" +#include "sp-text.h" +#include "display/curve.h" +#include "live_effects/effect.h" + +#include "inkscape.h" +#include "desktop.h" +#include "selection.h" +#include "ui/icon-names.h" + +namespace Inkscape { + +namespace LivePathEffect { + +OriginalItemParam::OriginalItemParam( const Glib::ustring& label, const Glib::ustring& tip, + const Glib::ustring& key, Inkscape::UI::Widget::Registry* wr, + Effect* effect) + : ItemParam(label, tip, key, wr, effect, "") +{ +} + +OriginalItemParam::~OriginalItemParam() +{ + +} + +Gtk::Widget * +OriginalItemParam::param_newWidget() +{ + Gtk::HBox *_widget = Gtk::manage(new Gtk::HBox()); + + { // Label + Gtk::Label *pLabel = Gtk::manage(new Gtk::Label(param_label)); + static_cast<Gtk::HBox*>(_widget)->pack_start(*pLabel, true, true); + pLabel->set_tooltip_text(param_tooltip); + } + + { // Paste item to link button + Gtk::Widget *pIcon = Gtk::manage( sp_icon_get_icon( INKSCAPE_ICON("edit-paste"), Inkscape::ICON_SIZE_BUTTON) ); + Gtk::Button *pButton = Gtk::manage(new Gtk::Button()); + pButton->set_relief(Gtk::RELIEF_NONE); + pIcon->show(); + pButton->add(*pIcon); + pButton->show(); + pButton->signal_clicked().connect(sigc::mem_fun(*this, &OriginalItemParam::on_link_button_click)); + static_cast<Gtk::HBox*>(_widget)->pack_start(*pButton, true, true); + pButton->set_tooltip_text(_("Link to item")); + } + + { // Select original button + Gtk::Widget *pIcon = Gtk::manage( sp_icon_get_icon("edit-select-original", Inkscape::ICON_SIZE_BUTTON) ); + Gtk::Button *pButton = Gtk::manage(new Gtk::Button()); + pButton->set_relief(Gtk::RELIEF_NONE); + pIcon->show(); + pButton->add(*pIcon); + pButton->show(); + pButton->signal_clicked().connect(sigc::mem_fun(*this, &OriginalItemParam::on_select_original_button_click)); + static_cast<Gtk::HBox*>(_widget)->pack_start(*pButton, true, true); + pButton->set_tooltip_text(_("Select original")); + } + + static_cast<Gtk::HBox*>(_widget)->show_all_children(); + + return dynamic_cast<Gtk::Widget *> (_widget); +} + +void +OriginalItemParam::linked_modified_callback(SPObject *linked_obj, guint /*flags*/) +{ + emit_changed(); + SP_OBJECT(param_effect->getLPEObj())->requestModified(SP_OBJECT_MODIFIED_FLAG); +} + +void +OriginalItemParam::linked_transformed_callback(Geom::Affine const * /*rel_transf*/, SPItem * /*moved_item*/) +{ +/** \todo find good way to compensate for referenced item transform, like done for normal clones. + * See sp-use.cpp: sp_use_move_compensate */ +} + + +void +OriginalItemParam::on_select_original_button_click() +{ + SPDesktop *desktop = SP_ACTIVE_DESKTOP; + SPItem *original = ref.getObject(); + if (desktop == NULL || original == NULL) { + return; + } + Inkscape::Selection *selection = desktop->getSelection(); + selection->clear(); + selection->set(original); +} + +} /* namespace LivePathEffect */ + +} /* namespace Inkscape */ + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : diff --git a/src/live_effects/parameter/originalitem.h b/src/live_effects/parameter/originalitem.h new file mode 100644 index 000000000..9c67571e8 --- /dev/null +++ b/src/live_effects/parameter/originalitem.h @@ -0,0 +1,48 @@ +#ifndef INKSCAPE_LIVEPATHEFFECT_PARAMETER_ORIGINAL_ITEM_H +#define INKSCAPE_LIVEPATHEFFECT_PARAMETER_ORIGINAL_ITEM_H + +/* + * Inkscape::LiveItemEffectParameters + * +* Copyright (C) Johan Engelen 2012 <j.b.c.engelen@alumnus.utwente.nl> + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#include "live_effects/parameter/item.h" + +namespace Inkscape { + +namespace LivePathEffect { + +class OriginalItemParam: public ItemParam { +public: + OriginalItemParam ( const Glib::ustring& label, + const Glib::ustring& tip, + const Glib::ustring& key, + Inkscape::UI::Widget::Registry* wr, + Effect* effect); + virtual ~OriginalItemParam(); + + bool linksToItem() const { return (href != NULL); } + SPItem * getObject() const { return ref.getObject(); } + + virtual Gtk::Widget * param_newWidget(); + +protected: + virtual void linked_modified_callback(SPObject *linked_obj, guint flags); + virtual void linked_transformed_callback(Geom::Affine const *rel_transf, SPItem *moved_item); + + void on_select_original_button_click(); + +private: + OriginalItemParam(const OriginalItemParam&); + OriginalItemParam& operator=(const OriginalItemParam&); +}; + + +} //namespace LivePathEffect + +} //namespace Inkscape + +#endif diff --git a/src/ui/dialog/aboutbox.cpp b/src/ui/dialog/aboutbox.cpp index 552500fe8..8f0545e96 100644 --- a/src/ui/dialog/aboutbox.cpp +++ b/src/ui/dialog/aboutbox.cpp @@ -27,7 +27,6 @@ #include <gtkmm/scrolledwindow.h> #include <gtkmm/aspectframe.h> #include <gtkmm/textview.h> -#include <gtkmm/stock.h> #include "path-prefix.h" #include "document.h" @@ -39,8 +38,6 @@ #include "inkscape-version.h" - - namespace Inkscape { namespace UI { namespace Dialog { @@ -102,7 +99,7 @@ AboutBox::AboutBox() : Gtk::Dialog(_("About Inkscape")) { tabs->show_all(); - add_button(Gtk::Stock::CLOSE, Gtk::RESPONSE_CLOSE); + add_button(_("_Close"), Gtk::RESPONSE_CLOSE); set_default_response(Gtk::RESPONSE_CLOSE); Gtk::Label *label=new Gtk::Label(); diff --git a/src/ui/dialog/calligraphic-profile-rename.cpp b/src/ui/dialog/calligraphic-profile-rename.cpp index 50dae0fd8..36570e769 100644 --- a/src/ui/dialog/calligraphic-profile-rename.cpp +++ b/src/ui/dialog/calligraphic-profile-rename.cpp @@ -15,7 +15,6 @@ #include "calligraphic-profile-rename.h" #include <glibmm/i18n.h> -#include <gtkmm/stock.h> #include <gtkmm/grid.h> #include "desktop.h" @@ -46,17 +45,17 @@ CalligraphicProfileRename::CalligraphicProfileRename() : mainVBox->pack_start(*_layout_table, false, false, 4); // Buttons - _close_button.set_use_stock(true); - _close_button.set_label(Gtk::Stock::CANCEL.id); + _close_button.set_use_underline(); + _close_button.set_label(_("_Cancel")); _close_button.set_can_default(); _delete_button.set_use_underline(true); - _delete_button.set_label(_("Delete")); + _delete_button.set_label(_("_Delete")); _delete_button.set_can_default(); _delete_button.set_visible(false); _apply_button.set_use_underline(true); - _apply_button.set_label(_("Save")); + _apply_button.set_label(_("_Save")); _apply_button.set_can_default(); _close_button.signal_clicked() diff --git a/src/ui/dialog/dialog.cpp b/src/ui/dialog/dialog.cpp index d0b618c65..27a6e55d9 100644 --- a/src/ui/dialog/dialog.cpp +++ b/src/ui/dialog/dialog.cpp @@ -19,7 +19,6 @@ #include "dialog-manager.h" #include <gtkmm/dialog.h> -#include <gtkmm/stock.h> #include <gdk/gdkkeysyms.h> #include "inkscape.h" diff --git a/src/ui/dialog/dock-behavior.cpp b/src/ui/dialog/dock-behavior.cpp index ec630c08f..02955b9a8 100644 --- a/src/ui/dialog/dock-behavior.cpp +++ b/src/ui/dialog/dock-behavior.cpp @@ -25,9 +25,6 @@ #include "dialog.h" #include "ui/dialog-events.h" -#include <gtkmm/invisible.h> -#include <gtkmm/stock.h> - namespace Inkscape { namespace UI { namespace Dialog { diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp index 053549b73..8593223c1 100644 --- a/src/ui/dialog/document-properties.cpp +++ b/src/ui/dialog/document-properties.cpp @@ -44,9 +44,6 @@ #include "color-profile.h" #endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2) -#include <gtkmm/stock.h> -#include <gtkmm/imagemenuitem.h> - #include "ui/icon-names.h" using std::pair; @@ -558,7 +555,7 @@ void DocumentProperties::linked_profiles_list_button_release(GdkEventButton* eve void DocumentProperties::cms_create_popup_menu(Gtk::Widget& parent, sigc::slot<void> rem) { - Gtk::MenuItem* mi = Gtk::manage(new Gtk::ImageMenuItem(Gtk::Stock::REMOVE)); + Gtk::MenuItem* mi = Gtk::manage(new Gtk::MenuItem(_("_Remove"), true)); _EmbProfContextMenu.append(*mi); mi->signal_activate().connect(rem); mi->show(); @@ -568,7 +565,7 @@ void DocumentProperties::cms_create_popup_menu(Gtk::Widget& parent, sigc::slot<v void DocumentProperties::external_create_popup_menu(Gtk::Widget& parent, sigc::slot<void> rem) { - Gtk::MenuItem* mi = Gtk::manage(new Gtk::ImageMenuItem(Gtk::Stock::REMOVE)); + Gtk::MenuItem* mi = Gtk::manage(new Gtk::MenuItem(_("_Remove"), true)); _ExternalScriptsContextMenu.append(*mi); mi->signal_activate().connect(rem); mi->show(); @@ -577,7 +574,7 @@ void DocumentProperties::external_create_popup_menu(Gtk::Widget& parent, sigc::s void DocumentProperties::embedded_create_popup_menu(Gtk::Widget& parent, sigc::slot<void> rem) { - Gtk::MenuItem* mi = Gtk::manage(new Gtk::ImageMenuItem(Gtk::Stock::REMOVE)); + Gtk::MenuItem* mi = Gtk::manage(new Gtk::MenuItem(_("_Remove"), true)); _EmbeddedScriptsContextMenu.append(*mi); mi->signal_activate().connect(rem); mi->show(); diff --git a/src/ui/dialog/export.cpp b/src/ui/dialog/export.cpp index 98ecf6db7..9bebde00f 100644 --- a/src/ui/dialog/export.cpp +++ b/src/ui/dialog/export.cpp @@ -26,7 +26,6 @@ #include <gtkmm/entry.h> #include <gtkmm/grid.h> #include <gtkmm/spinbutton.h> -#include <gtkmm/stock.h> #ifdef WITH_GNOME_VFS # include <libgnomevfs/gnome-vfs-init.h> // gnome_vfs_initialized @@ -142,7 +141,7 @@ Export::Export (void) : units_label(_("Units:")), filename_box(false, 5), browse_label(_("_Export As..."), 1), - browse_image(Gtk::StockID(Gtk::Stock::INDEX), Gtk::ICON_SIZE_BUTTON), + browse_image(), batch_box(false, 5), batch_export(_("B_atch export all selected objects"), _("Export each selected object into its own PNG file, using export hints if any (caution, overwrites without asking!)")), interlacing(_("Use interlacing"),_("Enables ADAM7 interlacing for PNG output. This results in slightly heavier images, but big images will look better sooner when loading the file")), @@ -156,8 +155,6 @@ Export::Export (void) : hide_export(_("Hide a_ll except selected"), _("In the exported image, hide all objects except those that are selected")), closeWhenDone(_("Close when complete"), _("Once the export completes, close this dialog")), button_box(false, 3), - export_label(_("_Export"), 1), - export_image(Gtk::StockID(Gtk::Stock::APPLY), Gtk::ICON_SIZE_BUTTON), _prog(), prog_dlg(NULL), interrupted(false), @@ -290,6 +287,7 @@ Export::Export (void) : filename_box.pack_start (filename_entry, true, true, 0); Gtk::HBox* browser_im_label = new Gtk::HBox(false, 3); + browse_image.set_from_icon_name("folder", Gtk::ICON_SIZE_BUTTON); browser_im_label->pack_start(browse_image); browser_im_label->pack_start(browse_label); browse_button.add(*browser_im_label); @@ -318,11 +316,8 @@ Export::Export (void) : /* Export Button row */ button_box.set_border_width(3); - Gtk::HBox* export_image_label = new Gtk::HBox(false, 3); - export_image_label->pack_start(export_image); - export_image_label->pack_start(export_label); - - export_button.add(*export_image_label); + export_button.set_label(_("_Export")); + export_button.set_use_underline(); export_button.set_tooltip_text (_("Export the bitmap file with these settings")); button_box.pack_start(closeWhenDone, true, true, 0 ); @@ -906,7 +901,7 @@ Gtk::Dialog * Export::create_progress_dialog (Glib::ustring progress_text) { auto CA = dlg->get_content_area(); CA->pack_start(*prg, FALSE, FALSE, 4); - Gtk::Button* btn = dlg->add_button (Gtk::Stock::CANCEL,Gtk::RESPONSE_CANCEL ); + Gtk::Button* btn = dlg->add_button (_("_Cancel"),Gtk::RESPONSE_CANCEL ); btn->signal_clicked().connect( sigc::mem_fun(*this, &Export::onProgressCancel) ); dlg->signal_delete_event().connect( sigc::mem_fun(*this, &Export::onProgressDelete) ); diff --git a/src/ui/dialog/export.h b/src/ui/dialog/export.h index 112f42312..f64d92341 100644 --- a/src/ui/dialog/export.h +++ b/src/ui/dialog/export.h @@ -331,8 +331,6 @@ private: /* Export Button widgets */ Gtk::HBox button_box; Gtk::Button export_button; - Gtk::Label export_label; - Gtk::Image export_image; Gtk::ProgressBar _prog; diff --git a/src/ui/dialog/filedialogimpl-gtkmm.cpp b/src/ui/dialog/filedialogimpl-gtkmm.cpp index e8c1bf723..f5450ac9a 100644 --- a/src/ui/dialog/filedialogimpl-gtkmm.cpp +++ b/src/ui/dialog/filedialogimpl-gtkmm.cpp @@ -35,7 +35,6 @@ #endif #include <gtkmm/expander.h> -#include <gtkmm/stock.h> #include <glibmm/convert.h> #include <glibmm/fileutils.h> @@ -735,8 +734,8 @@ FileOpenDialogImplGtk::FileOpenDialogImplGtk(Gtk::Window &parentWindow, const Gl //###### Add the file types menu createFilterMenu(); - add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); - set_default(*add_button(Gtk::Stock::OPEN, Gtk::RESPONSE_OK)); + add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL); + set_default(*add_button(_("_Open"), Gtk::RESPONSE_OK)); //###### Allow easy access to our examples folder if (Inkscape::IO::file_test(INKSCAPE_EXAMPLESDIR, G_FILE_TEST_EXISTS) && @@ -1050,8 +1049,8 @@ FileSaveDialogImplGtk::FileSaveDialogImplGtk(Gtk::Window &parentWindow, const Gl // if (extension == NULL) // checkbox.set_sensitive(FALSE); - add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); - set_default(*add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_OK)); + add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL); + set_default(*add_button(_("_Save"), Gtk::RESPONSE_OK)); show_all_children(); } @@ -1597,8 +1596,8 @@ FileExportDialogImpl::FileExportDialogImpl(Gtk::Window &parentWindow, const Glib // if (extension == NULL) // checkbox.set_sensitive(FALSE); - add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); - set_default(*add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_OK)); + add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL); + set_default(*add_button(_("_Save"), Gtk::RESPONSE_OK)); show_all_children(); } diff --git a/src/ui/dialog/filter-effects-dialog.cpp b/src/ui/dialog/filter-effects-dialog.cpp index f657e1b76..80dc08ccf 100644 --- a/src/ui/dialog/filter-effects-dialog.cpp +++ b/src/ui/dialog/filter-effects-dialog.cpp @@ -64,7 +64,6 @@ #include "selection-chemistry.h" #include <gtkmm/colorbutton.h> -#include <gtkmm/stock.h> #include <gdkmm/general.h> #include <gtkmm/checkbutton.h> @@ -1305,7 +1304,7 @@ static Glib::RefPtr<Gtk::Menu> create_popup_menu(Gtk::Widget& parent, sigc::slot mi->show(); menu->append(*mi); - mi = Gtk::manage(new Gtk::ImageMenuItem(Gtk::Stock::REMOVE)); + mi = Gtk::manage(new Gtk::MenuItem(_("_Remove"), true)); menu->append(*mi); mi->signal_activate().connect(rem); mi->show(); @@ -1319,7 +1318,7 @@ FilterEffectsDialog::FilterModifier::FilterModifier(FilterEffectsDialog& d) : _desktop(NULL), _deskTrack(), _dialog(d), - _add(Gtk::Stock::NEW), + _add(_("_New"), true), _observer(new Inkscape::XML::SignalObserver) { Gtk::ScrolledWindow* sw = Gtk::manage(new Gtk::ScrolledWindow); diff --git a/src/ui/dialog/floating-behavior.cpp b/src/ui/dialog/floating-behavior.cpp index fa8e11dfd..9abad3e7b 100644 --- a/src/ui/dialog/floating-behavior.cpp +++ b/src/ui/dialog/floating-behavior.cpp @@ -15,7 +15,6 @@ #endif #include <gtkmm/dialog.h> -#include <gtkmm/stock.h> #include <glibmm/main.h> #include "floating-behavior.h" diff --git a/src/ui/dialog/grid-arrange-tab.cpp b/src/ui/dialog/grid-arrange-tab.cpp index 5872393ae..9ec8d3148 100644 --- a/src/ui/dialog/grid-arrange-tab.cpp +++ b/src/ui/dialog/grid-arrange-tab.cpp @@ -1,25 +1,24 @@ -/* - * A simple dialog for creating grid type arrangements of selected objects - * - * Authors: - * Bob Jamison ( based off trace dialog) - * John Cliff - * Other dudes from The Inkscape Organization - * Abhishek Sharma - * Declara Denis - * - * Copyright (C) 2004 Bob Jamison - * Copyright (C) 2004 John Cliff - * - * Released under GNU GPL, read the file 'COPYING' for more information - */ -//#define DEBUG_GRID_ARRANGE 1 + /* + * A simple dialog for creating grid type arrangements of selected objects + * + * Authors: + * Bob Jamison ( based off trace dialog) + * John Cliff + * Other dudes from The Inkscape Organization + * Abhishek Sharma + * Declara Denis + * + * Copyright (C) 2004 Bob Jamison + * Copyright (C) 2004 John Cliff + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + //#define DEBUG_GRID_ARRANGE 1 #include "ui/dialog/grid-arrange-tab.h" #include <glibmm/i18n.h> #include <gtkmm/grid.h> -#include <gtkmm/stock.h> #include <2geom/transforms.h> @@ -31,193 +30,193 @@ #include "document-undo.h" #include "widgets/icon.h" #include "desktop.h" -//#include "sp-item-transform.h" FIXME + //#include "sp-item-transform.h" FIXME #include "ui/dialog/tile.h" // for Inkscape::UI::Dialog::ArrangeDialog -/* - * Sort items by their x co-ordinates, taking account of y (keeps rows intact) - * - * <0 *elem1 goes before *elem2 - * 0 *elem1 == *elem2 - * >0 *elem1 goes after *elem2 - */ -static bool sp_compare_x_position(SPItem *first, SPItem *second) -{ - using Geom::X; - using Geom::Y; + /* + * Sort items by their x co-ordinates, taking account of y (keeps rows intact) + * + * <0 *elem1 goes before *elem2 + * 0 *elem1 == *elem2 + * >0 *elem1 goes after *elem2 + */ + static bool sp_compare_x_position(SPItem *first, SPItem *second) + { + using Geom::X; + using Geom::Y; - Geom::OptRect a = first->documentVisualBounds(); - Geom::OptRect b = second->documentVisualBounds(); + Geom::OptRect a = first->documentVisualBounds(); + Geom::OptRect b = second->documentVisualBounds(); - if ( !a || !b ) { - // FIXME? - return false; - } + if ( !a || !b ) { + // FIXME? + return false; + } - double const a_height = a->dimensions()[Y]; - double const b_height = b->dimensions()[Y]; + double const a_height = a->dimensions()[Y]; + double const b_height = b->dimensions()[Y]; - bool a_in_b_vert = false; - if ((a->min()[Y] < b->min()[Y] + 0.1) && (a->min()[Y] > b->min()[Y] - b_height)) { - a_in_b_vert = true; - } else if ((b->min()[Y] < a->min()[Y] + 0.1) && (b->min()[Y] > a->min()[Y] - a_height)) { - a_in_b_vert = true; - } else if (b->min()[Y] == a->min()[Y]) { - a_in_b_vert = true; - } else { - a_in_b_vert = false; - } + bool a_in_b_vert = false; + if ((a->min()[Y] < b->min()[Y] + 0.1) && (a->min()[Y] > b->min()[Y] - b_height)) { + a_in_b_vert = true; + } else if ((b->min()[Y] < a->min()[Y] + 0.1) && (b->min()[Y] > a->min()[Y] - a_height)) { + a_in_b_vert = true; + } else if (b->min()[Y] == a->min()[Y]) { + a_in_b_vert = true; + } else { + a_in_b_vert = false; + } - if (!a_in_b_vert) { // a and b are not in the same row - return (a->min()[Y] < b->min()[Y]); + if (!a_in_b_vert) { // a and b are not in the same row + return (a->min()[Y] < b->min()[Y]); + } + return (a->min()[X] < b->min()[X]); } - return (a->min()[X] < b->min()[X]); -} -/* - * Sort items by their y co-ordinates. - */ -static bool sp_compare_y_position(SPItem *first, SPItem *second) -{ - Geom::OptRect a = first->documentVisualBounds(); - Geom::OptRect b = second->documentVisualBounds(); + /* + * Sort items by their y co-ordinates. + */ + static bool sp_compare_y_position(SPItem *first, SPItem *second) + { + Geom::OptRect a = first->documentVisualBounds(); + Geom::OptRect b = second->documentVisualBounds(); - if ( !a || !b ) { - // FIXME? - return false; - } + if ( !a || !b ) { + // FIXME? + return false; + } + + if (a->min()[Geom::Y] > b->min()[Geom::Y]) { + return false; + } + if (a->min()[Geom::Y] < b->min()[Geom::Y]) { + return true; + } - if (a->min()[Geom::Y] > b->min()[Geom::Y]) { return false; } - if (a->min()[Geom::Y] < b->min()[Geom::Y]) { - return true; - } - - return false; -} -namespace Inkscape { -namespace UI { -namespace Dialog { + namespace Inkscape { + namespace UI { + namespace Dialog { -//######################################################################### -//## E V E N T S -//######################################################################### - -/* - * - * This arranges the selection in a grid pattern. - * - */ + //######################################################################### + //## E V E N T S + //######################################################################### -void GridArrangeTab::arrange() -{ + /* + * + * This arranges the selection in a grid pattern. + * + */ - int cnt,row_cnt,col_cnt,a,row,col; - double grid_left,grid_top,col_width,row_height,paddingx,paddingy,width, height, new_x, new_y; - double total_col_width,total_row_height; - col_width = 0; - row_height = 0; - total_col_width=0; - total_row_height=0; + void GridArrangeTab::arrange() + { - // check for correct numbers in the row- and col-spinners - on_col_spinbutton_changed(); - on_row_spinbutton_changed(); + int cnt,row_cnt,col_cnt,a,row,col; + double grid_left,grid_top,col_width,row_height,paddingx,paddingy,width, height, new_x, new_y; + double total_col_width,total_row_height; + col_width = 0; + row_height = 0; + total_col_width=0; + total_row_height=0; - // set padding to manual values - paddingx = XPadding.getValue("px"); - paddingy = YPadding.getValue("px"); + // check for correct numbers in the row- and col-spinners + on_col_spinbutton_changed(); + on_row_spinbutton_changed(); - std::vector<double> row_heights; - std::vector<double> col_widths; - std::vector<double> row_ys; - std::vector<double> col_xs; + // set padding to manual values + paddingx = XPadding.getValue("px"); + paddingy = YPadding.getValue("px"); - int NoOfCols = NoOfColsSpinner.get_value_as_int(); - int NoOfRows = NoOfRowsSpinner.get_value_as_int(); + std::vector<double> row_heights; + std::vector<double> col_widths; + std::vector<double> row_ys; + std::vector<double> col_xs; - width = 0; - for (a=0;a<NoOfCols; a++){ - col_widths.push_back(width); - } + int NoOfCols = NoOfColsSpinner.get_value_as_int(); + int NoOfRows = NoOfRowsSpinner.get_value_as_int(); - height = 0; - for (a=0;a<NoOfRows; a++){ - row_heights.push_back(height); - } - grid_left = 99999; - grid_top = 99999; + width = 0; + for (a=0;a<NoOfCols; a++){ + col_widths.push_back(width); + } - SPDesktop *desktop = Parent->getDesktop(); - desktop->getDocument()->ensureUpToDate(); + height = 0; + for (a=0;a<NoOfRows; a++){ + row_heights.push_back(height); + } + grid_left = 99999; + grid_top = 99999; - Inkscape::Selection *selection = desktop->getSelection(); - std::vector<SPItem*> items; - if (selection) { - items.insert(items.end(), selection->items().begin(), selection->items().end()); - } + SPDesktop *desktop = Parent->getDesktop(); + desktop->getDocument()->ensureUpToDate(); - for(std::vector<SPItem*>::const_iterator i = items.begin();i!=items.end(); ++i){ - SPItem *item = *i; - Geom::OptRect b = item->documentVisualBounds(); - if (!b) { - continue; + Inkscape::Selection *selection = desktop->getSelection(); + std::vector<SPItem*> items; + if (selection) { + items.insert(items.end(), selection->items().begin(), selection->items().end()); } - width = b->dimensions()[Geom::X]; - height = b->dimensions()[Geom::Y]; + for(std::vector<SPItem*>::const_iterator i = items.begin();i!=items.end(); ++i){ + SPItem *item = *i; + Geom::OptRect b = item->documentVisualBounds(); + if (!b) { + continue; + } + + width = b->dimensions()[Geom::X]; + height = b->dimensions()[Geom::Y]; - if (b->min()[Geom::X] < grid_left) { - grid_left = b->min()[Geom::X]; - } - if (b->min()[Geom::Y] < grid_top) { - grid_top = b->min()[Geom::Y]; - } - if (width > col_width) { - col_width = width; - } - if (height > row_height) { - row_height = height; + if (b->min()[Geom::X] < grid_left) { + grid_left = b->min()[Geom::X]; + } + if (b->min()[Geom::Y] < grid_top) { + grid_top = b->min()[Geom::Y]; + } + if (width > col_width) { + col_width = width; + } + if (height > row_height) { + row_height = height; + } } - } - // require the sorting done before we can calculate row heights etc. + // require the sorting done before we can calculate row heights etc. - g_return_if_fail(selection); - std::vector<SPItem*> sorted(selection->items().begin(), selection->items().end()); - sort(sorted.begin(),sorted.end(),sp_compare_y_position); - sort(sorted.begin(),sorted.end(),sp_compare_x_position); + g_return_if_fail(selection); + std::vector<SPItem*> sorted(selection->items().begin(), selection->items().end()); + sort(sorted.begin(),sorted.end(),sp_compare_y_position); + sort(sorted.begin(),sorted.end(),sp_compare_x_position); - // Calculate individual Row and Column sizes if necessary + // Calculate individual Row and Column sizes if necessary - cnt=0; - const std::vector<SPItem*> sizes(sorted); - for (std::vector<SPItem*>::const_iterator i = sizes.begin();i!=sizes.end(); ++i) { - SPItem *item = *i; - Geom::OptRect b = item->documentVisualBounds(); - if (b) { - width = b->dimensions()[Geom::X]; - height = b->dimensions()[Geom::Y]; - if (width > col_widths[(cnt % NoOfCols)]) { - col_widths[(cnt % NoOfCols)] = width; + cnt=0; + const std::vector<SPItem*> sizes(sorted); + for (std::vector<SPItem*>::const_iterator i = sizes.begin();i!=sizes.end(); ++i) { + SPItem *item = *i; + Geom::OptRect b = item->documentVisualBounds(); + if (b) { + width = b->dimensions()[Geom::X]; + height = b->dimensions()[Geom::Y]; + if (width > col_widths[(cnt % NoOfCols)]) { + col_widths[(cnt % NoOfCols)] = width; + } + if (height > row_heights[(cnt / NoOfCols)]) { + row_heights[(cnt / NoOfCols)] = height; + } } - if (height > row_heights[(cnt / NoOfCols)]) { - row_heights[(cnt / NoOfCols)] = height; - } - } - cnt++; - } + cnt++; + } - /// Make sure the top and left of the grid dont move by compensating for align values. + /// Make sure the top and left of the grid dont move by compensating for align values. if (RowHeightButton.get_active()){ grid_top = grid_top - (((row_height - row_heights[0]) / 2)*(VertAlign)); } diff --git a/src/ui/dialog/guides.cpp b/src/ui/dialog/guides.cpp index 8d6ca4143..9c8b14953 100644 --- a/src/ui/dialog/guides.cpp +++ b/src/ui/dialog/guides.cpp @@ -32,8 +32,6 @@ #include "message-context.h" #include "verbs.h" -#include <gtkmm/stock.h> - namespace Inkscape { namespace UI { namespace Dialogs { @@ -158,9 +156,9 @@ void GuidelinePropertiesDialog::_response(gint response) void GuidelinePropertiesDialog::_setup() { set_title(_("Guideline")); - add_button(Gtk::Stock::OK, Gtk::RESPONSE_OK); - add_button(Gtk::Stock::DELETE, -12); - add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); + add_button(_("_OK"), Gtk::RESPONSE_OK); + add_button(_("_Delete"), -12); + add_button(_("_Cancel"), Gtk::RESPONSE_CANCEL); auto mainVBox = get_content_area(); _layout_table.set_row_spacing(4); diff --git a/src/ui/dialog/icon-preview.cpp b/src/ui/dialog/icon-preview.cpp index a4fcc9947..19050fb1d 100644 --- a/src/ui/dialog/icon-preview.cpp +++ b/src/ui/dialog/icon-preview.cpp @@ -27,7 +27,6 @@ #include <gtkmm/alignment.h> #include <gtkmm/checkbutton.h> #include <gtkmm/frame.h> -#include <gtkmm/stock.h> #include "ui/widget/frame.h" #include "desktop.h" diff --git a/src/ui/dialog/knot-properties.cpp b/src/ui/dialog/knot-properties.cpp index 133ed6f4c..954fe2a66 100644 --- a/src/ui/dialog/knot-properties.cpp +++ b/src/ui/dialog/knot-properties.cpp @@ -14,11 +14,14 @@ */ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #endif + #include "ui/dialog/knot-properties.h" + #include <boost/lexical_cast.hpp> #include <glibmm/i18n.h> +#include <glibmm/main.h> #include "inkscape.h" #include "util/units.h" #include "desktop.h" @@ -35,7 +38,10 @@ namespace UI { namespace Dialogs { KnotPropertiesDialog::KnotPropertiesDialog() -: _desktop(NULL), _knotpoint(NULL), _position_visible(false) + : _desktop(NULL), + _knotpoint(NULL), + _position_visible(false), + _close_button(_("_Close"), true) { Gtk::Box *mainVBox = get_vbox(); @@ -68,8 +74,6 @@ KnotPropertiesDialog::KnotPropertiesDialog() mainVBox->pack_start(_layout_table, true, true, 4); // Buttons - _close_button.set_use_stock(true); - _close_button.set_label(Gtk::Stock::CANCEL.id); _close_button.set_can_default(); _apply_button.set_use_underline(true); diff --git a/src/ui/dialog/knot-properties.h b/src/ui/dialog/knot-properties.h index fd87df03d..f6157168f 100644 --- a/src/ui/dialog/knot-properties.h +++ b/src/ui/dialog/knot-properties.h @@ -12,11 +12,10 @@ #ifndef INKSCAPE_DIALOG_KNOT_PROPERTIES_H #define INKSCAPE_DIALOG_KNOT_PROPERTIES_H -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <gtkmm.h> +#include <gtkmm/dialog.h> +#include <gtkmm/label.h> +#include <gtkmm/spinbutton.h> +#include <gtkmm/table.h> #include <2geom/point.h> #include "knot.h" #include "ui/tools/measure-tool.h" @@ -40,7 +39,7 @@ class KnotPropertiesDialog : public Gtk::Dialog { protected: SPDesktop *_desktop; - SPKnot *_knotpoint; + SPKnot *_knotpoint; Gtk::Label _knot_x_label; Gtk::SpinButton _knot_x_entry; diff --git a/src/ui/dialog/layer-properties.cpp b/src/ui/dialog/layer-properties.cpp index f28f8336a..c8c42ef90 100644 --- a/src/ui/dialog/layer-properties.cpp +++ b/src/ui/dialog/layer-properties.cpp @@ -14,7 +14,6 @@ */ #include "layer-properties.h" -#include <gtkmm/stock.h> #include <glibmm/i18n.h> #include <glibmm/main.h> @@ -36,7 +35,11 @@ namespace UI { namespace Dialogs { LayerPropertiesDialog::LayerPropertiesDialog() -: _strategy(NULL), _desktop(NULL), _layer(NULL), _position_visible(false) + : _strategy(NULL), + _desktop(NULL), + _layer(NULL), + _position_visible(false), + _close_button(_("_Cancel"), true) { auto mainVBox = get_content_area(); _layout_table.set_row_spacing(4); @@ -59,8 +62,6 @@ LayerPropertiesDialog::LayerPropertiesDialog() mainVBox->pack_start(_layout_table, true, true, 4); // Buttons - _close_button.set_use_stock(true); - _close_button.set_label(Gtk::Stock::CANCEL.id); _close_button.set_can_default(); _apply_button.set_use_underline(true); diff --git a/src/ui/dialog/livepatheffect-add.cpp b/src/ui/dialog/livepatheffect-add.cpp index 917e48ac6..cada915c9 100644 --- a/src/ui/dialog/livepatheffect-add.cpp +++ b/src/ui/dialog/livepatheffect-add.cpp @@ -14,7 +14,6 @@ #include "livepatheffect-add.h" #include <glibmm/i18n.h> -#include <gtkmm/stock.h> #include "desktop.h" @@ -23,8 +22,8 @@ namespace UI { namespace Dialog { LivePathEffectAdd::LivePathEffectAdd() : - add_button(Gtk::Stock::ADD), - close_button(Gtk::Stock::CANCEL), + add_button(_("_Add"), true), + close_button(_("_Cancel"), true), converter(Inkscape::LivePathEffect::LPETypeConverter), applied(false) { @@ -68,7 +67,6 @@ LivePathEffectAdd::LivePathEffectAdd() : /** * Buttons */ - close_button.set_use_stock(true); //close_button.set_can_default(); add_button.set_use_underline(true); add_button.set_can_default(); diff --git a/src/ui/dialog/livepatheffect-editor.cpp b/src/ui/dialog/livepatheffect-editor.cpp index 8910005aa..e5becdb5c 100644 --- a/src/ui/dialog/livepatheffect-editor.cpp +++ b/src/ui/dialog/livepatheffect-editor.cpp @@ -17,7 +17,6 @@ #endif #include "livepatheffect-editor.h" -#include <gtkmm/stock.h> #include "desktop.h" diff --git a/src/ui/dialog/lpe-fillet-chamfer-properties.cpp b/src/ui/dialog/lpe-fillet-chamfer-properties.cpp index d33ee758d..d6ecae5a9 100644 --- a/src/ui/dialog/lpe-fillet-chamfer-properties.cpp +++ b/src/ui/dialog/lpe-fillet-chamfer-properties.cpp @@ -27,7 +27,10 @@ namespace UI { namespace Dialogs { FilletChamferPropertiesDialog::FilletChamferPropertiesDialog() - : _desktop(NULL), _knotpoint(NULL), _position_visible(false) + : _desktop(NULL), + _knotpoint(NULL), + _position_visible(false), + _close_button(_("_Cancel"), true) { Gtk::Box *mainVBox = get_vbox(); mainVBox->set_homogeneous(false); @@ -76,8 +79,6 @@ FilletChamferPropertiesDialog::FilletChamferPropertiesDialog() mainVBox->pack_start(_fillet_chamfer_type_inverse_chamfer, true, true, 4); // Buttons - _close_button.set_use_stock(true); - _close_button.set_label(Gtk::Stock::CANCEL.id); _close_button.set_can_default(); _apply_button.set_use_underline(true); @@ -264,6 +265,4 @@ void FilletChamferPropertiesDialog::_set_desktop(SPDesktop *desktop) fill-column:99 End: */ -// vim: -// filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 -// : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 diff --git a/src/ui/dialog/lpe-powerstroke-properties.cpp b/src/ui/dialog/lpe-powerstroke-properties.cpp index d5b3bb30d..ca10721db 100644 --- a/src/ui/dialog/lpe-powerstroke-properties.cpp +++ b/src/ui/dialog/lpe-powerstroke-properties.cpp @@ -33,7 +33,10 @@ namespace UI { namespace Dialogs { PowerstrokePropertiesDialog::PowerstrokePropertiesDialog() -: _desktop(NULL), _knotpoint(NULL), _position_visible(false) + : _desktop(NULL), + _knotpoint(NULL), + _position_visible(false), + _close_button(_("_Cancel"), true) { Gtk::Box *mainVBox = get_vbox(); @@ -66,8 +69,6 @@ PowerstrokePropertiesDialog::PowerstrokePropertiesDialog() mainVBox->pack_start(_layout_table, true, true, 4); // Buttons - _close_button.set_use_stock(true); - _close_button.set_label(Gtk::Stock::CANCEL.id); _close_button.set_can_default(); _apply_button.set_use_underline(true); diff --git a/src/ui/dialog/objects.cpp b/src/ui/dialog/objects.cpp index 446af4ccb..c7c696cdc 100644 --- a/src/ui/dialog/objects.cpp +++ b/src/ui/dialog/objects.cpp @@ -15,7 +15,6 @@ #include "objects.h" #include <gtkmm/icontheme.h> -#include <gtkmm/stock.h> #include <gtkmm/imagemenuitem.h> #include <gtkmm/separatormenuitem.h> #include <glibmm/main.h> diff --git a/src/ui/dialog/ocaldialogs.cpp b/src/ui/dialog/ocaldialogs.cpp index 878b68d55..72a2814ed 100644 --- a/src/ui/dialog/ocaldialogs.cpp +++ b/src/ui/dialog/ocaldialogs.cpp @@ -27,7 +27,6 @@ #include <gtkmm/notebook.h> #include <gtkmm/spinner.h> -#include <gtkmm/stock.h> #include <gdkmm/general.h> #include <libxml/tree.h> @@ -463,7 +462,8 @@ bool PreviewWidget::_on_draw(const Cairo::RefPtr<Cairo::Context>& cr) StatusWidget::StatusWidget() : Gtk::HBox(false, 6) { - image = new Gtk::Image(Gtk::Stock::DIALOG_ERROR, Gtk::ICON_SIZE_MENU); + image = new Gtk::Image(); + image->set_from_icon_name("dialog-error", Gtk::ICON_SIZE_MENU); spinner = new Gtk::Spinner(); label = new Gtk::Label(); @@ -488,7 +488,7 @@ void StatusWidget::set_info(Glib::ustring text) spinner->hide(); image->show(); label->show(); - image->set(Gtk::Stock::DIALOG_INFO, Gtk::ICON_SIZE_MENU); + image->set_from_icon_name("dialog-information", Gtk::ICON_SIZE_MENU); label->set_text(text); } @@ -497,7 +497,7 @@ void StatusWidget::set_error(Glib::ustring text) spinner->hide(); image->show(); label->show(); - image->set(Gtk::Stock::DIALOG_ERROR, Gtk::ICON_SIZE_MENU); + image->set_from_icon_name("dialog-error", Gtk::ICON_SIZE_MENU); label->set_text(text); } @@ -1086,7 +1086,7 @@ ImportDialog::ImportDialog(Gtk::Window& parent_window, FileDialogType file_types Gtk::ScrolledWindow* scrolledwindow_preview = new Gtk::ScrolledWindow(); preview_files = new PreviewWidget(); /// Add the buttons in the bottom of the dialog - button_cancel = new Gtk::Button(Gtk::Stock::CANCEL); + button_cancel = new Gtk::Button(_("_Cancel"), true); button_close = new Gtk::Button(_("Close")); button_import = new Gtk::Button(_("Import")); list_results = new SearchResultList(RESULTS_COLUMN_LENGTH); diff --git a/src/ui/dialog/panel-dialog.h b/src/ui/dialog/panel-dialog.h index 39110f47a..5919fcaeb 100644 --- a/src/ui/dialog/panel-dialog.h +++ b/src/ui/dialog/panel-dialog.h @@ -15,8 +15,8 @@ # include <config.h> #endif +#include <glibmm/i18n.h> #include <gtkmm/dialog.h> -#include <gtkmm/stock.h> #include "verbs.h" #include "dialog.h" @@ -165,7 +165,7 @@ PanelDialog<B>::PanelDialog(Widget::Panel &panel, char const *prefs_path, int co panel.addResponseButton(apply_label, Gtk::RESPONSE_APPLY); panel.setDefaultResponse(Gtk::RESPONSE_APPLY); } - panel.addResponseButton(Gtk::Stock::CLOSE, Gtk::RESPONSE_CLOSE); + panel.addResponseButton(_("_Close"), Gtk::RESPONSE_CLOSE); } show_all_children(); @@ -214,7 +214,7 @@ PanelDialog<Behavior::FloatingBehavior>::PanelDialog(UI::Widget::Panel &panel, c panel.addResponseButton(apply_label, Gtk::RESPONSE_APPLY); panel.setDefaultResponse(Gtk::RESPONSE_APPLY); } - panel.addResponseButton(Gtk::Stock::CLOSE, Gtk::RESPONSE_CLOSE); + panel.addResponseButton(_("_Close"), Gtk::RESPONSE_CLOSE); } show_all_children(); diff --git a/src/ui/dialog/pixelartdialog.cpp b/src/ui/dialog/pixelartdialog.cpp index b838b0842..3e6617cfe 100644 --- a/src/ui/dialog/pixelartdialog.cpp +++ b/src/ui/dialog/pixelartdialog.cpp @@ -28,7 +28,6 @@ #include "pixelartdialog.h" #include <gtkmm/radiobutton.h> -#include <gtkmm/stock.h> #include <gtkmm/messagedialog.h> #include <glibmm/i18n.h> @@ -291,12 +290,12 @@ PixelArtDialogImpl::PixelArtDialogImpl() : mainResetButton ->set_tooltip_text(_("Reset all settings to defaults")); //## The OK button - mainCancelButton = addResponseButton(Gtk::Stock::STOP, GTK_RESPONSE_CANCEL); + mainCancelButton = addResponseButton(_("_Stop"), GTK_RESPONSE_CANCEL); if (mainCancelButton) { mainCancelButton->set_tooltip_text(_("Abort a trace in progress")); mainCancelButton->set_sensitive(false); } - mainOkButton = addResponseButton(Gtk::Stock::OK, GTK_RESPONSE_OK); + mainOkButton = addResponseButton(_("_OK"), GTK_RESPONSE_OK); mainOkButton->set_tooltip_text(_("Execute the trace")); contents->pack_start(buttonsHBox); diff --git a/src/ui/dialog/svg-fonts-dialog.cpp b/src/ui/dialog/svg-fonts-dialog.cpp index e55a32bd5..791677807 100644 --- a/src/ui/dialog/svg-fonts-dialog.cpp +++ b/src/ui/dialog/svg-fonts-dialog.cpp @@ -20,7 +20,6 @@ #include "document-undo.h" #include <gtkmm/notebook.h> #include <gtkmm/scale.h> -#include <gtkmm/stock.h> #include <gtkmm/imagemenuitem.h> #include <message-stack.h> #include "selection.h" @@ -299,7 +298,7 @@ void SvgFontsDialog::fonts_list_button_release(GdkEventButton* event) void SvgFontsDialog::create_glyphs_popup_menu(Gtk::Widget& parent, sigc::slot<void> rem) { - Gtk::MenuItem* mi = Gtk::manage(new Gtk::ImageMenuItem(Gtk::Stock::REMOVE)); + auto mi = Gtk::manage(new Gtk::MenuItem(_("_Remove"), true)); _GlyphsContextMenu.append(*mi); mi->signal_activate().connect(rem); mi->show(); @@ -308,7 +307,7 @@ void SvgFontsDialog::create_glyphs_popup_menu(Gtk::Widget& parent, sigc::slot<vo void SvgFontsDialog::create_kerning_pairs_popup_menu(Gtk::Widget& parent, sigc::slot<void> rem) { - Gtk::MenuItem* mi = Gtk::manage(new Gtk::ImageMenuItem(Gtk::Stock::REMOVE)); + auto mi = Gtk::manage(new Gtk::MenuItem(_("_Remove"), true)); _KerningPairsContextMenu.append(*mi); mi->signal_activate().connect(rem); mi->show(); @@ -317,7 +316,7 @@ void SvgFontsDialog::create_kerning_pairs_popup_menu(Gtk::Widget& parent, sigc:: void SvgFontsDialog::create_fonts_popup_menu(Gtk::Widget& parent, sigc::slot<void> rem) { - Gtk::MenuItem* mi = Gtk::manage(new Gtk::ImageMenuItem(Gtk::Stock::REMOVE)); + auto mi = Gtk::manage(new Gtk::MenuItem(_("_Remove"), true)); _FontsContextMenu.append(*mi); mi->signal_activate().connect(rem); mi->show(); @@ -986,7 +985,8 @@ void SvgFontsDialog::add_font(){ } SvgFontsDialog::SvgFontsDialog() - : UI::Widget::Panel("", "/dialogs/svgfonts", SP_VERB_DIALOG_SVG_FONTS), _add(Gtk::Stock::NEW) + : UI::Widget::Panel("", "/dialogs/svgfonts", SP_VERB_DIALOG_SVG_FONTS), + _add(_("_New"), true) { kerning_slider = Gtk::manage(new Gtk::Scale(Gtk::ORIENTATION_HORIZONTAL)); _add.signal_clicked().connect(sigc::mem_fun(*this, &SvgFontsDialog::add_font)); diff --git a/src/ui/dialog/text-edit.cpp b/src/ui/dialog/text-edit.cpp index a38085c85..94f307828 100644 --- a/src/ui/dialog/text-edit.cpp +++ b/src/ui/dialog/text-edit.cpp @@ -29,7 +29,6 @@ extern "C" { } #endif -#include <gtkmm/stock.h> #include <libnrtype/font-lister.h> #include "helper/window.h" @@ -64,8 +63,8 @@ TextEdit::TextEdit() text_label(_("_Text"), true), vari_label(_("_Variants"), true), setasdefault_button(_("Set as _default")), - close_button(Gtk::Stock::CLOSE), - apply_button(Gtk::Stock::APPLY), + close_button(_("_Close"), true), + apply_button(_("_Apply"), true), desktop(NULL), deskTrack(), selectChangedConn(), diff --git a/src/ui/dialog/text-edit.h b/src/ui/dialog/text-edit.h index e974874d2..1fc0099fb 100644 --- a/src/ui/dialog/text-edit.h +++ b/src/ui/dialog/text-edit.h @@ -22,6 +22,7 @@ # include <config.h> #endif +#include <gtkmm/alignment.h> #include <gtkmm/box.h> #include <gtkmm/notebook.h> #include <gtkmm/button.h> diff --git a/src/ui/dialog/tracedialog.cpp b/src/ui/dialog/tracedialog.cpp index 1c0cb5708..a1d4d88b8 100644 --- a/src/ui/dialog/tracedialog.cpp +++ b/src/ui/dialog/tracedialog.cpp @@ -21,7 +21,6 @@ #include <gtkmm/radiobutton.h> #include "ui/widget/spinbutton.h" #include "ui/widget/frame.h" -#include <gtkmm/stock.h> #include <glibmm/i18n.h> @@ -813,12 +812,12 @@ TraceDialogImpl::TraceDialogImpl() : mainResetButton ->set_tooltip_text(_("Reset all settings to defaults")); //## The OK button - mainCancelButton = addResponseButton(Gtk::Stock::STOP, GTK_RESPONSE_CANCEL); + mainCancelButton = addResponseButton(_("_Stop"), GTK_RESPONSE_CANCEL); if (mainCancelButton) { mainCancelButton->set_tooltip_text(_("Abort a trace in progress")); mainCancelButton->set_sensitive(false); } - mainOkButton = addResponseButton(Gtk::Stock::OK, GTK_RESPONSE_OK); + mainOkButton = addResponseButton(_("_OK"), GTK_RESPONSE_OK); mainOkButton->set_tooltip_text(_("Execute the trace")); show_all_children(); diff --git a/src/ui/dialog/transformation.cpp b/src/ui/dialog/transformation.cpp index 5ec47b0dc..d209a450c 100644 --- a/src/ui/dialog/transformation.cpp +++ b/src/ui/dialog/transformation.cpp @@ -16,7 +16,6 @@ #endif #include <gtkmm/dialog.h> -#include <gtkmm/stock.h> #include <2geom/transforms.h> #include "document.h" @@ -134,14 +133,14 @@ Transformation::Transformation() updateSelection(PAGE_MOVE, _getSelection()); - resetButton = addResponseButton(Gtk::Stock::CLEAR, 0); + resetButton = addResponseButton(_("_Clear"), 0); if (resetButton) { resetButton->set_tooltip_text(_("Reset the values on the current tab to defaults")); resetButton->set_sensitive(true); resetButton->signal_clicked().connect(sigc::mem_fun(*this, &Transformation::onClear)); } - applyButton = addResponseButton(Gtk::Stock::APPLY, Gtk::RESPONSE_APPLY); + applyButton = addResponseButton(_("_Apply"), Gtk::RESPONSE_APPLY); if (applyButton) { applyButton->set_tooltip_text(_("Apply transformation to selection")); applyButton->set_sensitive(false); diff --git a/src/ui/dialog/undo-history.cpp b/src/ui/dialog/undo-history.cpp index 53aa7e6ff..bf5bdc76d 100644 --- a/src/ui/dialog/undo-history.cpp +++ b/src/ui/dialog/undo-history.cpp @@ -24,7 +24,7 @@ #include "util/signal-blocker.h" #include "desktop.h" -#include <gtkmm/invisible.h> +#include <gtkmm/icontheme.h> namespace Inkscape { namespace UI { @@ -43,8 +43,8 @@ void CellRendererSPIcon::render_vfunc(const Cairo::RefPtr<Cairo::Context>& cr, // if the icon isn't cached, render it to a pixbuf if ( !_icon_cache[_property_event_type] ) { - Glib::ustring image = Inkscape::Verb::get(_property_event_type)->get_image(); - Gtk::Widget* icon = sp_icon_get_icon(image, Inkscape::ICON_SIZE_MENU); + Glib::ustring image_name = Inkscape::Verb::get(_property_event_type)->get_image(); + Gtk::Widget* icon = sp_icon_get_icon(image_name, Inkscape::ICON_SIZE_MENU); if (icon) { @@ -54,8 +54,8 @@ void CellRendererSPIcon::render_vfunc(const Cairo::RefPtr<Cairo::Context>& cr, sp_icon_fetch_pixbuf(sp_icon); _property_icon = Glib::wrap(sp_icon->pb, true); } else if ( GTK_IS_IMAGE(icon->gobj()) ) { - _property_icon = Gtk::Invisible().render_icon_pixbuf(Gtk::StockID(image), - Gtk::ICON_SIZE_MENU); + auto icon_theme = Gtk::IconTheme::get_default(); + _property_icon = icon_theme->load_icon(image_name, 16); } else { delete icon; return; diff --git a/src/ui/dialog/xml-tree.cpp b/src/ui/dialog/xml-tree.cpp index d05c52531..fa35b092a 100644 --- a/src/ui/dialog/xml-tree.cpp +++ b/src/ui/dialog/xml-tree.cpp @@ -19,7 +19,6 @@ #include "xml-tree.h" #include "widgets/icon.h" #include <glibmm/i18n.h> -#include <gtkmm/stock.h> #include "desktop.h" diff --git a/src/ui/interface.cpp b/src/ui/interface.cpp index e0c767509..d50c56b76 100644 --- a/src/ui/interface.cpp +++ b/src/ui/interface.cpp @@ -73,8 +73,6 @@ #include "message-stack.h" #include "ui/dialog/layer-properties.h" -#include "widgets/image-menu-item.h" - using Inkscape::DocumentUndo; /* Drag and Drop */ @@ -405,7 +403,7 @@ sp_ui_menuitem_add_icon( GtkWidget *item, gchar *icon_name ) icon = sp_icon_new( Inkscape::ICON_SIZE_MENU, icon_name ); gtk_widget_show(icon); - image_menu_item_set_image((ImageMenuItem *) item, icon); + gtk_image_menu_item_set_image((GtkImageMenuItem *) item, icon); } // end of sp_ui_menu_add_icon void @@ -459,7 +457,7 @@ static GtkWidget *sp_ui_menu_append_item_from_verb(GtkMenu *menu, Inkscape::Verb if (radio) { item = gtk_radio_menu_item_new_with_mnemonic(group, action->name); } else { - item = image_menu_item_new_with_mnemonic(action->name); + item = gtk_image_menu_item_new_with_mnemonic(action->name); } gtk_label_set_markup_with_mnemonic( GTK_LABEL(gtk_bin_get_child(GTK_BIN (item))), action->name); diff --git a/src/ui/widget/dock-item.cpp b/src/ui/widget/dock-item.cpp index 2860df12e..d124854ae 100644 --- a/src/ui/widget/dock-item.cpp +++ b/src/ui/widget/dock-item.cpp @@ -15,7 +15,6 @@ #include "widgets/icon.h" #include <gtkmm/icontheme.h> -#include <gtkmm/stockitem.h> #include <glibmm/exceptionhandler.h> namespace Inkscape { @@ -47,18 +46,11 @@ DockItem::DockItem(Dock& dock, const Glib::ustring& name, const Glib::ustring& l if (!iconTheme->has_icon(icon_name)) { Inkscape::queueIconPrerender( INKSCAPE_ICON(icon_name.data()), Inkscape::ICON_SIZE_MENU ); } - // Icon might be in the icon theme, or might be a stock item. Check the proper source: if ( iconTheme->has_icon(icon_name) ) { int width = 0; int height = 0; Gtk::IconSize::lookup(Gtk::ICON_SIZE_MENU, width, height); _icon_pixbuf = iconTheme->load_icon(icon_name, width); - } else { - Gtk::StockItem item; - Gtk::StockID stockId(icon_name); - if ( Gtk::StockItem::lookup(stockId, item) ) { - _icon_pixbuf = _dock.getWidget().render_icon_pixbuf( stockId, Gtk::ICON_SIZE_MENU ); - } } } diff --git a/src/ui/widget/font-button.cpp b/src/ui/widget/font-button.cpp index a472ac6a4..ed57c803a 100644 --- a/src/ui/widget/font-button.cpp +++ b/src/ui/widget/font-button.cpp @@ -8,8 +8,11 @@ #endif #include "font-button.h" + #include <glibmm/i18n.h> +#include <gtkmm/fontbutton.h> + namespace Inkscape { namespace UI { namespace Widget { diff --git a/src/ui/widget/font-button.h b/src/ui/widget/font-button.h index 1f1ad2d01..98c3db440 100644 --- a/src/ui/widget/font-button.h +++ b/src/ui/widget/font-button.h @@ -8,7 +8,6 @@ #ifndef INKSCAPE_UI_WIDGET_FONT_BUTTON_H #define INKSCAPE_UI_WIDGET_FONT_BUTTON_H -#include <gtkmm.h> #include "labelled.h" namespace Inkscape { diff --git a/src/ui/widget/frame.cpp b/src/ui/widget/frame.cpp index 65d10dcc4..6593d9c7c 100644 --- a/src/ui/widget/frame.cpp +++ b/src/ui/widget/frame.cpp @@ -21,26 +21,20 @@ namespace UI { namespace Widget { Frame::Frame(Glib::ustring const &label_text /*= ""*/, gboolean label_bold /*= TRUE*/ ) - : _label(label_text, 1.0, 0.5, TRUE), - _alignment() + : _label(label_text, 1.0, 0.5, TRUE) { set_shadow_type(Gtk::SHADOW_NONE); - //Put an indented GtkAlignment inside the frame. - //Further children should be children of this GtkAlignment: - Gtk::Frame::add(_alignment); - set_padding(4, 0, 8, 0); - set_label_widget(_label); set_label(label_text, label_bold); - - show_all_children(); } void Frame::add(Widget& widget) { - _alignment.add(widget); + Gtk::Frame::add(widget); + set_padding(4, 0, 8, 0); + show_all_children(); } void @@ -56,7 +50,21 @@ Frame::set_label(const Glib::ustring &label_text, gboolean label_bold /*= TRUE*/ void Frame::set_padding (guint padding_top, guint padding_bottom, guint padding_left, guint padding_right) { - _alignment.set_padding(padding_top, padding_bottom, padding_left, padding_right); + auto child = get_child(); + + if(child) + { + child->set_margin_top(padding_top); + child->set_margin_bottom(padding_bottom); + +#if GTK_CHECK_VERSION(3,12,0) + child->set_margin_start(padding_left); + child->set_margin_end(padding_right); +#else + child->set_margin_left(padding_left); + child->set_margin_right(padding_right); +#endif + } } Gtk::Label const * diff --git a/src/ui/widget/frame.h b/src/ui/widget/frame.h index a04666651..24dd716e6 100644 --- a/src/ui/widget/frame.h +++ b/src/ui/widget/frame.h @@ -10,7 +10,6 @@ #ifndef INKSCAPE_UI_WIDGET_FRAME_H #define INKSCAPE_UI_WIDGET_FRAME_H -#include <gtkmm/alignment.h> #include <gtkmm/frame.h> #include <gtkmm/label.h> @@ -55,8 +54,6 @@ public: protected: Gtk::Label _label; - Gtk::Alignment _alignment; - }; } // namespace Widget diff --git a/src/ui/widget/panel.cpp b/src/ui/widget/panel.cpp index 6e6e6c527..dff92594b 100644 --- a/src/ui/widget/panel.cpp +++ b/src/ui/widget/panel.cpp @@ -17,7 +17,6 @@ #include <gtkmm/dialog.h> // for Gtk::RESPONSE_* #include <gtkmm/menu.h> -#include <gtkmm/stock.h> #include <gtkmm/checkmenuitem.h> #include <gtkmm/radiomenuitem.h> #include <gtkmm/separatormenuitem.h> @@ -66,7 +65,7 @@ Panel::Panel(Glib::ustring const &label, gchar const *prefs_path, _label(label), _apply_label(apply_label), _verb_num(verb_num), - _temp_arrow(Gtk::ARROW_LEFT, Gtk::SHADOW_ETCHED_OUT), + _temp_arrow(), _menu(0), _action_area(0), _fillable(0) @@ -269,11 +268,9 @@ void Panel::_init() _top_bar.pack_end(_menu_popper, false, false); gint width = 0; gint height = 0; - - if ( gtk_icon_size_lookup( Inkscape::getRegisteredIconSize(Inkscape::ICON_SIZE_DECORATION), &width, &height ) ) { - _temp_arrow.set_size_request(width, height); - } - + gtk_image_set_from_icon_name(_temp_arrow.gobj(), + "pan-start-symbolic", + Inkscape::getRegisteredIconSize(Inkscape::ICON_SIZE_SMALL_TOOLBAR)); _menu_popper.add(_temp_arrow); _menu_popper.signal_button_press_event().connect_notify(sigc::mem_fun(*this, &Panel::_popper)); } @@ -578,14 +575,7 @@ void Panel::_apply() Gtk::Button *Panel::addResponseButton(const Glib::ustring &button_text, int response_id, bool pack_start) { - Gtk::Button *button = new Gtk::Button(button_text); - _addResponseButton(button, response_id, pack_start); - return button; -} - -Gtk::Button *Panel::addResponseButton(const Gtk::StockID &stock_id, int response_id, bool pack_start) -{ - Gtk::Button *button = new Gtk::Button(stock_id); + Gtk::Button *button = new Gtk::Button(button_text, true); _addResponseButton(button, response_id, pack_start); return button; } diff --git a/src/ui/widget/panel.h b/src/ui/widget/panel.h index 370779586..9cbf39de9 100644 --- a/src/ui/widget/panel.h +++ b/src/ui/widget/panel.h @@ -18,9 +18,9 @@ #endif #include <gtkmm/box.h> -#include <gtkmm/arrow.h> #include <gtkmm/button.h> #include <gtkmm/eventbox.h> +#include <gtkmm/image.h> #include <gtkmm/label.h> #include "enums.h" #include <vector> @@ -101,7 +101,6 @@ public: /* Methods providing a Gtk::Dialog like interface for adding buttons that emit Gtk::RESPONSE * signals on click. */ Gtk::Button* addResponseButton (const Glib::ustring &button_text, int response_id, bool pack_start=false); - Gtk::Button* addResponseButton (const Gtk::StockID &stock_id, int response_id, bool pack_start=false); void setDefaultResponse(int response_id); void setResponseSensitive(int response_id, bool setting); @@ -157,7 +156,7 @@ private: Gtk::VBox _right_bar; Gtk::VBox _contents; Gtk::Label _tab_title; - Gtk::Arrow _temp_arrow; + Gtk::Image _temp_arrow; Gtk::EventBox _menu_popper; Gtk::Button _close_button; Gtk::Menu *_menu; diff --git a/src/ui/widget/preferences-widget.cpp b/src/ui/widget/preferences-widget.cpp index 1205cd012..b2cebcaa6 100644 --- a/src/ui/widget/preferences-widget.cpp +++ b/src/ui/widget/preferences-widget.cpp @@ -18,7 +18,6 @@ #include <gtkmm/frame.h> #include <gtkmm/alignment.h> #include <gtkmm/scale.h> -#include <gtkmm/stock.h> #include <gtkmm/table.h> #include "preferences.h" @@ -708,8 +707,9 @@ void PrefEntryFileButtonHBox::init(Glib::ustring const &prefs_path, relatedButton = new Gtk::Button(); Gtk::HBox* pixlabel = new Gtk::HBox(false, 3); - Gtk::Image *im = new Gtk::Image(Gtk::StockID(Gtk::Stock::INDEX), - Gtk::ICON_SIZE_BUTTON); + Gtk::Image *im = new Gtk::Image(); + im->set_from_icon_name("applications-graphics", + Gtk::ICON_SIZE_BUTTON); pixlabel->pack_start(*im); Gtk::Label *l = new Gtk::Label(); l->set_markup_with_mnemonic(_("_Browse...")); diff --git a/src/verbs.cpp b/src/verbs.cpp index 32aee4161..975a3679e 100644 --- a/src/verbs.cpp +++ b/src/verbs.cpp @@ -37,7 +37,6 @@ // If this is not done, then errors will be generate relating to Glib::Threads being undefined #include <gtkmm/filechooserdialog.h> #include <gtkmm/messagedialog.h> -#include <gtkmm/stock.h> #include "desktop.h" diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt index c87fa1500..1184291f2 100644 --- a/src/widgets/CMakeLists.txt +++ b/src/widgets/CMakeLists.txt @@ -22,7 +22,6 @@ set(widgets_SRC gradient-toolbar.cpp gradient-vector.cpp icon.cpp - image-menu-item.c ink-action.cpp ink-comboboxentry-action.cpp ink-radio-action.cpp @@ -80,7 +79,6 @@ set(widgets_SRC gradient-toolbar.h gradient-vector.h icon.h - image-menu-item.h ink-action.h ink-comboboxentry-action.h ink-radio-action.h diff --git a/src/widgets/gimp/ruler.cpp b/src/widgets/gimp/ruler.cpp index bfb9c9071..7e9547080 100644 --- a/src/widgets/gimp/ruler.cpp +++ b/src/widgets/gimp/ruler.cpp @@ -548,7 +548,7 @@ sp_ruler_size_allocate (GtkWidget *widget, resized = (widget_allocation.width != allocation->width || widget_allocation.height != allocation->height); - gtk_widget_set_allocation(widget, allocation); + GTK_WIDGET_CLASS (parent_class)->size_allocate (widget, allocation); if (gtk_widget_get_realized (widget)) { @@ -725,7 +725,17 @@ sp_ruler_draw_pos (SPRuler *ruler, cairo_fill (cr); } - priv->last_pos_rect = pos_rect; + if (priv->last_pos_rect.width != 0 && + priv->last_pos_rect.height != 0) + { + gdk_rectangle_union (&priv->last_pos_rect, + &pos_rect, + &priv->last_pos_rect); + } + else + { + priv->last_pos_rect = pos_rect; + } } /** @@ -999,6 +1009,12 @@ sp_ruler_set_position (SPRuler *ruler, (ABS (xdiff) > IMMEDIATE_REDRAW_THRESHOLD || ABS (ydiff) > IMMEDIATE_REDRAW_THRESHOLD)) { + if (priv->pos_redraw_idle_id) + { + g_source_remove (priv->pos_redraw_idle_id); + priv->pos_redraw_idle_id = 0; + } + sp_ruler_queue_pos_redraw (ruler); } else if (! priv->pos_redraw_idle_id) @@ -1351,15 +1367,16 @@ sp_ruler_queue_pos_redraw (SPRuler *ruler) gtk_widget_get_allocation (GTK_WIDGET(ruler), &allocation); - gtk_widget_queue_draw_area (GTK_WIDGET(ruler), + gtk_widget_queue_draw_area (GTK_WIDGET (ruler), rect.x + allocation.x, rect.y + allocation.y, rect.width, rect.height); - if (priv->last_pos_rect.width != 0 || priv->last_pos_rect.height != 0) + if (priv->last_pos_rect.width != 0 && + priv->last_pos_rect.height != 0) { - gtk_widget_queue_draw_area (GTK_WIDGET(ruler), + gtk_widget_queue_draw_area (GTK_WIDGET (ruler), priv->last_pos_rect.x + allocation.x, priv->last_pos_rect.y + allocation.y, priv->last_pos_rect.width, diff --git a/src/widgets/image-menu-item.c b/src/widgets/image-menu-item.c deleted file mode 100644 index 2b9500ba0..000000000 --- a/src/widgets/image-menu-item.c +++ /dev/null @@ -1,1071 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 2001 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see <http://www.gnu.org/licenses/>. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. - * Forked by . Icons in menus are important to us. - */ - -#include "config.h" - -#include <glib/gi18n-lib.h> -#include <gtk/gtk.h> - -#include "widgets/image-menu-item.h" - -/** - * SECTION:gtkimagemenuitem - * @Short_description: A menu item with an icon - * @Title: ImageMenuItem - * - * A ImageMenuItem is a menu item which has an icon next to the text label. - * - * Note that the user can disable display of menu icons, so make sure to still - * fill in the text label. - */ - - -struct _ImageMenuItemPrivate -{ - GtkWidget *image; - - gchar *label; - guint use_stock : 1; - guint toggle_size; -}; - -enum { - PROP_0, - PROP_IMAGE, - PROP_USE_STOCK, - PROP_ACCEL_GROUP, -}; - -static GtkActivatableIface *parent_activatable_iface; - -static void image_menu_item_destroy (GtkWidget *widget); -static void image_menu_item_get_preferred_width (GtkWidget *widget, - gint *minimum, - gint *natural); -static void image_menu_item_get_preferred_height (GtkWidget *widget, - gint *minimum, - gint *natural); -static void image_menu_item_get_preferred_height_for_width (GtkWidget *widget, - gint width, - gint *minimum, - gint *natural); -static void image_menu_item_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); -static void image_menu_item_map (GtkWidget *widget); -static void image_menu_item_remove (GtkContainer *container, - GtkWidget *child); -static void image_menu_item_toggle_size_request (GtkMenuItem *menu_item, - gint *requisition); -static void image_menu_item_set_label (GtkMenuItem *menu_item, - const gchar *label); -static const gchar * image_menu_item_get_label (GtkMenuItem *menu_item); - -static void image_menu_item_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data); - -static void image_menu_item_finalize (GObject *object); -static void image_menu_item_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); -static void image_menu_item_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); -static void image_menu_item_screen_changed (GtkWidget *widget, - GdkScreen *previous_screen); - -static void image_menu_item_recalculate (ImageMenuItem *image_menu_item); - -static void image_menu_item_activatable_interface_init (GtkActivatableIface *iface); -static void image_menu_item_update (GtkActivatable *activatable, - GtkAction *action, - const gchar *property_name); -static void image_menu_item_sync_action_properties (GtkActivatable *activatable, - GtkAction *action); - - -G_DEFINE_TYPE_WITH_CODE (ImageMenuItem, image_menu_item, GTK_TYPE_MENU_ITEM, - G_ADD_PRIVATE (ImageMenuItem) - G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE, - image_menu_item_activatable_interface_init)) - - -static void -image_menu_item_class_init (ImageMenuItemClass *klass) -{ - GObjectClass *gobject_class = (GObjectClass*) klass; - GtkWidgetClass *widget_class = (GtkWidgetClass*) klass; - GtkMenuItemClass *menu_item_class = (GtkMenuItemClass*) klass; - GtkContainerClass *container_class = (GtkContainerClass*) klass; - - widget_class->destroy = image_menu_item_destroy; - widget_class->screen_changed = image_menu_item_screen_changed; - widget_class->get_preferred_width = image_menu_item_get_preferred_width; - widget_class->get_preferred_height = image_menu_item_get_preferred_height; - widget_class->get_preferred_height_for_width = image_menu_item_get_preferred_height_for_width; - widget_class->size_allocate = image_menu_item_size_allocate; - widget_class->map = image_menu_item_map; - - container_class->forall = image_menu_item_forall; - container_class->remove = image_menu_item_remove; - - menu_item_class->toggle_size_request = image_menu_item_toggle_size_request; - menu_item_class->set_label = image_menu_item_set_label; - menu_item_class->get_label = image_menu_item_get_label; - - gobject_class->finalize = image_menu_item_finalize; - gobject_class->set_property = image_menu_item_set_property; - gobject_class->get_property = image_menu_item_get_property; - - /** - * ImageMenuItem:image: - * - * Child widget to appear next to the menu text. - * - */ - g_object_class_install_property (gobject_class, - PROP_IMAGE, - g_param_spec_object ("image", - _("Image widget"), - _("Child widget to appear next to the menu text"), - GTK_TYPE_WIDGET, - GTK_PARAM_READWRITE | G_PARAM_DEPRECATED)); - /** - * ImageMenuItem:use-stock: - * - * If %TRUE, the label set in the menuitem is used as a - * stock id to select the stock item for the item. - * - * Since: 2.16 - * - */ - g_object_class_install_property (gobject_class, - PROP_USE_STOCK, - g_param_spec_boolean ("use-stock", - _("Use stock"), - _("Whether to use the label text to create a stock menu item"), - FALSE, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_DEPRECATED)); - - /** - * ImageMenuItem:accel-group: - * - * The Accel Group to use for stock accelerator keys - * - * Since: 2.16 - * - */ - g_object_class_install_property (gobject_class, - PROP_ACCEL_GROUP, - g_param_spec_object ("accel-group", - _("Accel Group"), - _("The Accel Group to use for stock accelerator keys"), - GTK_TYPE_ACCEL_GROUP, - GTK_PARAM_WRITABLE | G_PARAM_DEPRECATED)); - -} - -static void -image_menu_item_init (ImageMenuItem *image_menu_item) -{ - ImageMenuItemPrivate *priv; - - image_menu_item->priv = image_menu_item_get_instance_private (image_menu_item); - priv = image_menu_item->priv; - - priv->image = NULL; - priv->use_stock = FALSE; - priv->label = NULL; -} - -static void -image_menu_item_finalize (GObject *object) -{ - ImageMenuItemPrivate *priv = IMAGE_MENU_ITEM (object)->priv; - - g_free (priv->label); - priv->label = NULL; - - G_OBJECT_CLASS (image_menu_item_parent_class)->finalize (object); -} - -static void -image_menu_item_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - ImageMenuItem *image_menu_item = IMAGE_MENU_ITEM (object); - - switch (prop_id) - { - case PROP_IMAGE: - image_menu_item_set_image (image_menu_item, (GtkWidget *) g_value_get_object (value)); - break; - case PROP_USE_STOCK: - G_GNUC_BEGIN_IGNORE_DEPRECATIONS; - image_menu_item_set_use_stock (image_menu_item, g_value_get_boolean (value)); - G_GNUC_END_IGNORE_DEPRECATIONS; - break; - case PROP_ACCEL_GROUP: - G_GNUC_BEGIN_IGNORE_DEPRECATIONS; - image_menu_item_set_accel_group (image_menu_item, g_value_get_object (value)); - G_GNUC_END_IGNORE_DEPRECATIONS; - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -image_menu_item_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - ImageMenuItem *image_menu_item = IMAGE_MENU_ITEM (object); - - switch (prop_id) - { - case PROP_IMAGE: - g_value_set_object (value, image_menu_item_get_image (image_menu_item)); - break; - case PROP_USE_STOCK: - G_GNUC_BEGIN_IGNORE_DEPRECATIONS; - g_value_set_boolean (value, image_menu_item_get_use_stock (image_menu_item)); - G_GNUC_END_IGNORE_DEPRECATIONS; - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -image_menu_item_map (GtkWidget *widget) -{ - ImageMenuItem *image_menu_item = IMAGE_MENU_ITEM (widget); - ImageMenuItemPrivate *priv = image_menu_item->priv; - - GTK_WIDGET_CLASS (image_menu_item_parent_class)->map (widget); - - if (priv->image) - g_object_set (priv->image, "visible", TRUE, NULL); -} - -static void -image_menu_item_destroy (GtkWidget *widget) -{ - ImageMenuItem *image_menu_item = IMAGE_MENU_ITEM (widget); - ImageMenuItemPrivate *priv = image_menu_item->priv; - - if (priv->image) - gtk_container_remove (GTK_CONTAINER (image_menu_item), - priv->image); - - GTK_WIDGET_CLASS (image_menu_item_parent_class)->destroy (widget); -} - -static void -image_menu_item_toggle_size_request (GtkMenuItem *menu_item, - gint *requisition) -{ - ImageMenuItem *image_menu_item = IMAGE_MENU_ITEM (menu_item); - ImageMenuItemPrivate *priv = image_menu_item->priv; - GtkPackDirection pack_dir; - GtkWidget *parent; - GtkWidget *widget = GTK_WIDGET (menu_item); - - parent = gtk_widget_get_parent (widget); - - if (GTK_IS_MENU_BAR (parent)) - pack_dir = gtk_menu_bar_get_child_pack_direction (GTK_MENU_BAR (parent)); - else - pack_dir = GTK_PACK_DIRECTION_LTR; - - *requisition = 0; - - if (priv->image && gtk_widget_get_visible (priv->image)) - { - GtkRequisition image_requisition; - guint toggle_spacing; - - gtk_widget_get_preferred_size (priv->image, &image_requisition, NULL); - - gtk_widget_style_get (GTK_WIDGET (menu_item), - "toggle-spacing", &toggle_spacing, - NULL); - - if (pack_dir == GTK_PACK_DIRECTION_LTR || pack_dir == GTK_PACK_DIRECTION_RTL) - { - if (image_requisition.width > 0) - *requisition = image_requisition.width + toggle_spacing; - } - else - { - if (image_requisition.height > 0) - *requisition = image_requisition.height + toggle_spacing; - } - } -} - -static void -image_menu_item_recalculate (ImageMenuItem *image_menu_item) -{ - ImageMenuItemPrivate *priv = image_menu_item->priv; - GtkStockItem stock_item; - GtkWidget *image; - const gchar *resolved_label = priv->label; - - if (priv->use_stock && priv->label) - { - - G_GNUC_BEGIN_IGNORE_DEPRECATIONS; - - if (!priv->image) - { - image = gtk_image_new_from_stock (priv->label, GTK_ICON_SIZE_MENU); - image_menu_item_set_image (image_menu_item, image); - } - - if (gtk_stock_lookup (priv->label, &stock_item)) - resolved_label = stock_item.label; - - gtk_menu_item_set_use_underline (GTK_MENU_ITEM (image_menu_item), TRUE); - - G_GNUC_END_IGNORE_DEPRECATIONS; - } - - GTK_MENU_ITEM_CLASS - (image_menu_item_parent_class)->set_label (GTK_MENU_ITEM (image_menu_item), resolved_label); - -} - -static void -image_menu_item_set_label (GtkMenuItem *menu_item, - const gchar *label) -{ - ImageMenuItemPrivate *priv = IMAGE_MENU_ITEM (menu_item)->priv; - - if (priv->label != label) - { - g_free (priv->label); - priv->label = g_strdup (label); - - image_menu_item_recalculate (IMAGE_MENU_ITEM (menu_item)); - - g_object_notify (G_OBJECT (menu_item), "label"); - - } -} - -static const gchar * -image_menu_item_get_label (GtkMenuItem *menu_item) -{ - ImageMenuItemPrivate *priv = IMAGE_MENU_ITEM (menu_item)->priv; - - return priv->label; -} - -static void -image_menu_item_get_preferred_width (GtkWidget *widget, - gint *minimum, - gint *natural) -{ - ImageMenuItem *image_menu_item = IMAGE_MENU_ITEM (widget); - ImageMenuItemPrivate *priv = image_menu_item->priv; - GtkPackDirection pack_dir; - GtkWidget *parent; - - parent = gtk_widget_get_parent (widget); - - if (GTK_IS_MENU_BAR (parent)) - pack_dir = gtk_menu_bar_get_child_pack_direction (GTK_MENU_BAR (parent)); - else - pack_dir = GTK_PACK_DIRECTION_LTR; - - GTK_WIDGET_CLASS (image_menu_item_parent_class)->get_preferred_width (widget, minimum, natural); - - if ((pack_dir == GTK_PACK_DIRECTION_TTB || pack_dir == GTK_PACK_DIRECTION_BTT) && - priv->image && - gtk_widget_get_visible (priv->image)) - { - gint child_minimum, child_natural; - - gtk_widget_get_preferred_width (priv->image, &child_minimum, &child_natural); - - *minimum = MAX (*minimum, child_minimum); - *natural = MAX (*natural, child_natural); - } -} - -static void -image_menu_item_get_preferred_height (GtkWidget *widget, - gint *minimum, - gint *natural) -{ - ImageMenuItem *image_menu_item = IMAGE_MENU_ITEM (widget); - ImageMenuItemPrivate *priv = image_menu_item->priv; - gint child_height = 0; - GtkPackDirection pack_dir; - GtkWidget *parent; - - parent = gtk_widget_get_parent (widget); - - if (GTK_IS_MENU_BAR (parent)) - pack_dir = gtk_menu_bar_get_child_pack_direction (GTK_MENU_BAR (parent)); - else - pack_dir = GTK_PACK_DIRECTION_LTR; - - if (priv->image && gtk_widget_get_visible (priv->image)) - { - GtkRequisition child_requisition; - - gtk_widget_get_preferred_size (priv->image, &child_requisition, NULL); - - child_height = child_requisition.height; - } - - GTK_WIDGET_CLASS (image_menu_item_parent_class)->get_preferred_height (widget, minimum, natural); - - if (pack_dir == GTK_PACK_DIRECTION_RTL || pack_dir == GTK_PACK_DIRECTION_LTR) - { - *minimum = MAX (*minimum, child_height); - *natural = MAX (*natural, child_height); - } -} - -static void -image_menu_item_get_preferred_height_for_width (GtkWidget *widget, - gint width, - gint *minimum, - gint *natural) -{ - ImageMenuItem *image_menu_item = IMAGE_MENU_ITEM (widget); - ImageMenuItemPrivate *priv = image_menu_item->priv; - gint child_height = 0; - GtkPackDirection pack_dir; - GtkWidget *parent; - - parent = gtk_widget_get_parent (widget); - - if (GTK_IS_MENU_BAR (parent)) - pack_dir = gtk_menu_bar_get_child_pack_direction (GTK_MENU_BAR (parent)); - else - pack_dir = GTK_PACK_DIRECTION_LTR; - - if (priv->image && gtk_widget_get_visible (priv->image)) - { - GtkRequisition child_requisition; - - gtk_widget_get_preferred_size (priv->image, &child_requisition, NULL); - - child_height = child_requisition.height; - } - - GTK_WIDGET_CLASS - (image_menu_item_parent_class)->get_preferred_height_for_width (widget, width, minimum, natural); - - if (pack_dir == GTK_PACK_DIRECTION_RTL || pack_dir == GTK_PACK_DIRECTION_LTR) - { - *minimum = MAX (*minimum, child_height); - *natural = MAX (*natural, child_height); - } -} - - -static void -image_menu_item_size_allocate (GtkWidget *widget, - GtkAllocation *allocation) -{ - ImageMenuItem *image_menu_item = IMAGE_MENU_ITEM (widget); - ImageMenuItemPrivate *priv = image_menu_item->priv; - GtkAllocation widget_allocation; - GtkPackDirection pack_dir; - GtkWidget *parent; - - parent = gtk_widget_get_parent (widget); - - if (GTK_IS_MENU_BAR (parent)) - pack_dir = gtk_menu_bar_get_child_pack_direction (GTK_MENU_BAR (parent)); - else - pack_dir = GTK_PACK_DIRECTION_LTR; - - GTK_WIDGET_CLASS (image_menu_item_parent_class)->size_allocate (widget, allocation); - - if (priv->image && gtk_widget_get_visible (priv->image)) - { - gint x, y, offset; - GtkStyleContext *context; - GtkStateFlags state; - GtkBorder padding; - GtkRequisition child_requisition; - GtkAllocation child_allocation; - guint horizontal_padding, toggle_spacing; - gint toggle_size; - - toggle_size = image_menu_item->priv->toggle_size; - gtk_widget_style_get (widget, - "horizontal-padding", &horizontal_padding, - "toggle-spacing", &toggle_spacing, - NULL); - - /* Man this is lame hardcoding action, but I can't - * come up with a solution that's really better. - */ - - gtk_widget_get_preferred_size (priv->image, &child_requisition, NULL); - - gtk_widget_get_allocation (widget, &widget_allocation); - - context = gtk_widget_get_style_context (widget); - state = gtk_widget_get_state_flags (widget); - gtk_style_context_get_padding (context, state, &padding); - offset = gtk_container_get_border_width (GTK_CONTAINER (image_menu_item)); - - if (pack_dir == GTK_PACK_DIRECTION_LTR || - pack_dir == GTK_PACK_DIRECTION_RTL) - { - if ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) == - (pack_dir == GTK_PACK_DIRECTION_LTR)) - x = offset + horizontal_padding + padding.left + - (toggle_size - toggle_spacing - child_requisition.width) / 2; - else - x = widget_allocation.width - offset - horizontal_padding - padding.right - - toggle_size + toggle_spacing + - (toggle_size - toggle_spacing - child_requisition.width) / 2; - - y = (widget_allocation.height - child_requisition.height) / 2; - } - else - { - if ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) == - (pack_dir == GTK_PACK_DIRECTION_TTB)) - y = offset + horizontal_padding + padding.top + - (toggle_size - toggle_spacing - child_requisition.height) / 2; - else - y = widget_allocation.height - offset - horizontal_padding - padding.bottom - - toggle_size + toggle_spacing + - (toggle_size - toggle_spacing - child_requisition.height) / 2; - - x = (widget_allocation.width - child_requisition.width) / 2; - } - - child_allocation.width = child_requisition.width; - child_allocation.height = child_requisition.height; - child_allocation.x = widget_allocation.x + MAX (x, 0); - child_allocation.y = widget_allocation.y + MAX (y, 0); - - gtk_widget_size_allocate (priv->image, &child_allocation); - } -} - -static void -image_menu_item_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data) -{ - ImageMenuItem *image_menu_item = IMAGE_MENU_ITEM (container); - ImageMenuItemPrivate *priv = image_menu_item->priv; - - GTK_CONTAINER_CLASS (image_menu_item_parent_class)->forall (container, - include_internals, - callback, - callback_data); - - if (include_internals && priv->image) - (* callback) (priv->image, callback_data); -} - - -static void -image_menu_item_activatable_interface_init (GtkActivatableIface *iface) -{ - parent_activatable_iface = g_type_interface_peek_parent (iface); - iface->update = image_menu_item_update; - iface->sync_action_properties = image_menu_item_sync_action_properties; -} - -static gboolean -activatable_update_stock_id (ImageMenuItem *image_menu_item, GtkAction *action) -{ - GtkWidget *image; - const gchar *stock_id = gtk_action_get_stock_id (action); - - image = image_menu_item_get_image (image_menu_item); - - G_GNUC_BEGIN_IGNORE_DEPRECATIONS; - - if (GTK_IS_IMAGE (image) && - stock_id && gtk_icon_factory_lookup_default (stock_id)) - { - G_GNUC_BEGIN_IGNORE_DEPRECATIONS; - gtk_image_set_from_stock (GTK_IMAGE (image), stock_id, GTK_ICON_SIZE_MENU); - G_GNUC_END_IGNORE_DEPRECATIONS; - return TRUE; - } - - G_GNUC_END_IGNORE_DEPRECATIONS; - - return FALSE; -} - -static gboolean -activatable_update_gicon (ImageMenuItem *image_menu_item, GtkAction *action) -{ - GtkWidget *image; - GIcon *icon = gtk_action_get_gicon (action); - const gchar *stock_id; - gboolean ret = FALSE; - - stock_id = gtk_action_get_stock_id (action); - - G_GNUC_BEGIN_IGNORE_DEPRECATIONS; - - image = image_menu_item_get_image (image_menu_item); - - if (icon && GTK_IS_IMAGE (image) && - !(stock_id && gtk_icon_factory_lookup_default (stock_id))) - { - gtk_image_set_from_gicon (GTK_IMAGE (image), icon, GTK_ICON_SIZE_MENU); - ret = TRUE; - } - - G_GNUC_END_IGNORE_DEPRECATIONS; - - return ret; -} - -static void -activatable_update_icon_name (ImageMenuItem *image_menu_item, GtkAction *action) -{ - GtkWidget *image; - const gchar *icon_name = gtk_action_get_icon_name (action); - - image = image_menu_item_get_image (image_menu_item); - - if (GTK_IS_IMAGE (image) && - (gtk_image_get_storage_type (GTK_IMAGE (image)) == GTK_IMAGE_EMPTY || - gtk_image_get_storage_type (GTK_IMAGE (image)) == GTK_IMAGE_ICON_NAME)) - { - gtk_image_set_from_icon_name (GTK_IMAGE (image), icon_name, GTK_ICON_SIZE_MENU); - } -} - -static void -image_menu_item_update (GtkActivatable *activatable, - GtkAction *action, - const gchar *property_name) -{ - ImageMenuItem *image_menu_item; - gboolean use_appearance; - - image_menu_item = IMAGE_MENU_ITEM (activatable); - - parent_activatable_iface->update (activatable, action, property_name); - - use_appearance = gtk_activatable_get_use_action_appearance (activatable); - if (!use_appearance) - return; - - if (strcmp (property_name, "stock-id") == 0) - activatable_update_stock_id (image_menu_item, action); - else if (strcmp (property_name, "gicon") == 0) - activatable_update_gicon (image_menu_item, action); - else if (strcmp (property_name, "icon-name") == 0) - activatable_update_icon_name (image_menu_item, action); -} - -static void -image_menu_item_sync_action_properties (GtkActivatable *activatable, - GtkAction *action) -{ - ImageMenuItem *image_menu_item; - GtkWidget *image; - gboolean use_appearance; - - image_menu_item = IMAGE_MENU_ITEM (activatable); - - parent_activatable_iface->sync_action_properties (activatable, action); - - if (!action) - return; - - use_appearance = gtk_activatable_get_use_action_appearance (activatable); - if (!use_appearance) - return; - - image = image_menu_item_get_image (image_menu_item); - if (image && !GTK_IS_IMAGE (image)) - { - image_menu_item_set_image (image_menu_item, NULL); - image = NULL; - } - - if (!image) - { - image = gtk_image_new (); - gtk_widget_show (image); - image_menu_item_set_image (IMAGE_MENU_ITEM (activatable), - image); - } - - if (!activatable_update_stock_id (image_menu_item, action) && - !activatable_update_gicon (image_menu_item, action)) - activatable_update_icon_name (image_menu_item, action); - -} - - -/** - * image_menu_item_new: - * - * Creates a new #ImageMenuItem with an empty label. - * - * Returns: a new #ImageMenuItem - * - */ -GtkWidget* -image_menu_item_new (void) -{ - return g_object_new (TYPE_IMAGE_MENU_ITEM, NULL); -} - -/** - * image_menu_item_new_with_label: - * @label: the text of the menu item. - * - * Creates a new #ImageMenuItem containing a label. - * - * Returns: a new #ImageMenuItem. - * - */ -GtkWidget* -image_menu_item_new_with_label (const gchar *label) -{ - return g_object_new (TYPE_IMAGE_MENU_ITEM, - "label", label, - NULL); -} - -/** - * image_menu_item_new_with_mnemonic: - * @label: the text of the menu item, with an underscore in front of the - * mnemonic character - * - * Creates a new #ImageMenuItem containing a label. The label - * will be created using gtk_label_new_with_mnemonic(), so underscores - * in @label indicate the mnemonic for the menu item. - * - * Returns: a new #ImageMenuItem - * - */ -GtkWidget* -image_menu_item_new_with_mnemonic (const gchar *label) -{ - return g_object_new (TYPE_IMAGE_MENU_ITEM, - "use-underline", TRUE, - "label", label, - NULL); -} - -/** - * image_menu_item_new_from_stock: - * @stock_id: the name of the stock item. - * @accel_group: (allow-none): the #GtkAccelGroup to add the menu items - * accelerator to, or %NULL. - * - * Creates a new #ImageMenuItem containing the image and text from a - * stock item. Some stock ids have preprocessor macros like #STOCK_OK - * and #STOCK_APPLY. - * - * If you want this menu item to have changeable accelerators, then pass in - * %NULL for accel_group. Next call gtk_menu_item_set_accel_path() with an - * appropriate path for the menu item, use gtk_stock_lookup() to look up the - * standard accelerator for the stock item, and if one is found, call - * gtk_accel_map_add_entry() to register it. - * - * Returns: a new #ImageMenuItem. - * - */ -GtkWidget* -image_menu_item_new_from_stock (const gchar *stock_id, - GtkAccelGroup *accel_group) -{ - return g_object_new (TYPE_IMAGE_MENU_ITEM, - "label", stock_id, - "use-stock", TRUE, - "accel-group", accel_group, - NULL); -} - -/** - * image_menu_item_set_use_stock: - * @image_menu_item: a #ImageMenuItem - * @use_stock: %TRUE if the menuitem should use a stock item - * - * If %TRUE, the label set in the menuitem is used as a - * stock id to select the stock item for the item. - * - * Since: 2.16 - * - */ -void -image_menu_item_set_use_stock (ImageMenuItem *image_menu_item, - gboolean use_stock) -{ - ImageMenuItemPrivate *priv; - - g_return_if_fail (IS_IMAGE_MENU_ITEM (image_menu_item)); - - priv = image_menu_item->priv; - - if (priv->use_stock != use_stock) - { - priv->use_stock = use_stock; - - image_menu_item_recalculate (image_menu_item); - - g_object_notify (G_OBJECT (image_menu_item), "use-stock"); - } -} - -/** - * image_menu_item_get_use_stock: - * @image_menu_item: a #ImageMenuItem - * - * Checks whether the label set in the menuitem is used as a - * stock id to select the stock item for the item. - * - * Returns: %TRUE if the label set in the menuitem is used as a - * stock id to select the stock item for the item - * - * Since: 2.16 - * - */ -gboolean -image_menu_item_get_use_stock (ImageMenuItem *image_menu_item) -{ - g_return_val_if_fail (IS_IMAGE_MENU_ITEM (image_menu_item), FALSE); - - return image_menu_item->priv->use_stock; -} - -/** - * image_menu_item_set_accel_group: - * @image_menu_item: a #ImageMenuItem - * @accel_group: the #GtkAccelGroup - * - * Specifies an @accel_group to add the menu items accelerator to - * (this only applies to stock items so a stock item must already - * be set, make sure to call image_menu_item_set_use_stock() - * and gtk_menu_item_set_label() with a valid stock item first). - * - * If you want this menu item to have changeable accelerators then - * you shouldnt need this (see image_menu_item_new_from_stock()). - * - * Since: 2.16 - * - */ -void -image_menu_item_set_accel_group (ImageMenuItem *image_menu_item, - GtkAccelGroup *accel_group) -{ - ImageMenuItemPrivate *priv; - GtkStockItem stock_item; - - /* Silent return for the constructor */ - if (!accel_group) - return; - - g_return_if_fail (IS_IMAGE_MENU_ITEM (image_menu_item)); - g_return_if_fail (GTK_IS_ACCEL_GROUP (accel_group)); - - priv = image_menu_item->priv; - - G_GNUC_BEGIN_IGNORE_DEPRECATIONS; - - if (priv->use_stock && priv->label && gtk_stock_lookup (priv->label, &stock_item)) - if (stock_item.keyval) - { - gtk_widget_add_accelerator (GTK_WIDGET (image_menu_item), - "activate", - accel_group, - stock_item.keyval, - stock_item.modifier, - GTK_ACCEL_VISIBLE); - - g_object_notify (G_OBJECT (image_menu_item), "accel-group"); - } - - G_GNUC_END_IGNORE_DEPRECATIONS; - -} - -/** - * image_menu_item_set_image: - * @image_menu_item: a #ImageMenuItem. - * @image: (allow-none): a widget to set as the image for the menu item. - * - * Sets the image of @image_menu_item to the given widget. - * Note that it depends on the show-menu-images setting whether - * the image will be displayed or not. - * - */ -void -image_menu_item_set_image (ImageMenuItem *image_menu_item, - GtkWidget *image) -{ - ImageMenuItemPrivate *priv; - - g_return_if_fail (IS_IMAGE_MENU_ITEM (image_menu_item)); - - priv = image_menu_item->priv; - - if (image == priv->image) - return; - - if (priv->image) - gtk_container_remove (GTK_CONTAINER (image_menu_item), - priv->image); - - priv->image = image; - - if (image == NULL) - return; - - gtk_widget_set_parent (image, GTK_WIDGET (image_menu_item)); - g_object_set (image, "visible", TRUE, "no-show-all", TRUE, NULL); - - g_object_notify (G_OBJECT (image_menu_item), "image"); -} - -/** - * image_menu_item_get_image: - * @image_menu_item: a #ImageMenuItem - * - * Gets the widget that is currently set as the image of @image_menu_item. - * See image_menu_item_set_image(). - * - * Return value: (transfer none): the widget set as image of @image_menu_item - * - **/ -GtkWidget* -image_menu_item_get_image (ImageMenuItem *image_menu_item) -{ - g_return_val_if_fail (IS_IMAGE_MENU_ITEM (image_menu_item), NULL); - - return image_menu_item->priv->image; -} - -static void -image_menu_item_remove (GtkContainer *container, - GtkWidget *child) -{ - ImageMenuItem *image_menu_item = IMAGE_MENU_ITEM (container); - ImageMenuItemPrivate *priv = image_menu_item->priv; - - if (child == priv->image) - { - gboolean widget_was_visible; - - widget_was_visible = gtk_widget_get_visible (child); - - gtk_widget_unparent (child); - priv->image = NULL; - - if (widget_was_visible && - gtk_widget_get_visible (GTK_WIDGET (container))) - gtk_widget_queue_resize (GTK_WIDGET (container)); - - g_object_notify (G_OBJECT (image_menu_item), "image"); - } - else - { - GTK_CONTAINER_CLASS (image_menu_item_parent_class)->remove (container, child); - } -} - -static void -show_image_change_notify (ImageMenuItem *image_menu_item) -{ - ImageMenuItemPrivate *priv = image_menu_item->priv; - - if (priv->image) - { - gtk_widget_show (priv->image); - } -} - -static void -traverse_container (GtkWidget *widget, - gpointer data) -{ - if (IS_IMAGE_MENU_ITEM (widget)) - show_image_change_notify (IMAGE_MENU_ITEM (widget)); - else if (GTK_IS_CONTAINER (widget)) - gtk_container_forall (GTK_CONTAINER (widget), traverse_container, NULL); -} - -static void -image_menu_item_setting_changed (GtkSettings *settings) -{ - GList *list, *l; - - list = gtk_window_list_toplevels (); - - for (l = list; l; l = l->next) - gtk_container_forall (GTK_CONTAINER (l->data), - traverse_container, NULL); - - g_list_free (list); -} - -static void -image_menu_item_screen_changed (GtkWidget *widget, - GdkScreen *previous_screen) -{ - GtkSettings *settings; - gulong show_image_connection; - - if (!gtk_widget_has_screen (widget)) - return; - - settings = gtk_widget_get_settings (widget); - - show_image_connection = - g_signal_handler_find (settings, G_SIGNAL_MATCH_FUNC, 0, 0, - NULL, image_menu_item_setting_changed, NULL); - - if (show_image_connection) - return; - - g_signal_connect (settings, "notify::gtk-menu-images", - G_CALLBACK (image_menu_item_setting_changed), NULL); - - show_image_change_notify (IMAGE_MENU_ITEM (widget)); -} diff --git a/src/widgets/image-menu-item.h b/src/widgets/image-menu-item.h deleted file mode 100644 index 61cc48f3a..000000000 --- a/src/widgets/image-menu-item.h +++ /dev/null @@ -1,81 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see <http://www.gnu.org/licenses/>. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. - * Forked for , icons in menus are important to us. - */ - -#ifndef __IMAGE_MENU_ITEM_H__ -#define __IMAGE_MENU_ITEM_H__ - -#include <gtk/gtk.h> - -G_BEGIN_DECLS - -#define GTK_PARAM_READABLE G_PARAM_READABLE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB -#define GTK_PARAM_WRITABLE G_PARAM_WRITABLE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB -#define GTK_PARAM_READWRITE G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB - -#define TYPE_IMAGE_MENU_ITEM (image_menu_item_get_type ()) -#define IMAGE_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMAGE_MENU_ITEM, ImageMenuItem)) -#define IMAGE_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMAGE_MENU_ITEM, ImageMenuItemClass)) -#define IS_IMAGE_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMAGE_MENU_ITEM)) -#define IS_IMAGE_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMAGE_MENU_ITEM)) -#define IMAGE_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMAGE_MENU_ITEM, ImageMenuItemClass)) - -typedef struct _ImageMenuItem ImageMenuItem; -typedef struct _ImageMenuItemPrivate ImageMenuItemPrivate; -typedef struct _ImageMenuItemClass ImageMenuItemClass; - -struct _ImageMenuItem -{ - GtkMenuItem menu_item; - - /*< private >*/ - ImageMenuItemPrivate *priv; -}; - -struct _ImageMenuItemClass -{ - GtkMenuItemClass parent_class; - - /* Padding for future expansion */ - void (*_gtk_reserved1) (void); - void (*_gtk_reserved2) (void); - void (*_gtk_reserved3) (void); - void (*_gtk_reserved4) (void); -}; - -GType image_menu_item_get_type (void) G_GNUC_CONST; -GtkWidget* image_menu_item_new (void); -GtkWidget* image_menu_item_new_with_label (const gchar *label); -GtkWidget* image_menu_item_new_with_mnemonic (const gchar *label); -GtkWidget* image_menu_item_new_from_stock (const gchar *stock_id, - GtkAccelGroup *accel_group); -void image_menu_item_set_image (ImageMenuItem *image_menu_item, - GtkWidget *image); -GtkWidget* image_menu_item_get_image (ImageMenuItem *image_menu_item); -void image_menu_item_set_use_stock (ImageMenuItem *image_menu_item, - gboolean use_stock); -gboolean image_menu_item_get_use_stock (ImageMenuItem *image_menu_item); -void image_menu_item_set_accel_group (ImageMenuItem *image_menu_item, - GtkAccelGroup *accel_group); - -G_END_DECLS - -#endif /* __IMAGE_MENU_ITEM_H__ */ diff --git a/src/widgets/ink-action.cpp b/src/widgets/ink-action.cpp index 2f1bf94e4..8859306f1 100644 --- a/src/widgets/ink-action.cpp +++ b/src/widgets/ink-action.cpp @@ -1,8 +1,6 @@ #include "ink-action.h" #include "widgets/icon.h" -#include "widgets/image-menu-item.h" - #include <gtk/gtk.h> static void ink_action_finalize( GObject* obj ); @@ -155,7 +153,7 @@ static GtkWidget* ink_action_create_menu_item( GtkAction* action ) if ( act->private_data->iconId ) { gchar* label = 0; g_object_get( G_OBJECT(act), "label", &label, NULL ); - item = image_menu_item_new_with_mnemonic( label ); + item = gtk_image_menu_item_new_with_mnemonic( label ); GtkWidget* child = sp_icon_new( Inkscape::ICON_SIZE_MENU, act->private_data->iconId ); // TODO this work-around is until SPIcon will live properly inside of a popup menu @@ -170,7 +168,7 @@ static GtkWidget* ink_action_create_menu_item( GtkAction* action ) } } gtk_widget_show_all( child ); - image_menu_item_set_image( IMAGE_MENU_ITEM(item), child ); + gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM(item), child ); g_free( label ); label = 0; diff --git a/src/widgets/mesh-toolbar.cpp b/src/widgets/mesh-toolbar.cpp index ea0faf1df..b1cbb98b0 100644 --- a/src/widgets/mesh-toolbar.cpp +++ b/src/widgets/mesh-toolbar.cpp @@ -18,6 +18,8 @@ #include <config.h> #endif +#include <gtkmm.h> + // REVIEW THESE AT END OF REWRITE #include "ui/widget/color-preview.h" #include "toolbox.h" @@ -36,7 +38,6 @@ #include "document-undo.h" #include "desktop.h" -#include <gtkmm.h> #include <glibmm/i18n.h> #include "ui/tools/gradient-tool.h" diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp index a3db3c33d..758a3125b 100644 --- a/src/widgets/toolbox.cpp +++ b/src/widgets/toolbox.cpp @@ -661,7 +661,7 @@ Glib::RefPtr<VerbAction> VerbAction::create(Inkscape::Verb* verb, Inkscape::Verb } VerbAction::VerbAction(Inkscape::Verb* verb, Inkscape::Verb* verb2, Inkscape::UI::View::View *view) : - Gtk::Action(Glib::ustring(verb->get_id()), Gtk::StockID(verb->get_image()), Glib::ustring(g_dpgettext2(NULL, "ContextVerb", verb->get_name())), Glib::ustring(_(verb->get_tip()))), + Gtk::Action(Glib::ustring(verb->get_id()), verb->get_image(), Glib::ustring(g_dpgettext2(NULL, "ContextVerb", verb->get_name())), Glib::ustring(_(verb->get_tip()))), verb(verb), verb2(verb2), view(view), @@ -676,7 +676,7 @@ VerbAction::~VerbAction() Gtk::Widget* VerbAction::create_menu_item_vfunc() { // First call in to get the icon rendered if present in SVG - Gtk::Widget *widget = sp_icon_get_icon( property_stock_id().get_value().get_string(), Inkscape::ICON_SIZE_MENU ); + Gtk::Widget *widget = sp_icon_get_icon( get_icon_name(), Inkscape::ICON_SIZE_MENU ); delete widget; widget = 0; |
