From 747795541ccf5caf9164921a3fe0fa4534ec6e45 Mon Sep 17 00:00:00 2001 From: Kris De Gussem Date: Thu, 2 Jan 2014 18:22:21 +0100 Subject: memory leak fix (doc_title) + code readability (bzr r12867) --- src/file.cpp | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/src/file.cpp b/src/file.cpp index cec634c9b..cd52d0b86 100644 --- a/src/file.cpp +++ b/src/file.cpp @@ -843,19 +843,16 @@ sp_file_save_dialog(Gtk::Window &parentWindow, SPDocument *doc, Inkscape::Extens if (extension) filename_extension = extension->get_extension(); - Glib::ustring save_path; - Glib::ustring save_loc; - - save_path = Inkscape::Extension::get_file_save_path(doc, save_method); + Glib::ustring save_path = Inkscape::Extension::get_file_save_path(doc, save_method); if (!Inkscape::IO::file_test(save_path.c_str(), (GFileTest)(G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))) - save_path = ""; + save_path.clear(); - if (save_path.size()<1) + if (save_path.empty()) save_path = g_get_home_dir(); - save_loc = save_path; + Glib::ustring save_loc = save_path; save_loc.append(G_DIR_SEPARATOR_S); // TODO fixed buffer is bad: @@ -882,7 +879,7 @@ sp_file_save_dialog(Gtk::Window &parentWindow, SPDocument *doc, Inkscape::Extens // Inkscape::IO? Glib::ustring save_loc_local = Glib::filename_from_utf8(save_loc); - if ( save_loc_local.size() > 0) + if (!save_loc_local.empty()) save_loc = save_loc_local; //# Show the SaveAs dialog @@ -909,28 +906,27 @@ sp_file_save_dialog(Gtk::Window &parentWindow, SPDocument *doc, Inkscape::Extens bool success = saveDialog->show(); if (!success) { delete saveDialog; + if(doc_title) g_free(doc_title); return success; } // set new title here (call RDF to ensure metadata and title element are updated) rdf_set_work_entity(doc, rdf_find_entity("title"), saveDialog->getDocTitle().c_str()); - // free up old string - if(doc_title) g_free(doc_title); Glib::ustring fileName = saveDialog->getFilename(); Inkscape::Extension::Extension *selectionType = saveDialog->getSelectionType(); delete saveDialog; - saveDialog = 0; + if(doc_title) g_free(doc_title); - if (fileName.size() > 0) { + if (!fileName.empty()) { Glib::ustring newFileName = Glib::filename_to_utf8(fileName); - if ( newFileName.size()>0 ) + if (!newFileName.empty()) fileName = newFileName; else - g_warning( "Error converting save filename to UTF-8." ); + g_warning( "Error converting filename for saving to UTF-8." ); Inkscape::Extension::Output *omod = dynamic_cast(selectionType); if (omod) { -- cgit v1.2.3 From c862d2996b29dcace346d6c2e746672fd9d1949d Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Thu, 2 Jan 2014 17:34:58 +0000 Subject: Fix Gtk+ 3.10 warnings: GtkStockItem is deprecated (bzr r12868) --- src/ege-adjustment-action.cpp | 21 ++++++++--- src/ink-comboboxentry-action.cpp | 20 ++--------- src/inkview.cpp | 38 +++++++++++++++++--- src/interface.cpp | 2 +- src/live_effects/parameter/originalpath.cpp | 3 +- src/live_effects/parameter/path.cpp | 9 ++--- src/ui/dialog/document-properties.cpp | 50 ++++++++++++++++++++++---- src/ui/dialog/export.cpp | 4 +-- src/ui/dialog/layers.cpp | 16 ++++----- src/ui/dialog/livepatheffect-editor.cpp | 32 ++++++++++++++--- src/ui/dialog/ocaldialogs.cpp | 9 ++--- src/ui/dialog/text-edit.cpp | 10 +++--- src/verbs.cpp | 56 +++++++++++++++-------------- src/widgets/calligraphy-toolbar.cpp | 2 +- src/widgets/desktop-widget.cpp | 6 ++-- src/widgets/gradient-selector.cpp | 23 ++++++++++-- src/widgets/icon.cpp | 53 ++++++++------------------- src/widgets/paintbucket-toolbar.cpp | 2 +- src/widgets/pencil-toolbar.cpp | 2 +- src/widgets/spiral-toolbar.cpp | 2 +- src/widgets/star-toolbar.cpp | 2 +- src/widgets/text-toolbar.cpp | 12 +++---- 22 files changed, 229 insertions(+), 145 deletions(-) diff --git a/src/ege-adjustment-action.cpp b/src/ege-adjustment-action.cpp index 7f844ec4b..7e92c1bec 100644 --- a/src/ege-adjustment-action.cpp +++ b/src/ege-adjustment-action.cpp @@ -48,6 +48,7 @@ #include "icon-size.h" #include "ege-adjustment-action.h" #include "ui/widget/gimpspinscale.h" +#include "ui/icon-names.h" static void ege_adjustment_action_finalize( GObject* object ); @@ -81,11 +82,11 @@ enum { /* TODO need to have appropriate icons setup for these: */ static const gchar *floogles[] = { - GTK_STOCK_REMOVE, - GTK_STOCK_ADD, - GTK_STOCK_GO_DOWN, - GTK_STOCK_ABOUT, - GTK_STOCK_GO_UP, + INKSCAPE_ICON("list-remove"), + INKSCAPE_ICON("list-add"), + INKSCAPE_ICON("go-down"), + INKSCAPE_ICON("help-about"), + INKSCAPE_ICON("go-up"), 0}; typedef struct _EgeAdjustmentDescr EgeAdjustmentDescr; @@ -1100,3 +1101,13 @@ gboolean keypress_cb( GtkWidget *widget, GdkEventKey *event, gpointer data ) return wasConsumed; } +/* + 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:fileencoding=utf-8:textwidth=99 : diff --git a/src/ink-comboboxentry-action.cpp b/src/ink-comboboxentry-action.cpp index 320472347..06ccc3739 100644 --- a/src/ink-comboboxentry-action.cpp +++ b/src/ink-comboboxentry-action.cpp @@ -31,6 +31,7 @@ #include #include "ink-comboboxentry-action.h" +#include "ui/icon-names.h" // Must handle both tool and menu items! static GtkWidget* create_tool_item( GtkAction* action ); @@ -535,18 +536,9 @@ gboolean ink_comboboxentry_action_set_active_text( Ink_ComboBoxEntry_Action* act if( action->warning != NULL ) { Glib::ustring missing = check_comma_separated_text( action ); if( !missing.empty() ) { - - GtkStockItem item; - gboolean isStock = gtk_stock_lookup( GTK_STOCK_DIALOG_WARNING, &item ); - if (isStock) { - gtk_entry_set_icon_from_stock( action->entry, - GTK_ENTRY_ICON_SECONDARY, - GTK_STOCK_DIALOG_WARNING ); - } else { gtk_entry_set_icon_from_icon_name( action->entry, GTK_ENTRY_ICON_SECONDARY, - GTK_STOCK_DIALOG_WARNING ); - } + INKSCAPE_ICON("dialog-warning") ); // Can't add tooltip until icon set Glib::ustring warning = action->warning; warning += ": "; @@ -579,10 +571,7 @@ gboolean ink_comboboxentry_action_set_active_text( Ink_ComboBoxEntry_Action* act if( !set && action->info != NULL ) { gtk_entry_set_icon_from_icon_name( GTK_ENTRY(action->entry), GTK_ENTRY_ICON_SECONDARY, - GTK_STOCK_SELECT_ALL ); - gtk_entry_set_icon_from_stock( GTK_ENTRY(action->entry), - GTK_ENTRY_ICON_SECONDARY, - GTK_STOCK_SELECT_ALL ); + INKSCAPE_ICON("edit-select-all") ); gtk_entry_set_icon_tooltip_text( action->entry, GTK_ENTRY_ICON_SECONDARY, action->info ); @@ -610,9 +599,6 @@ gboolean ink_comboboxentry_action_set_active_text( Ink_ComboBoxEntry_Action* act gtk_entry_set_icon_from_icon_name( GTK_ENTRY(action->entry), GTK_ENTRY_ICON_SECONDARY, NULL ); - gtk_entry_set_icon_from_stock( GTK_ENTRY(action->entry), - GTK_ENTRY_ICON_SECONDARY, - NULL ); } } diff --git a/src/inkview.cpp b/src/inkview.cpp index e65638df6..82bd08e34 100644 --- a/src/inkview.cpp +++ b/src/inkview.cpp @@ -70,6 +70,8 @@ Inkscape::Application *inkscape; #define bind_textdomain_codeset(p,c) #endif +#include "ui/icon-names.h" + extern char *optarg; extern int optind, opterr; @@ -353,16 +355,44 @@ static GtkWidget* sp_svgview_control_show(struct SPSlideShow *ss) #endif gtk_container_add(GTK_CONTAINER(ctrlwin), t); - GtkWidget *b = gtk_button_new_from_stock(GTK_STOCK_GOTO_FIRST); + +#if GTK_CHECK_VERSION(3,10,0) + GtkWidget *b = gtk_button_new_from_icon_name(INKSCAPE_ICON("go-first"), GTK_ICON_SIZE_BUTTON); +#else + GtkWidget *b = gtk_button_new(); + GtkWidget *img = gtk_image_new_from_icon_name(INKSCAPE_ICON("go-first"), GTK_ICON_SIZE_BUTTON); + gtk_button_set_image(GTK_BUTTON(b), img); +#endif gtk_container_add(GTK_CONTAINER(t), b); + g_signal_connect(G_OBJECT(b), "clicked", (GCallback) sp_svgview_goto_first_cb, ss); - b = gtk_button_new_from_stock(GTK_STOCK_GO_BACK); +#if GTK_CHECK_VERSION(3,10,0) + b = gtk_button_new_from_icon_name(INKSCAPE_ICON("go-previous"), GTK_ICON_SIZE_BUTTON); +#else + b = gtk_button_new(); + img = gtk_image_new_from_icon_name(INKSCAPE_ICON("go-previous"), GTK_ICON_SIZE_BUTTON); + gtk_button_set_image(GTK_BUTTON(b), img); +#endif gtk_container_add(GTK_CONTAINER(t), b); + g_signal_connect(G_OBJECT(b), "clicked", (GCallback) sp_svgview_show_prev_cb, ss); - b = gtk_button_new_from_stock(GTK_STOCK_GO_FORWARD); +#if GTK_CHECK_VERSION(3,10,0) + b = gtk_button_new_from_icon_name(INKSCAPE_ICON("go-next"), GTK_ICON_SIZE_BUTTON); +#else + b = gtk_button_new(); + img = gtk_image_new_from_icon_name(INKSCAPE_ICON("go-next"), GTK_ICON_SIZE_BUTTON); + gtk_button_set_image(GTK_BUTTON(b), img); +#endif gtk_container_add(GTK_CONTAINER(t), b); + g_signal_connect(G_OBJECT(b), "clicked", (GCallback) sp_svgview_show_next_cb, ss); - b = gtk_button_new_from_stock(GTK_STOCK_GOTO_LAST); +#if GTK_CHECK_VERSION(3,10,0) + b = gtk_button_new_from_icon_name(INKSCAPE_ICON("go-last"), GTK_ICON_SIZE_BUTTON); +#else + b = gtk_button_new(); + img = gtk_image_new_from_icon_name(INKSCAPE_ICON("go-last"), GTK_ICON_SIZE_BUTTON); + gtk_button_set_image(GTK_BUTTON(b), img); +#endif gtk_container_add(GTK_CONTAINER(t), b); g_signal_connect(G_OBJECT(b), "clicked", (GCallback) sp_svgview_goto_last_cb, ss); gtk_widget_show_all(ctrlwin); diff --git a/src/interface.cpp b/src/interface.cpp index 5d4022e7b..881dbbc0c 100644 --- a/src/interface.cpp +++ b/src/interface.cpp @@ -1392,7 +1392,7 @@ sp_ui_overwrite_file(gchar const *filename) dirName ); gtk_dialog_add_buttons( GTK_DIALOG(dialog), - GTK_STOCK_CANCEL, GTK_RESPONSE_NO, + _("_Cancel"), GTK_RESPONSE_NO, _("Replace"), GTK_RESPONSE_YES, NULL ); gtk_dialog_set_default_response( GTK_DIALOG(dialog), GTK_RESPONSE_YES ); diff --git a/src/live_effects/parameter/originalpath.cpp b/src/live_effects/parameter/originalpath.cpp index 6e1d9476d..6c4f2a100 100644 --- a/src/live_effects/parameter/originalpath.cpp +++ b/src/live_effects/parameter/originalpath.cpp @@ -29,6 +29,7 @@ #include "inkscape.h" #include "desktop-handles.h" #include "selection.h" +#include "ui/icon-names.h" namespace Inkscape { @@ -59,7 +60,7 @@ OriginalPathParam::param_newWidget() } { // Paste path to link button - Gtk::Widget *pIcon = Gtk::manage( sp_icon_get_icon( GTK_STOCK_PASTE, Inkscape::ICON_SIZE_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(); diff --git a/src/live_effects/parameter/path.cpp b/src/live_effects/parameter/path.cpp index 77f7eabcc..cdbbef1db 100644 --- a/src/live_effects/parameter/path.cpp +++ b/src/live_effects/parameter/path.cpp @@ -46,6 +46,7 @@ #include #include +#include "ui/icon-names.h" namespace Inkscape { @@ -153,7 +154,7 @@ PathParam::param_newWidget() static_cast(_widget)->pack_start(*pLabel, true, true); pLabel->set_tooltip_text(param_tooltip); - Gtk::Widget* pIcon = Gtk::manage( sp_icon_get_icon( "tool-node-editor", Inkscape::ICON_SIZE_BUTTON) ); + Gtk::Widget* pIcon = Gtk::manage( sp_icon_get_icon( INKSCAPE_ICON("tool-node-editor"), Inkscape::ICON_SIZE_BUTTON) ); Gtk::Button * pButton = Gtk::manage(new Gtk::Button()); pButton->set_relief(Gtk::RELIEF_NONE); pIcon->show(); @@ -163,7 +164,7 @@ PathParam::param_newWidget() static_cast(_widget)->pack_start(*pButton, true, true); pButton->set_tooltip_text(_("Edit on-canvas")); - pIcon = Gtk::manage( sp_icon_get_icon( GTK_STOCK_COPY, Inkscape::ICON_SIZE_BUTTON) ); + pIcon = Gtk::manage( sp_icon_get_icon( INKSCAPE_ICON("edit-copy"), Inkscape::ICON_SIZE_BUTTON) ); pButton = Gtk::manage(new Gtk::Button()); pButton->set_relief(Gtk::RELIEF_NONE); pIcon->show(); @@ -173,7 +174,7 @@ PathParam::param_newWidget() static_cast(_widget)->pack_start(*pButton, true, true); pButton->set_tooltip_text(_("Copy path")); - pIcon = Gtk::manage( sp_icon_get_icon( GTK_STOCK_PASTE, Inkscape::ICON_SIZE_BUTTON) ); + pIcon = Gtk::manage( sp_icon_get_icon( INKSCAPE_ICON("edit-paste"), Inkscape::ICON_SIZE_BUTTON) ); pButton = Gtk::manage(new Gtk::Button()); pButton->set_relief(Gtk::RELIEF_NONE); pIcon->show(); @@ -183,7 +184,7 @@ PathParam::param_newWidget() static_cast(_widget)->pack_start(*pButton, true, true); pButton->set_tooltip_text(_("Paste path")); - pIcon = Gtk::manage( sp_icon_get_icon( "edit-clone", Inkscape::ICON_SIZE_BUTTON) ); + pIcon = Gtk::manage( sp_icon_get_icon( INKSCAPE_ICON("edit-clone"), Inkscape::ICON_SIZE_BUTTON) ); pButton = Gtk::manage(new Gtk::Button()); pButton->set_relief(Gtk::RELIEF_NONE); pIcon->show(); diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp index 32f23d55f..d324d2d1b 100644 --- a/src/ui/dialog/document-properties.cpp +++ b/src/ui/dialog/document-properties.cpp @@ -57,6 +57,7 @@ #include #include <2geom/transforms.h> +#include "ui/icon-names.h" using std::pair; @@ -609,10 +610,22 @@ void DocumentProperties::build_cms() label_avail->set_markup (_("Available Color Profiles:")); _link_btn.set_tooltip_text(_("Link Profile")); - _link_btn.set_image(*manage(Glib::wrap(gtk_image_new_from_stock ( GTK_STOCK_ADD, GTK_ICON_SIZE_SMALL_TOOLBAR ) ))); +#if GTK_CHECK_VERSION(3,10,0) + _link_btn.set_image_from_icon_name(INKSCAPE_ICON("list-add"), Gtk::ICON_SIZE_SMALL_TOOLBAR); +#else + Gtk::Image *image_link = Gtk::manage(new Gtk::Image()); + image_link->set_from_icon_name(INKSCAPE_ICON("list-add"), Gtk::ICON_SIZE_SMALL_TOOLBAR); + _link_btn.set_image(*image_link); +#endif _unlink_btn.set_tooltip_text(_("Unlink Profile")); - _unlink_btn.set_image(*manage(Glib::wrap(gtk_image_new_from_stock ( GTK_STOCK_REMOVE, GTK_ICON_SIZE_SMALL_TOOLBAR ) ))); +#if GTK_CHECK_VERSION(3,10,0) + _unlink_btn.set_image_from_icon_name(INKSCAPE_ICON("list-remove"), Gtk::ICON_SIZE_SMALL_TOOLBAR); +#else + Gtk::Image *image_unlink = Gtk::manage(new Gtk::Image()); + image_unlink->set_from_icon_name(INKSCAPE_ICON("list-remove"), Gtk::ICON_SIZE_SMALL_TOOLBAR); + _unlink_btn.set_image(*image_unlink); +#endif _page_cms->set_spacing(4); gint row = 0; @@ -734,11 +747,22 @@ void DocumentProperties::build_scripting() label_external->set_markup (_("External script files:")); _external_add_btn.set_tooltip_text(_("Add the current file name or browse for a file")); - _external_add_btn.set_image(*manage(Glib::wrap(gtk_image_new_from_stock ( GTK_STOCK_ADD, GTK_ICON_SIZE_SMALL_TOOLBAR ) ))); +#if GTK_CHECK_VERSION(3,10,0) + _external_add_btn.set_image_from_icon_name(INKSCAPE_ICON("list-add"), Gtk::ICON_SIZE_SMALL_TOOLBAR); +#else + Gtk::Image *image_ext_add = Gtk::manage(new Gtk::Image()); + image_ext_add->set_from_icon_name(INKSCAPE_ICON("list-add"), Gtk::ICON_SIZE_SMALL_TOOLBAR); + _external_add_btn.set_image(*image_ext_add); +#endif _external_remove_btn.set_tooltip_text(_("Remove")); - _external_remove_btn.set_image(*manage(Glib::wrap(gtk_image_new_from_stock ( GTK_STOCK_REMOVE, GTK_ICON_SIZE_SMALL_TOOLBAR ) ))); - +#if GTK_CHECK_VERSION(3,10,0) + _external_remove_btn.set_image_from_icon_name(INKSCAPE_ICON("list-remove"), Gtk::ICON_SIZE_SMALL_TOOLBAR); +#else + Gtk::Image *image_ext_rm = Gtk::manage(new Gtk::Image()); + image_ext_rm->set_from_icon_name(INKSCAPE_ICON("list-remove"), Gtk::ICON_SIZE_SMALL_TOOLBAR); + _external_remove_btn.set_image(*image_ext_rm); +#endif _page_external_scripts->set_spacing(4); gint row = 0; @@ -812,10 +836,22 @@ void DocumentProperties::build_scripting() label_embedded->set_markup (_("Embedded script files:")); _embed_new_btn.set_tooltip_text(_("New")); - _embed_new_btn.set_image(*manage(Glib::wrap(gtk_image_new_from_stock ( GTK_STOCK_ADD, GTK_ICON_SIZE_SMALL_TOOLBAR ) ))); +#if GTK_CHECK_VERSION(3,10,0) + _embed_new_btn.set_image_from_icon_name(INKSCAPE_ICON("list-add"), Gtk::ICON_SIZE_SMALL_TOOLBAR); +#else + Gtk::Image *image_embed_new = Gtk::manage(new Gtk::Image()); + image_embed_new->set_from_icon_name(INKSCAPE_ICON("list-add"), Gtk::ICON_SIZE_SMALL_TOOLBAR); + _embed_new_btn.set_image(*image_embed_new); +#endif _embed_remove_btn.set_tooltip_text(_("Remove")); - _embed_remove_btn.set_image(*manage(Glib::wrap(gtk_image_new_from_stock ( GTK_STOCK_REMOVE, GTK_ICON_SIZE_SMALL_TOOLBAR ) ))); +#if GTK_CHECK_VERSION(3,10,0) + _embed_remove_btn.set_image_from_icon_name(INKSCAPE_ICON("list-remove"), Gtk::ICON_SIZE_SMALL_TOOLBAR); +#else + Gtk::Image *image_embed_rm = Gtk::manage(new Gtk::Image()); + image_embed_rm->set_from_icon_name(INKSCAPE_ICON("list-remove"), Gtk::ICON_SIZE_SMALL_TOOLBAR); + _embed_remove_btn.set_image(*image_embed_rm); +#endif #if !WITH_GTKMM_3_0 // TODO: This has been removed from Gtkmm 3.0. Check that diff --git a/src/ui/dialog/export.cpp b/src/ui/dialog/export.cpp index 2cfdacb3d..e896b9840 100644 --- a/src/ui/dialog/export.cpp +++ b/src/ui/dialog/export.cpp @@ -1295,8 +1295,8 @@ void Export::onBrowse () fs = gtk_file_chooser_dialog_new (_("Select a filename for exporting"), (GtkWindow*)desktop->getToplevel(), GTK_FILE_CHOOSER_ACTION_SAVE, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, + _("_Cancel"), GTK_RESPONSE_CANCEL, + _("_Save"), GTK_RESPONSE_ACCEPT, NULL ); #ifdef WITH_GNOME_VFS diff --git a/src/ui/dialog/layers.cpp b/src/ui/dialog/layers.cpp index 12fdf6b7d..381810f1e 100644 --- a/src/ui/dialog/layers.cpp +++ b/src/ui/dialog/layers.cpp @@ -881,30 +881,30 @@ LayersPanel::LayersPanel() : SPDesktop* targetDesktop = getDesktop(); Gtk::Button* btn = manage( new Gtk::Button() ); - _styleButton( *btn, targetDesktop, SP_VERB_LAYER_NEW, GTK_STOCK_ADD, C_("Layers", "New") ); + _styleButton( *btn, targetDesktop, SP_VERB_LAYER_NEW, INKSCAPE_ICON("list-add"), C_("Layers", "New") ); btn->signal_clicked().connect( sigc::bind( sigc::mem_fun(*this, &LayersPanel::_takeAction), (int)BUTTON_NEW) ); _buttonsSecondary.pack_start(*btn, Gtk::PACK_SHRINK); btn = manage( new Gtk::Button() ); - _styleButton( *btn, targetDesktop, SP_VERB_LAYER_TO_BOTTOM, GTK_STOCK_GOTO_BOTTOM, C_("Layers", "Bot") ); + _styleButton( *btn, targetDesktop, SP_VERB_LAYER_TO_BOTTOM, INKSCAPE_ICON("go-bottom"), C_("Layers", "Bot") ); btn->signal_clicked().connect( sigc::bind( sigc::mem_fun(*this, &LayersPanel::_takeAction), (int)BUTTON_BOTTOM) ); _watchingNonBottom.push_back( btn ); _buttonsPrimary.pack_end(*btn, Gtk::PACK_SHRINK); btn = manage( new Gtk::Button() ); - _styleButton( *btn, targetDesktop, SP_VERB_LAYER_LOWER, GTK_STOCK_GO_DOWN, C_("Layers", "Dn") ); + _styleButton( *btn, targetDesktop, SP_VERB_LAYER_LOWER, INKSCAPE_ICON("go-down"), C_("Layers", "Dn") ); btn->signal_clicked().connect( sigc::bind( sigc::mem_fun(*this, &LayersPanel::_takeAction), (int)BUTTON_DOWN) ); _watchingNonBottom.push_back( btn ); _buttonsPrimary.pack_end(*btn, Gtk::PACK_SHRINK); btn = manage( new Gtk::Button() ); - _styleButton( *btn, targetDesktop, SP_VERB_LAYER_RAISE, GTK_STOCK_GO_UP, C_("Layers", "Up") ); + _styleButton( *btn, targetDesktop, SP_VERB_LAYER_RAISE, INKSCAPE_ICON("go-up"), C_("Layers", "Up") ); btn->signal_clicked().connect( sigc::bind( sigc::mem_fun(*this, &LayersPanel::_takeAction), (int)BUTTON_UP) ); _watchingNonTop.push_back( btn ); _buttonsPrimary.pack_end(*btn, Gtk::PACK_SHRINK); btn = manage( new Gtk::Button() ); - _styleButton( *btn, targetDesktop, SP_VERB_LAYER_TO_TOP, GTK_STOCK_GOTO_TOP, C_("Layers", "Top") ); + _styleButton( *btn, targetDesktop, SP_VERB_LAYER_TO_TOP, INKSCAPE_ICON("go-top"), C_("Layers", "Top") ); btn->signal_clicked().connect( sigc::bind( sigc::mem_fun(*this, &LayersPanel::_takeAction), (int)BUTTON_TOP) ); _watchingNonTop.push_back( btn ); _buttonsPrimary.pack_end(*btn, Gtk::PACK_SHRINK); @@ -914,7 +914,7 @@ LayersPanel::LayersPanel() : // _buttonsRow.add( *btn ); btn = manage( new Gtk::Button() ); - _styleButton( *btn, targetDesktop, SP_VERB_LAYER_DELETE, GTK_STOCK_REMOVE, _("X") ); + _styleButton( *btn, targetDesktop, SP_VERB_LAYER_DELETE, INKSCAPE_ICON("list-remove"), _("X") ); btn->signal_clicked().connect( sigc::bind( sigc::mem_fun(*this, &LayersPanel::_takeAction), (int)BUTTON_DELETE) ); _watching.push_back( btn ); _buttonsSecondary.pack_start(*btn, Gtk::PACK_SHRINK); @@ -944,8 +944,8 @@ LayersPanel::LayersPanel() : _popupMenu.append(*manage(new Gtk::SeparatorMenuItem())); - _watchingNonTop.push_back( &_addPopupItem( targetDesktop, SP_VERB_LAYER_RAISE, GTK_STOCK_GO_UP, "Up", (int)BUTTON_UP ) ); - _watchingNonBottom.push_back( &_addPopupItem( targetDesktop, SP_VERB_LAYER_LOWER, GTK_STOCK_GO_DOWN, "Down", (int)BUTTON_DOWN ) ); + _watchingNonTop.push_back( &_addPopupItem( targetDesktop, SP_VERB_LAYER_RAISE, INKSCAPE_ICON("go-up"), "Up", (int)BUTTON_UP ) ); + _watchingNonBottom.push_back( &_addPopupItem( targetDesktop, SP_VERB_LAYER_LOWER, INKSCAPE_ICON("go-down"), "Down", (int)BUTTON_DOWN ) ); _popupMenu.show_all_children(); } diff --git a/src/ui/dialog/livepatheffect-editor.cpp b/src/ui/dialog/livepatheffect-editor.cpp index 30b16cee0..b81b300e2 100644 --- a/src/ui/dialog/livepatheffect-editor.cpp +++ b/src/ui/dialog/livepatheffect-editor.cpp @@ -107,19 +107,43 @@ LivePathEffectEditor::LivePathEffectEditor() effectcontrol_frame.add(effectcontrol_vbox); button_add.set_tooltip_text(_("Add path effect")); - button_add.set_image(*manage(Glib::wrap(gtk_image_new_from_stock ( GTK_STOCK_ADD, GTK_ICON_SIZE_SMALL_TOOLBAR ) ))); +#if GTK_CHECK_VERSION(3,10,0) + button_add.set_image_from_icon_name(INKSCAPE_ICON("list-add"), Gtk::ICON_SIZE_SMALL_TOOLBAR); +#else + Gtk::Image *image_add = Gtk::manage(new Gtk::Image()); + image_add->set_from_icon_name(INKSCAPE_ICON("list-add"), Gtk::ICON_SIZE_SMALL_TOOLBAR); + button_add.set_image(*image_add); +#endif button_add.set_relief(Gtk::RELIEF_NONE); button_remove.set_tooltip_text(_("Delete current path effect")); - button_remove.set_image(*manage(Glib::wrap(gtk_image_new_from_stock ( GTK_STOCK_REMOVE, GTK_ICON_SIZE_SMALL_TOOLBAR ) ))); +#if GTK_CHECK_VERSION(3,10,0) + button_remove.set_image_from_icon_name(INKSCAPE_ICON("list-remove"), Gtk::ICON_SIZE_SMALL_TOOLBAR); +#else + Gtk::Image *image_remove = Gtk::manage(new Gtk::Image()); + image_remove->set_from_icon_name(INKSCAPE_ICON("list-remove"), Gtk::ICON_SIZE_SMALL_TOOLBAR); + button_remove.set_image(*image_remove); +#endif button_remove.set_relief(Gtk::RELIEF_NONE); button_up.set_tooltip_text(_("Raise the current path effect")); - button_up.set_image(*manage(Glib::wrap(gtk_image_new_from_stock ( GTK_STOCK_GO_UP, GTK_ICON_SIZE_SMALL_TOOLBAR ) ))); +#if GTK_CHECK_VERSION(3,10,0) + button_up.set_image_from_icon_name(INKSCAPE_ICON("go-up"), Gtk::ICON_SIZE_SMALL_TOOLBAR); +#else + Gtk::Image *image_up = Gtk::manage(new Gtk::Image()); + image_up->set_from_icon_name(INKSCAPE_ICON("go-up"), Gtk::ICON_SIZE_SMALL_TOOLBAR); + button_up.set_image(*image_up); +#endif button_up.set_relief(Gtk::RELIEF_NONE); button_down.set_tooltip_text(_("Lower the current path effect")); - button_down.set_image(*manage(Glib::wrap(gtk_image_new_from_stock ( GTK_STOCK_GO_DOWN, GTK_ICON_SIZE_SMALL_TOOLBAR ) ))); +#if GTK_CHECK_VERSION(3,10,0) + button_down.set_image_from_icon_name(INKSCAPE_ICON("go-down"), Gtk::ICON_SIZE_SMALL_TOOLBAR); +#else + Gtk::Image *image_down = Gtk::manage(new Gtk::Image()); + image_down->set_from_icon_name(INKSCAPE_ICON("go-down"), Gtk::ICON_SIZE_SMALL_TOOLBAR); + button_down.set_image(*image_down); +#endif button_down.set_relief(Gtk::RELIEF_NONE); // Add toolbar items to toolbar diff --git a/src/ui/dialog/ocaldialogs.cpp b/src/ui/dialog/ocaldialogs.cpp index 417df9a27..93fcab863 100644 --- a/src/ui/dialog/ocaldialogs.cpp +++ b/src/ui/dialog/ocaldialogs.cpp @@ -43,6 +43,7 @@ #include #include #include +#include "ui/icon-names.h" namespace Inkscape { @@ -578,8 +579,8 @@ SearchEntry::SearchEntry() : Gtk::Entry() signal_changed().connect(sigc::mem_fun(*this, &SearchEntry::_on_changed)); signal_icon_press().connect(sigc::mem_fun(*this, &SearchEntry::_on_icon_pressed)); - set_icon_from_stock(Gtk::Stock::FIND, Gtk::ENTRY_ICON_PRIMARY); - gtk_entry_set_icon_from_stock(gobj(), GTK_ENTRY_ICON_SECONDARY, NULL); + set_icon_from_icon_name(INKSCAPE_ICON("edit-find"), Gtk::ENTRY_ICON_PRIMARY); + gtk_entry_set_icon_from_icon_name(gobj(), GTK_ENTRY_ICON_SECONDARY, NULL); } void SearchEntry::_on_icon_pressed(Gtk::EntryIconPosition icon_position, const GdkEventButton* /*event*/) @@ -596,9 +597,9 @@ void SearchEntry::_on_icon_pressed(Gtk::EntryIconPosition icon_position, const G void SearchEntry::_on_changed() { if (get_text().empty()) { - gtk_entry_set_icon_from_stock(gobj(), GTK_ENTRY_ICON_SECONDARY, NULL); + gtk_entry_set_icon_from_icon_name(gobj(), GTK_ENTRY_ICON_SECONDARY, NULL); } else { - set_icon_from_stock(Gtk::Stock::CLEAR, Gtk::ENTRY_ICON_SECONDARY); + set_icon_from_icon_name(INKSCAPE_ICON("edit-clear"), Gtk::ENTRY_ICON_SECONDARY); } } #endif diff --git a/src/ui/dialog/text-edit.cpp b/src/ui/dialog/text-edit.cpp index 9124681a0..17c29c69f 100644 --- a/src/ui/dialog/text-edit.cpp +++ b/src/ui/dialog/text-edit.cpp @@ -94,10 +94,10 @@ TextEdit::TextEdit() fontsel_hbox.pack_start(*Gtk::manage(Glib::wrap(fontsel)), true, true); /* Align buttons */ - styleButton(&align_left, _("Align left"), GTK_STOCK_JUSTIFY_LEFT, NULL); - styleButton(&align_center, _("Align center"), GTK_STOCK_JUSTIFY_CENTER, &align_left); - styleButton(&align_right, _("Align right"), GTK_STOCK_JUSTIFY_RIGHT, &align_left); - styleButton(&align_justify, _("Justify (only flowed text)"), GTK_STOCK_JUSTIFY_FILL, &align_left); + styleButton(&align_left, _("Align left"), INKSCAPE_ICON("format-justify-left"), NULL); + styleButton(&align_center, _("Align center"), INKSCAPE_ICON("format-justify-center"), &align_left); + styleButton(&align_right, _("Align right"), INKSCAPE_ICON("format-justify-right"), &align_left); + styleButton(&align_justify, _("Justify (only flowed text)"), INKSCAPE_ICON("format-justify-fill"), &align_left); #if WITH_GTKMM_3_0 align_sep.set_orientation(Gtk::ORIENTATION_VERTICAL); @@ -237,7 +237,7 @@ void TextEdit::styleButton(Gtk::RadioButton *button, gchar const *tooltip, gchar { GtkWidget *icon = sp_icon_new( Inkscape::ICON_SIZE_SMALL_TOOLBAR, icon_name ); if (!GTK_IS_IMAGE(icon)) { - icon = gtk_image_new_from_stock ( icon_name, GTK_ICON_SIZE_SMALL_TOOLBAR ); + icon = gtk_image_new_from_icon_name ( icon_name, GTK_ICON_SIZE_SMALL_TOOLBAR ); } if (group_button) { diff --git a/src/verbs.cpp b/src/verbs.cpp index 329e63115..8b333383f 100644 --- a/src/verbs.cpp +++ b/src/verbs.cpp @@ -2353,19 +2353,19 @@ Verb *Verb::_base_verbs[] = { // File new FileVerb(SP_VERB_FILE_NEW, "FileNew", N_("Default"), N_("Create new document from the default template"), - GTK_STOCK_NEW ), + INKSCAPE_ICON("document-new")), new FileVerb(SP_VERB_FILE_OPEN, "FileOpen", N_("_Open..."), - N_("Open an existing document"), GTK_STOCK_OPEN ), + N_("Open an existing document"), INKSCAPE_ICON("document-open")), new FileVerb(SP_VERB_FILE_REVERT, "FileRevert", N_("Re_vert"), - N_("Revert to the last saved version of document (changes will be lost)"), GTK_STOCK_REVERT_TO_SAVED ), + N_("Revert to the last saved version of document (changes will be lost)"), INKSCAPE_ICON("document-revert")), new FileVerb(SP_VERB_FILE_SAVE, "FileSave", N_("_Save"), N_("Save document"), - GTK_STOCK_SAVE ), + INKSCAPE_ICON("document-save")), new FileVerb(SP_VERB_FILE_SAVE_AS, "FileSaveAs", N_("Save _As..."), - N_("Save document under a new name"), GTK_STOCK_SAVE_AS ), + N_("Save document under a new name"), INKSCAPE_ICON("document-save-as")), new FileVerb(SP_VERB_FILE_SAVE_A_COPY, "FileSaveACopy", N_("Save a Cop_y..."), N_("Save a copy of the document under a new name"), NULL ), new FileVerb(SP_VERB_FILE_PRINT, "FilePrint", N_("_Print..."), N_("Print document"), - GTK_STOCK_PRINT ), + INKSCAPE_ICON("document-print")), // TRANSLATORS: "Vacuum Defs" means "Clean up defs" (so as to remove unused definitions) new FileVerb(SP_VERB_FILE_VACUUM, "FileVacuum", N_("Clean _up document"), N_("Remove unused definitions (such as gradients or clipping paths) from the <defs> of the document"), INKSCAPE_ICON("document-cleanup") ), @@ -2381,22 +2381,22 @@ Verb *Verb::_base_verbs[] = { new FileVerb(SP_VERB_FILE_PREV_DESKTOP, "PrevWindow", N_("P_revious Window"), N_("Switch to the previous document window"), INKSCAPE_ICON("window-previous")), new FileVerb(SP_VERB_FILE_CLOSE_VIEW, "FileClose", N_("_Close"), - N_("Close this document window"), GTK_STOCK_CLOSE), - new FileVerb(SP_VERB_FILE_QUIT, "FileQuit", N_("_Quit"), N_("Quit Inkscape"), GTK_STOCK_QUIT), + N_("Close this document window"), INKSCAPE_ICON("window-close")), + new FileVerb(SP_VERB_FILE_QUIT, "FileQuit", N_("_Quit"), N_("Quit Inkscape"), INKSCAPE_ICON("application-exit")), new FileVerb(SP_VERB_FILE_TEMPLATES, "FileTemplates", N_("_Templates..."), N_("Create new project from template"), INKSCAPE_ICON("dialog-templates")), // Edit new EditVerb(SP_VERB_EDIT_UNDO, "EditUndo", N_("_Undo"), N_("Undo last action"), - GTK_STOCK_UNDO), + INKSCAPE_ICON("edit-undo")), new EditVerb(SP_VERB_EDIT_REDO, "EditRedo", N_("_Redo"), - N_("Do again the last undone action"), GTK_STOCK_REDO), + N_("Do again the last undone action"), INKSCAPE_ICON("edit-redo")), new EditVerb(SP_VERB_EDIT_CUT, "EditCut", N_("Cu_t"), - N_("Cut selection to clipboard"), GTK_STOCK_CUT), + N_("Cut selection to clipboard"), INKSCAPE_ICON("edit-cut")), new EditVerb(SP_VERB_EDIT_COPY, "EditCopy", N_("_Copy"), - N_("Copy selection to clipboard"), GTK_STOCK_COPY), + N_("Copy selection to clipboard"), INKSCAPE_ICON("edit-copy")), new EditVerb(SP_VERB_EDIT_PASTE, "EditPaste", N_("_Paste"), - N_("Paste objects from clipboard to mouse point, or paste text"), GTK_STOCK_PASTE), + N_("Paste objects from clipboard to mouse point, or paste text"), INKSCAPE_ICON("edit-paste")), new EditVerb(SP_VERB_EDIT_PASTE_STYLE, "EditPasteStyle", N_("Paste _Style"), N_("Apply the style of the copied object to selection"), INKSCAPE_ICON("edit-paste-style")), new EditVerb(SP_VERB_EDIT_PASTE_SIZE, "EditPasteSize", N_("Paste Si_ze"), @@ -2420,7 +2420,7 @@ Verb *Verb::_base_verbs[] = { new EditVerb(SP_VERB_EDIT_REMOVE_FILTER, "RemoveFilter", N_("_Remove Filters"), N_("Remove any filters from selected objects"), NULL), new EditVerb(SP_VERB_EDIT_DELETE, "EditDelete", N_("_Delete"), - N_("Delete selection"), GTK_STOCK_DELETE), + N_("Delete selection"), INKSCAPE_ICON("edit-delete")), new EditVerb(SP_VERB_EDIT_DUPLICATE, "EditDuplicate", N_("Duplic_ate"), N_("Duplicate selected objects"), INKSCAPE_ICON("edit-duplicate")), new EditVerb(SP_VERB_EDIT_CLONE, "EditClone", N_("Create Clo_ne"), @@ -2448,19 +2448,19 @@ Verb *Verb::_base_verbs[] = { new EditVerb(SP_VERB_EDIT_CLEAR_ALL, "EditClearAll", N_("Clea_r All"), N_("Delete all objects from document"), NULL), new EditVerb(SP_VERB_EDIT_SELECT_ALL, "EditSelectAll", N_("Select Al_l"), - N_("Select all objects or all nodes"), GTK_STOCK_SELECT_ALL), + N_("Select all objects or all nodes"), INKSCAPE_ICON("edit-select-all")), new EditVerb(SP_VERB_EDIT_SELECT_ALL_IN_ALL_LAYERS, "EditSelectAllInAllLayers", N_("Select All in All La_yers"), N_("Select all objects in all visible and unlocked layers"), INKSCAPE_ICON("edit-select-all-layers")), new EditVerb(SP_VERB_EDIT_SELECT_SAME_FILL_STROKE, "EditSelectSameFillStroke", N_("Fill _and Stroke"), - N_("Select all objects with the same fill and stroke as the selected objects"), GTK_STOCK_SELECT_ALL), + N_("Select all objects with the same fill and stroke as the selected objects"), INKSCAPE_ICON("edit-select-all")), new EditVerb(SP_VERB_EDIT_SELECT_SAME_FILL_COLOR, "EditSelectSameFillColor", N_("_Fill Color"), - N_("Select all objects with the same fill as the selected objects"), GTK_STOCK_SELECT_ALL), + N_("Select all objects with the same fill as the selected objects"), INKSCAPE_ICON("edit-select-all")), new EditVerb(SP_VERB_EDIT_SELECT_SAME_STROKE_COLOR, "EditSelectSameStrokeColor", N_("_Stroke Color"), - N_("Select all objects with the same stroke as the selected objects"), GTK_STOCK_SELECT_ALL), + N_("Select all objects with the same stroke as the selected objects"), INKSCAPE_ICON("edit-select-all")), new EditVerb(SP_VERB_EDIT_SELECT_SAME_STROKE_STYLE, "EditSelectSameStrokeStyle", N_("Stroke St_yle"), - N_("Select all objects with the same stroke style (width, dash, markers) as the selected objects"), GTK_STOCK_SELECT_ALL), + N_("Select all objects with the same stroke style (width, dash, markers) as the selected objects"), INKSCAPE_ICON("edit-select-all")), new EditVerb(SP_VERB_EDIT_SELECT_SAME_OBJECT_TYPE, "EditSelectSameObjectType", N_("_Object Type"), - N_("Select all objects with the same object type (rect, arc, text, path, bitmap etc) as the selected objects"), GTK_STOCK_SELECT_ALL), + N_("Select all objects with the same object type (rect, arc, text, path, bitmap etc) as the selected objects"), INKSCAPE_ICON("edit-select-all")), new EditVerb(SP_VERB_EDIT_INVERT, "EditInvert", N_("In_vert Selection"), N_("Invert selection (unselect what is selected and select everything else)"), INKSCAPE_ICON("edit-select-invert")), new EditVerb(SP_VERB_EDIT_INVERT_IN_ALL_LAYERS, "EditInvertInAllLayers", N_("Invert in All Layers"), @@ -2808,18 +2808,20 @@ Verb *Verb::_base_verbs[] = { // Dialogs new DialogVerb(SP_VERB_DIALOG_DISPLAY, "DialogPreferences", N_("P_references..."), - N_("Edit global Inkscape preferences"), GTK_STOCK_PREFERENCES ), + N_("Edit global Inkscape preferences"), INKSCAPE_ICON("preferences-system")), new DialogVerb(SP_VERB_DIALOG_NAMEDVIEW, "DialogDocumentProperties", N_("_Document Properties..."), - N_("Edit properties of this document (to be saved with the document)"), GTK_STOCK_PROPERTIES ), + N_("Edit properties of this document (to be saved with the document)"), INKSCAPE_ICON("document-properties")), new DialogVerb(SP_VERB_DIALOG_METADATA, "DialogMetadata", N_("Document _Metadata..."), N_("Edit document metadata (to be saved with the document)"), INKSCAPE_ICON("document-metadata") ), new DialogVerb(SP_VERB_DIALOG_FILL_STROKE, "DialogFillStroke", N_("_Fill and Stroke..."), N_("Edit objects' colors, gradients, arrowheads, and other fill and stroke properties..."), INKSCAPE_ICON("dialog-fill-and-stroke")), + // FIXME: Probably better to either use something from the icon naming spec or ship our own "select-font" icon new DialogVerb(SP_VERB_DIALOG_GLYPHS, "DialogGlyphs", N_("Gl_yphs..."), - N_("Select characters from a glyphs palette"), GTK_STOCK_SELECT_FONT), + N_("Select characters from a glyphs palette"), INKSCAPE_ICON("gtk-select-font")), + // FIXME: Probably better to either use something from the icon naming spec or ship our own "select-color" icon // TRANSLATORS: "Swatches" means: color samples new DialogVerb(SP_VERB_DIALOG_SWATCHES, "DialogSwatches", N_("S_watches..."), - N_("Select colors from a swatches palette"), GTK_STOCK_SELECT_COLOR), + N_("Select colors from a swatches palette"), INKSCAPE_ICON("gtk-select-color")), new DialogVerb(SP_VERB_DIALOG_SYMBOLS, "DialogSymbols", N_("S_ymbols..."), N_("Select symbol from a symbols palette"), INKSCAPE_ICON("symbols")), new DialogVerb(SP_VERB_DIALOG_TRANSFORM, "DialogTransform", N_("Transfor_m..."), @@ -2835,11 +2837,11 @@ Verb *Verb::_base_verbs[] = { new DialogVerb(SP_VERB_DIALOG_XML_EDITOR, "DialogXMLEditor", N_("_XML Editor..."), N_("View and edit the XML tree of the document"), INKSCAPE_ICON("dialog-xml-editor")), new DialogVerb(SP_VERB_DIALOG_FIND, "DialogFind", N_("_Find/Replace..."), - N_("Find objects in document"), GTK_STOCK_FIND ), + N_("Find objects in document"), INKSCAPE_ICON("edit-find")), new DialogVerb(SP_VERB_DIALOG_FINDREPLACE, "DialogFindReplace", N_("Find and _Replace Text..."), - N_("Find and replace text in document"), GTK_STOCK_FIND_AND_REPLACE ), + N_("Find and replace text in document"), INKSCAPE_ICON("edit-find-replace")), new DialogVerb(SP_VERB_DIALOG_SPELLCHECK, "DialogSpellcheck", N_("Check Spellin_g..."), - N_("Check spelling of text in document"), GTK_STOCK_SPELL_CHECK ), + N_("Check spelling of text in document"), INKSCAPE_ICON("tools-check-spelling")), new DialogVerb(SP_VERB_DIALOG_DEBUG, "DialogDebug", N_("_Messages..."), N_("View debug messages"), INKSCAPE_ICON("dialog-messages")), new DialogVerb(SP_VERB_DIALOG_TOGGLE, "DialogsToggle", N_("Show/Hide D_ialogs"), diff --git a/src/widgets/calligraphy-toolbar.cpp b/src/widgets/calligraphy-toolbar.cpp index 9f08d3462..73484d1b5 100644 --- a/src/widgets/calligraphy-toolbar.cpp +++ b/src/widgets/calligraphy-toolbar.cpp @@ -638,7 +638,7 @@ void sp_calligraphy_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions InkAction* inky = ink_action_new( "ProfileEditAction", _("Add/Edit Profile"), _("Add or edit calligraphic profile"), - GTK_STOCK_PROPERTIES, + INKSCAPE_ICON("document-properties"), Inkscape::ICON_SIZE_DECORATION ); g_object_set( inky, "short_label", _("Edit"), NULL ); g_signal_connect_after( G_OBJECT(inky), "activate", G_CALLBACK(sp_ddc_edit_profile), (GObject*)holder ); diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 7e254cdcd..e5568787b 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -1123,8 +1123,8 @@ SPDesktopWidget::shutdown() gtk_widget_show(close_button); gtk_dialog_add_action_widget(GTK_DIALOG(dialog), close_button, GTK_RESPONSE_NO); - gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); - gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_SAVE, GTK_RESPONSE_YES); + gtk_dialog_add_button(GTK_DIALOG(dialog), _("_Cancel"), GTK_RESPONSE_CANCEL); + gtk_dialog_add_button(GTK_DIALOG(dialog), _("_Save"), GTK_RESPONSE_YES); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_YES); gint response; @@ -1185,7 +1185,7 @@ SPDesktopWidget::shutdown() gtk_widget_show(save_button); gtk_dialog_add_action_widget(GTK_DIALOG(dialog), close_button, GTK_RESPONSE_NO); - gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); + gtk_dialog_add_button(GTK_DIALOG(dialog), _("_Cancel"), GTK_RESPONSE_CANCEL); gtk_dialog_add_action_widget(GTK_DIALOG(dialog), save_button, GTK_RESPONSE_YES); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_YES); diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index 5ac994509..871d1ee4c 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -36,6 +36,7 @@ #include "paint-selector.h" #include "style.h" #include "id-clash.h" +#include "ui/icon-names.h" enum { GRABBED, @@ -196,8 +197,13 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) //sel->nonsolid.push_back(hb); gtk_box_pack_start( GTK_BOX(sel), hb, FALSE, FALSE, 0 ); +#if GTK_CHECK_VERSION(3,10,0) + sel->add = gtk_button_new_from_icon_name(INKSCAPE_ICON("list-add"), GTK_ICON_SIZE_SMALL_TOOLBAR); +#else sel->add = gtk_button_new (); - gtk_button_set_image(GTK_BUTTON(sel->add), gtk_image_new_from_stock ( GTK_STOCK_ADD, GTK_ICON_SIZE_SMALL_TOOLBAR ) ); + GtkWidget *img = gtk_image_new_from_icon_name(INKSCAPE_ICON("list-add"), GTK_ICON_SIZE_SMALL_TOOLBAR); + gtk_button_set_image(GTK_BUTTON(sel->add), img); +#endif sel->nonsolid.push_back(sel->add); gtk_box_pack_start (GTK_BOX (hb), sel->add, FALSE, FALSE, 0); @@ -207,8 +213,14 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) gtk_button_set_relief(GTK_BUTTON(sel->add), GTK_RELIEF_NONE); gtk_widget_set_tooltip_text( sel->add, _("Create a duplicate gradient")); + // FIXME: Probably better to either use something from the icon naming spec or ship our own "edit-gradient" icon +#if GTK_CHECK_VERSION(3,10,0) + sel->edit = gtk_button_new_from_icon_name(INKSCAPE_ICON("gtk-edit"), GTK_ICON_SIZE_SMALL_TOOLBAR); +#else sel->edit = gtk_button_new (); - gtk_button_set_image(GTK_BUTTON(sel->edit), gtk_image_new_from_stock ( GTK_STOCK_EDIT, GTK_ICON_SIZE_SMALL_TOOLBAR ) ); + img = gtk_image_new_from_icon_name(INKSCAPE_ICON("gtk-edit"), GTK_ICON_SIZE_SMALL_TOOLBAR); + gtk_button_set_image(GTK_BUTTON(sel->edit), img); +#endif sel->nonsolid.push_back(sel->edit); gtk_box_pack_start (GTK_BOX (hb), sel->edit, FALSE, FALSE, 0); @@ -217,8 +229,13 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) gtk_button_set_relief(GTK_BUTTON(sel->edit), GTK_RELIEF_NONE); gtk_widget_set_tooltip_text( sel->edit, _("Edit gradient")); +#if GTK_CHECK_VERSION(3,10,0) + sel->del = gtk_button_new_from_icon_name(INKSCAPE_ICON("list-remove"), GTK_ICON_SIZE_SMALL_TOOLBAR); +#else sel->del = gtk_button_new (); - gtk_button_set_image(GTK_BUTTON(sel->del), gtk_image_new_from_stock ( GTK_STOCK_REMOVE, GTK_ICON_SIZE_SMALL_TOOLBAR ) ); + img = gtk_image_new_from_icon_name(INKSCAPE_ICON("list-remove"), GTK_ICON_SIZE_SMALL_TOOLBAR); + gtk_button_set_image(GTK_BUTTON(sel->del), img); +#endif sel->swatch_widgets.push_back(sel->del); gtk_box_pack_start (GTK_BOX (hb), sel->del, FALSE, FALSE, 0); diff --git a/src/widgets/icon.cpp b/src/widgets/icon.cpp index feb69cc64..6f558c84a 100644 --- a/src/widgets/icon.cpp +++ b/src/widgets/icon.cpp @@ -45,6 +45,7 @@ #include "util/units.h" #include "icon.h" +#include "ui/icon-names.h" struct IconImpl { static GtkWidget *newFull( Inkscape::IconSize lsize, gchar const *name ); @@ -790,44 +791,20 @@ GtkWidget *IconImpl::newFull( Inkscape::IconSize lsize, gchar const *name ) } GtkIconSize mappedSize = iconSizeLookup[trySize]; - GtkStockItem stock; - gboolean stockFound = gtk_stock_lookup( name, &stock ); - - GtkWidget *img = 0; if ( legacyNames.empty() ) { setupLegacyNaming(); } - if ( stockFound ) { - img = gtk_image_new_from_stock( name, mappedSize ); - } else { - img = gtk_image_new_from_icon_name( name, mappedSize ); - if ( dump ) { - g_message("gtk_image_new_from_icon_name( '%s', %d ) = %p", name, mappedSize, img); - GtkImageType thing = gtk_image_get_storage_type(GTK_IMAGE(img)); - g_message(" Type is %d %s", (int)thing, (thing == GTK_IMAGE_EMPTY ? "Empty" : "ok")); - } + GtkWidget *img = gtk_image_new_from_icon_name( name, mappedSize ); + if ( dump ) { + g_message("gtk_image_new_from_icon_name( '%s', %d ) = %p", name, mappedSize, img); + GtkImageType thing = gtk_image_get_storage_type(GTK_IMAGE(img)); + g_message(" Type is %d %s", (int)thing, (thing == GTK_IMAGE_EMPTY ? "Empty" : "ok")); } if ( img ) { GtkImageType type = gtk_image_get_storage_type( GTK_IMAGE(img) ); - if ( type == GTK_IMAGE_STOCK ) { - if ( !stockFound ) { - // It's not showing as a stock ID, so assume it will be present internally - addPreRender( mappedSize, name ); - - // Add a hook to render if set visible before prerender is done. - g_signal_connect( G_OBJECT(img), "map", G_CALLBACK(imageMapCB), GINT_TO_POINTER(static_cast(mappedSize)) ); - if ( dump ) { - g_message(" connecting %p for imageMapCB for [%s] %d", img, name, (int)mappedSize); - } - } - widget = GTK_WIDGET(img); - img = 0; - if ( dump ) { - g_message( "loaded gtk '%s' %d (GTK_IMAGE_STOCK) %s on %p", name, mappedSize, (stockFound ? "STOCK" : "local"), widget ); - } - } else if ( type == GTK_IMAGE_ICON_NAME ) { + if ( type == GTK_IMAGE_ICON_NAME ) { widget = GTK_WIDGET(img); img = 0; @@ -842,7 +819,7 @@ GtkWidget *IconImpl::newFull( Inkscape::IconSize lsize, gchar const *name ) } } else { if ( dump ) { - g_message( "skipped gtk '%s' %d (not GTK_IMAGE_STOCK)", name, lsize ); + g_message( "skipped gtk '%s' %d (not GTK_IMAGE_ICON_NAME)", name, lsize ); } //g_object_unref(G_OBJECT(img)); img = 0; @@ -1033,7 +1010,7 @@ int IconImpl::getPhysSize(int size) // "The rendered pixbuf may not even correspond to the width/height returned by // gtk_icon_size_lookup(), because themes are free to render the pixbuf however // they like, including changing the usual size." - gchar const *id = GTK_STOCK_OPEN; + gchar const *id = INKSCAPE_ICON("document-open"); GdkPixbuf *pb = gtk_widget_render_icon( icon, id, gtkSizes[i], NULL); if (pb) { width = gdk_pixbuf_get_width(pb); @@ -1334,9 +1311,9 @@ guchar *IconImpl::load_svg_pixels(std::list const &names, static void addToIconSet(GdkPixbuf* pb, gchar const* name, GtkIconSize lsize, unsigned psize) { static bool dump = Inkscape::Preferences::get()->getBool("/debug/icons/dumpGtk"); - GtkStockItem stock; - gboolean stockFound = gtk_stock_lookup( name, &stock ); - if ( !stockFound ) { + Glib::RefPtr icon_theme = Gtk::IconTheme::get_default(); + bool icon_found = icon_theme->has_icon(name); + if ( !icon_found ) { Gtk::IconTheme::add_builtin_icon( name, psize, Glib::wrap(pb) ); if (dump) { g_message(" set in a builtin for %s:%d:%d", name, lsize, psize); @@ -1346,10 +1323,8 @@ static void addToIconSet(GdkPixbuf* pb, gchar const* name, GtkIconSize lsize, un void Inkscape::queueIconPrerender( Glib::ustring const &name, Inkscape::IconSize lsize ) { - GtkStockItem stock; - gboolean stockFound = gtk_stock_lookup( name.c_str(), &stock ); gboolean themedFound = gtk_icon_theme_has_icon(gtk_icon_theme_get_default(), name.c_str()); - if (!stockFound && !themedFound ) { + if ( !themedFound ) { gint trySize = CLAMP( static_cast(lsize), 0, static_cast(G_N_ELEMENTS(iconSizeLookup) - 1) ); if ( !sizeMapDone ) { IconImpl::injectCustomSize(); @@ -1617,7 +1592,7 @@ void IconImpl::imageMapCB(GtkWidget* widget, gpointer user_data) { gchar* id = 0; GtkIconSize size = GTK_ICON_SIZE_INVALID; - gtk_image_get_stock(GTK_IMAGE(widget), &id, &size); + gtk_image_get_icon_name(GTK_IMAGE(widget), &id, &size); GtkIconSize lsize = static_cast(GPOINTER_TO_INT(user_data)); if ( id ) { int psize = getPhysSize(lsize); diff --git a/src/widgets/paintbucket-toolbar.cpp b/src/widgets/paintbucket-toolbar.cpp index 8c4de2b32..a9962b209 100644 --- a/src/widgets/paintbucket-toolbar.cpp +++ b/src/widgets/paintbucket-toolbar.cpp @@ -232,7 +232,7 @@ void sp_paintbucket_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions GtkAction* act = gtk_action_new( "PaintbucketResetAction", _("Defaults"), _("Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools to change defaults)"), - GTK_STOCK_CLEAR ); + INKSCAPE_ICON("edit-clear")); g_signal_connect_after( G_OBJECT(act), "activate", G_CALLBACK(paintbucket_defaults), holder ); gtk_action_group_add_action( mainActions, act ); gtk_action_set_sensitive( act, TRUE ); diff --git a/src/widgets/pencil-toolbar.cpp b/src/widgets/pencil-toolbar.cpp index 36f2912e9..e8296f735 100644 --- a/src/widgets/pencil-toolbar.cpp +++ b/src/widgets/pencil-toolbar.cpp @@ -321,7 +321,7 @@ void sp_pencil_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GOb InkAction* inky = ink_action_new( "PencilResetAction", _("Defaults"), _("Reset pencil parameters to defaults (use Inkscape Preferences > Tools to change defaults)"), - GTK_STOCK_CLEAR, + INKSCAPE_ICON("edit-clear"), Inkscape::ICON_SIZE_SMALL_TOOLBAR ); g_signal_connect_after( G_OBJECT(inky), "activate", G_CALLBACK(sp_pencil_tb_defaults), holder ); gtk_action_group_add_action( mainActions, GTK_ACTION(inky) ); diff --git a/src/widgets/spiral-toolbar.cpp b/src/widgets/spiral-toolbar.cpp index 7fc6d1b34..b95c1c41e 100644 --- a/src/widgets/spiral-toolbar.cpp +++ b/src/widgets/spiral-toolbar.cpp @@ -299,7 +299,7 @@ void sp_spiral_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GOb InkAction* inky = ink_action_new( "SpiralResetAction", _("Defaults"), _("Reset shape parameters to defaults (use Inkscape Preferences > Tools to change defaults)"), - GTK_STOCK_CLEAR, + INKSCAPE_ICON("edit-clear"), secondarySize ); g_signal_connect_after( G_OBJECT(inky), "activate", G_CALLBACK(sp_spl_tb_defaults), holder ); gtk_action_group_add_action( mainActions, GTK_ACTION(inky) ); diff --git a/src/widgets/star-toolbar.cpp b/src/widgets/star-toolbar.cpp index bac0271db..1691a9b25 100644 --- a/src/widgets/star-toolbar.cpp +++ b/src/widgets/star-toolbar.cpp @@ -571,7 +571,7 @@ void sp_star_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObje GtkAction* act = gtk_action_new( "StarResetAction", _("Defaults"), _("Reset shape parameters to defaults (use Inkscape Preferences > Tools to change defaults)"), - GTK_STOCK_CLEAR ); + INKSCAPE_ICON("edit-clear")); g_signal_connect_after( G_OBJECT(act), "activate", G_CALLBACK(sp_stb_defaults), holder ); gtk_action_group_add_action( mainActions, act ); gtk_action_set_sensitive( act, TRUE ); diff --git a/src/widgets/text-toolbar.cpp b/src/widgets/text-toolbar.cpp index 750fa1de6..6d5d54871 100644 --- a/src/widgets/text-toolbar.cpp +++ b/src/widgets/text-toolbar.cpp @@ -1348,7 +1348,7 @@ void sp_text_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObje gtk_list_store_set( model, &iter, 0, _("Align left"), 1, _("Align left"), - 2, GTK_STOCK_JUSTIFY_LEFT, + 2, INKSCAPE_ICON("format-justify-left"), 3, true, -1 ); @@ -1356,7 +1356,7 @@ void sp_text_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObje gtk_list_store_set( model, &iter, 0, _("Align center"), 1, _("Align center"), - 2, GTK_STOCK_JUSTIFY_CENTER, + 2, INKSCAPE_ICON("format-justify-center"), 3, true, -1 ); @@ -1364,7 +1364,7 @@ void sp_text_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObje gtk_list_store_set( model, &iter, 0, _("Align right"), 1, _("Align right"), - 2, GTK_STOCK_JUSTIFY_RIGHT, + 2, INKSCAPE_ICON("format-justify-right"), 3, true, -1 ); @@ -1372,14 +1372,14 @@ void sp_text_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObje gtk_list_store_set( model, &iter, 0, _("Justify"), 1, _("Justify (only flowed text)"), - 2, GTK_STOCK_JUSTIFY_FILL, + 2, INKSCAPE_ICON("format-justify-fill"), 3, false, -1 ); EgeSelectOneAction* act = ege_select_one_action_new( "TextAlignAction", // Name _("Alignment"), // Label _("Text alignment"), // Tooltip - NULL, // StockID + NULL, // Icon name GTK_TREE_MODEL(model) ); // Model g_object_set( act, "short_label", "NotUsed", NULL ); gtk_action_group_add_action( mainActions, GTK_ACTION(act) ); @@ -1420,7 +1420,7 @@ void sp_text_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObje EgeSelectOneAction* act = ege_select_one_action_new( "TextOrientationAction", // Name _("Orientation"), // Label _("Text orientation"), // Tooltip - NULL, // StockID + NULL, // Icon name GTK_TREE_MODEL(model) ); // Model g_object_set( act, "short_label", "NotUsed", NULL ); -- cgit v1.2.3 From 9736fbcc6bb9d293cdf195f88624f7855302687e Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Thu, 2 Jan 2014 23:18:21 +0100 Subject: fix Windows build (constness) (bzr r12869) --- src/widgets/icon.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/widgets/icon.cpp b/src/widgets/icon.cpp index 6f558c84a..db9f219e9 100644 --- a/src/widgets/icon.cpp +++ b/src/widgets/icon.cpp @@ -1590,7 +1590,7 @@ gboolean IconImpl::prerenderTask(gpointer /*data*/) { void IconImpl::imageMapCB(GtkWidget* widget, gpointer user_data) { - gchar* id = 0; + gchar const* id = NULL; GtkIconSize size = GTK_ICON_SIZE_INVALID; gtk_image_get_icon_name(GTK_IMAGE(widget), &id, &size); GtkIconSize lsize = static_cast(GPOINTER_TO_INT(user_data)); @@ -1617,7 +1617,7 @@ void IconImpl::imageMapCB(GtkWidget* widget, gpointer user_data) void IconImpl::imageMapNamedCB(GtkWidget* widget, gpointer user_data) { GtkImage* img = GTK_IMAGE(widget); - gchar const* iconName = 0; + gchar const* iconName = NULL; GtkIconSize size = GTK_ICON_SIZE_INVALID; gtk_image_get_icon_name(img, &iconName, &size); if ( iconName ) { @@ -1625,7 +1625,7 @@ void IconImpl::imageMapNamedCB(GtkWidget* widget, gpointer user_data) if ( type == GTK_IMAGE_ICON_NAME ) { gint iconSize = 0; - gchar* iconName = 0; + gchar* iconName = NULL; { g_object_get(G_OBJECT(widget), "icon-name", &iconName, -- cgit v1.2.3 From 5b77fe5686a3162e9bda07bb9f3b322c31d8a565 Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Thu, 2 Jan 2014 23:30:23 +0100 Subject: try to improve some error-prone piece of code (icon name related) (bzr r12870) --- src/widgets/icon.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/widgets/icon.cpp b/src/widgets/icon.cpp index db9f219e9..6d8ffae2b 100644 --- a/src/widgets/icon.cpp +++ b/src/widgets/icon.cpp @@ -1624,26 +1624,27 @@ void IconImpl::imageMapNamedCB(GtkWidget* widget, gpointer user_data) GtkImageType type = gtk_image_get_storage_type( GTK_IMAGE(img) ); if ( type == GTK_IMAGE_ICON_NAME ) { - gint iconSize = 0; - gchar* iconName = NULL; + GtkIconSize iconSize = GTK_ICON_SIZE_INVALID; + gchar const* iconName_two = NULL; { g_object_get(G_OBJECT(widget), - "icon-name", &iconName, + "icon-name", &iconName_two, "icon-size", &iconSize, NULL); } for ( std::vector::iterator it = pendingRenders.begin(); it != pendingRenders.end(); ++it ) { - if ( (it->_name == iconName) && (it->_lsize == size) ) { - int psize = getPhysSize(size); - prerenderIcon(iconName, size, psize); + /// @todo fix pointer string comparison here!!! "it->_name == iconName_two", that seems very bug-prone + if ( (it->_name == iconName_two) && (it->_lsize == iconSize) ) { + int psize = getPhysSize(iconSize); + prerenderIcon(iconName_two, iconSize, psize); pendingRenders.erase(it); break; } } - gtk_image_set_from_icon_name(img, "", (GtkIconSize)iconSize); - gtk_image_set_from_icon_name(img, iconName, (GtkIconSize)iconSize); + gtk_image_set_from_icon_name(img, "", iconSize); + gtk_image_set_from_icon_name(img, iconName_two, iconSize); } else { g_warning("UNEXPECTED TYPE of %d", (int)type); } -- cgit v1.2.3 From 07dc7a3fd0a0fffd0b2285a9313252b381d2a214 Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Thu, 2 Jan 2014 23:34:19 +0100 Subject: fix pointer initialization ( "0" --> "NULL") (bzr r12871) --- src/widgets/icon.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/widgets/icon.cpp b/src/widgets/icon.cpp index 6d8ffae2b..768a835c9 100644 --- a/src/widgets/icon.cpp +++ b/src/widgets/icon.cpp @@ -172,8 +172,8 @@ sp_icon_init(SPIcon *icon) gtk_widget_set_has_window (GTK_WIDGET (icon), FALSE); icon->lsize = Inkscape::ICON_SIZE_BUTTON; icon->psize = 0; - icon->name = 0; - icon->pb = 0; + icon->name = NULL; + icon->pb = NULL; } void IconImpl::dispose(GObject *object) @@ -182,7 +182,7 @@ void IconImpl::dispose(GObject *object) clear(icon); if ( icon->name ) { g_free( icon->name ); - icon->name = 0; + icon->name = NULL; } (G_OBJECT_CLASS(sp_icon_parent_class))->dispose(object); @@ -325,7 +325,7 @@ void IconImpl::fetchPixbuf( SPIcon *icon ) GdkPixbuf* IconImpl::renderup( gchar const* name, Inkscape::IconSize lsize, unsigned psize ) { GtkIconTheme *theme = gtk_icon_theme_get_default(); - GdkPixbuf *pb = 0; + GdkPixbuf *pb = NULL; if (gtk_icon_theme_has_icon(theme, name)) { pb = gtk_icon_theme_load_icon(theme, name, psize, (GtkIconLookupFlags) 0, NULL); } @@ -452,13 +452,13 @@ void IconImpl::validateCache() std::string present; { - gchar *contents = 0; + gchar *contents = NULL; if ( g_file_get_contents(iconCacheFile.c_str(), &contents, 0, 0) ) { if ( contents ) { present = contents; } g_free(contents); - contents = 0; + contents = NULL; } } bool cacheValid = (present == wanted); @@ -784,7 +784,7 @@ GtkWidget *IconImpl::newFull( Inkscape::IconSize lsize, gchar const *name ) { static bool dump = Inkscape::Preferences::get()->getBool("/debug/icons/dumpGtk"); - GtkWidget *widget = 0; + GtkWidget *widget = NULL; gint trySize = CLAMP( static_cast(lsize), 0, static_cast(G_N_ELEMENTS(iconSizeLookup) - 1) ); if ( !sizeMapDone ) { injectCustomSize(); @@ -806,7 +806,7 @@ GtkWidget *IconImpl::newFull( Inkscape::IconSize lsize, gchar const *name ) GtkImageType type = gtk_image_get_storage_type( GTK_IMAGE(img) ); if ( type == GTK_IMAGE_ICON_NAME ) { widget = GTK_WIDGET(img); - img = 0; + img = NULL; // Add a hook to render if set visible before prerender is done. g_signal_connect( G_OBJECT(widget), "map", G_CALLBACK(imageMapNamedCB), GINT_TO_POINTER(0) ); @@ -822,7 +822,7 @@ GtkWidget *IconImpl::newFull( Inkscape::IconSize lsize, gchar const *name ) g_message( "skipped gtk '%s' %d (not GTK_IMAGE_ICON_NAME)", name, lsize ); } //g_object_unref(G_OBJECT(img)); - img = 0; + img = NULL; } } @@ -855,7 +855,7 @@ GdkPixbuf *sp_pixbuf_new( Inkscape::IconSize lsize, gchar const *name ) // PUBLIC CALL: Gtk::Widget *sp_icon_get_icon( Glib::ustring const &oid, Inkscape::IconSize size ) { - Gtk::Widget *result = 0; + Gtk::Widget *result = NULL; GtkWidget *widget = IconImpl::newFull( static_cast(Inkscape::getRegisteredIconSize(size)), oid.c_str() ); if ( widget ) { @@ -1242,7 +1242,7 @@ Glib::ustring icon_cache_key(Glib::ustring const & name, unsigned psize) } GdkPixbuf *get_cached_pixbuf(Glib::ustring const &key) { - GdkPixbuf* pb = 0; + GdkPixbuf* pb = NULL; std::map::iterator found = pb_cache.find(key); if ( found != pb_cache.end() ) { pb = found->second; @@ -1276,7 +1276,7 @@ guchar *IconImpl::load_svg_pixels(std::list const &names, guchar *px = NULL; for (std::list::iterator i = sources.begin(); (i != sources.end()) && !px; ++i) { gchar *doc_filename = *i; - SVGDocCache *info = 0; + SVGDocCache *info = NULL; // Did we already load this doc? Glib::ustring key(doc_filename); -- cgit v1.2.3 From 25bea5005bdd07e3807c04ce7942786571344ac2 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Fri, 3 Jan 2014 10:33:30 +0000 Subject: Stop using GTK_IS_HBOX: Deprecated in Gtk+ 3 (bzr r12872) --- src/ege-adjustment-action.cpp | 2 +- src/ege-output-action.cpp | 2 +- src/ege-select-one-action.cpp | 4 ++-- src/interface.cpp | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ege-adjustment-action.cpp b/src/ege-adjustment-action.cpp index 7e92c1bec..9491468dc 100644 --- a/src/ege-adjustment-action.cpp +++ b/src/ege-adjustment-action.cpp @@ -983,7 +983,7 @@ static gboolean process_tab( GtkWidget* widget, int direction ) if ( mid && GTK_IS_TOOL_ITEM(mid->data) ) { /* potential target */ GtkWidget* child = gtk_bin_get_child( GTK_BIN(mid->data) ); - if ( child && GTK_IS_HBOX(child) ) { /* could be ours */ + if ( child && GTK_IS_BOX(child) ) { /* could be ours */ GList* subChildren = gtk_container_get_children( GTK_CONTAINER(child) ); if ( subChildren ) { GList* last = g_list_last(subChildren); diff --git a/src/ege-output-action.cpp b/src/ege-output-action.cpp index 214bd4b29..9a7d7e318 100644 --- a/src/ege-output-action.cpp +++ b/src/ege-output-action.cpp @@ -221,7 +221,7 @@ void fixup_labels( GObject *gobject, GParamSpec *arg1, gpointer user_data ) /* Search for the things we built up in create_tool_item() */ GList* children = gtk_container_get_children( GTK_CONTAINER(proxies->data) ); if ( children && children->data ) { - if ( GTK_IS_HBOX(children->data) ) { + if ( GTK_IS_BOX(children->data) ) { children = gtk_container_get_children( GTK_CONTAINER(children->data) ); if ( children && g_list_next(children) ) { GtkWidget* child = GTK_WIDGET( g_list_next(children)->data ); diff --git a/src/ege-select-one-action.cpp b/src/ege-select-one-action.cpp index 184d1afb4..3facf7242 100644 --- a/src/ege-select-one-action.cpp +++ b/src/ege-select-one-action.cpp @@ -866,7 +866,7 @@ void resync_active( EgeSelectOneAction* act, gint active, gboolean override ) } else if ( gtk_combo_box_get_active(combo) != active ) { gtk_combo_box_set_active( combo, active ); } - } else if ( GTK_IS_HBOX(children->data) ) { + } else if ( GTK_IS_BOX(children->data) ) { gpointer data = g_object_get_data( G_OBJECT(children->data), "ege-proxy_action-group" ); if ( data ) { GSList* group = (GSList*)data; @@ -921,7 +921,7 @@ void resync_sensitive( EgeSelectOneAction* act ) } if ( GTK_IS_COMBO_BOX(combodata) ) { /* Not implemented */ - } else if ( GTK_IS_HBOX(children->data) ) { + } else if ( GTK_IS_BOX(children->data) ) { gpointer data = g_object_get_data( G_OBJECT(children->data), "ege-proxy_action-group" ); if ( data ) { GSList* group = (GSList*)data; diff --git a/src/interface.cpp b/src/interface.cpp index 881dbbc0c..bdbedd311 100644 --- a/src/interface.cpp +++ b/src/interface.cpp @@ -1418,13 +1418,13 @@ sp_ui_menu_item_set_name(GtkWidget *data, Glib::ustring const &name) if (data || GTK_IS_BIN (data)) { void *child = gtk_bin_get_child (GTK_BIN (data)); //child is either - //- a GtkHBox, whose first child is a label displaying name if the menu + //- a GtkBox, whose first child is a label displaying name if the menu //item has an accel key //- a GtkLabel if the menu has no accel key if (child != NULL){ if (GTK_IS_LABEL(child)) { gtk_label_set_markup_with_mnemonic(GTK_LABEL (child), name.c_str()); - } else if (GTK_IS_HBOX(child)) { + } else if (GTK_IS_BOX(child)) { gtk_label_set_markup_with_mnemonic( GTK_LABEL (gtk_container_get_children(GTK_CONTAINER (child))->data), name.c_str()); -- cgit v1.2.3 From f7ae74c614b0c845881446bb603bd6ff6afeef72 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Fri, 3 Jan 2014 14:21:14 +0000 Subject: gimpspinscale (upstream #85a09): Fix drag issue (bzr r12873) --- src/ui/widget/gimpspinscale.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/ui/widget/gimpspinscale.c b/src/ui/widget/gimpspinscale.c index f9f9a3807..1ead03c8b 100644 --- a/src/ui/widget/gimpspinscale.c +++ b/src/ui/widget/gimpspinscale.c @@ -174,6 +174,13 @@ gimp_spin_scale_init (GimpSpinScale *scale) { GimpSpinScalePrivate *private = GET_PRIVATE (scale); + gtk_widget_add_events (GTK_WIDGET (scale), + GDK_BUTTON_PRESS_MASK | + GDK_BUTTON_RELEASE_MASK | + GDK_POINTER_MOTION_MASK | + GDK_BUTTON1_MOTION_MASK | + GDK_LEAVE_NOTIFY_MASK); + gtk_entry_set_alignment (GTK_ENTRY (scale), 1.0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (scale), TRUE); @@ -329,10 +336,8 @@ gimp_spin_scale_size_request (GtkWidget *widget, } else { requisition->height += height; } - #endif - if (private->label) { gint char_width; @@ -845,6 +850,9 @@ gimp_spin_scale_motion_notify (GtkWidget *widget, GdkEventMotion *event) { GimpSpinScalePrivate *private = GET_PRIVATE (widget); + + gdk_event_request_motions (event); + #if WITH_GTKMM_3_0 gint x, y; -- cgit v1.2.3 From b7c9ebe0af543b23ebb13f008e36014499e30bd6 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Fri, 3 Jan 2014 15:18:14 +0000 Subject: gimpspinscale (upstream #ce8ae): Fix text rendering on dark bg (bzr r12874) --- src/ui/widget/gimpspinscale.c | 197 ++++++++++++++++++++++++++++++------------ 1 file changed, 141 insertions(+), 56 deletions(-) diff --git a/src/ui/widget/gimpspinscale.c b/src/ui/widget/gimpspinscale.c index 1ead03c8b..f6ffe9934 100644 --- a/src/ui/widget/gimpspinscale.c +++ b/src/ui/widget/gimpspinscale.c @@ -406,67 +406,81 @@ gimp_spin_scale_style_set (GtkWidget *widget, static gboolean - -#if WITH_GTKMM_3_0 - gimp_spin_scale_draw (GtkWidget *widget, cairo_t *cr) +#if GTK_CHECK_VERSION(3,0,0) + gimp_spin_scale_draw (GtkWidget *widget, + cairo_t *cr) #else - gimp_spin_scale_expose (GtkWidget *widget, GdkEventExpose *event) + gimp_spin_scale_expose (GtkWidget *widget, + GdkEventExpose *event) #endif { - GimpSpinScalePrivate *private = GET_PRIVATE (widget); - -#if WITH_GTKMM_3_0 - GtkStyleContext *style = gtk_widget_get_style_context(widget); - GtkAllocation allocation; - GdkRGBA color; + GimpSpinScalePrivate *private = GET_PRIVATE (widget); +#if GTK_CHECK_VERSION(3,0,0) + GtkStyleContext *style = gtk_widget_get_style_context(widget); + GtkAllocation allocation; + GdkRGBA color; - cairo_save (cr); - GTK_WIDGET_CLASS (parent_class)->draw (widget, cr); - cairo_restore (cr); + cairo_save (cr); + GTK_WIDGET_CLASS (parent_class)->draw (widget, cr); + cairo_restore (cr); - gtk_widget_get_allocation (widget, &allocation); + gtk_widget_get_allocation (widget, &allocation); #else - GtkStyle *style = gtk_widget_get_style (widget); - cairo_t *cr; - gint w; + GtkStyle *style = gtk_widget_get_style (widget); + cairo_t *cr; + gint w; - GTK_WIDGET_CLASS (parent_class)->expose_event (widget, event); + GTK_WIDGET_CLASS (parent_class)->expose_event (widget, event); - cr = gdk_cairo_create (event->window); - gdk_cairo_region (cr, event->region); - cairo_clip (cr); + cr = gdk_cairo_create (event->window); + gdk_cairo_region (cr, event->region); + cairo_clip (cr); - w = gdk_window_get_width (event->window); + w = gdk_window_get_width (event->window); #endif - cairo_set_line_width (cr, 1.0); - + cairo_set_line_width (cr, 1.0); -#if WITH_GTKMM_3_0 - if (private->label) - { - GdkRectangle text_area; - gint minimum_width; - gint natural_width; +#if GTK_CHECK_VERSION(3,0,0) + if (private->label) + { + GdkRectangle text_area; + gint minimum_width; + gint natural_width; #else - if (private->label && - gtk_widget_is_drawable (widget) && - event->window == gtk_entry_get_text_window (GTK_ENTRY (widget))) - { - GtkRequisition requisition; - GtkAllocation allocation; + if (private->label && + gtk_widget_is_drawable (widget) && + event->window == gtk_entry_get_text_window (GTK_ENTRY (widget))) + { + GtkRequisition requisition; + GtkAllocation allocation; #endif - PangoRectangle logical; gint layout_offset_x; gint layout_offset_y; +#if GTK_CHECK_VERSION(3,0,0) + GtkStateFlags state; + GdkRGBA text_color; + GdkRGBA bar_text_color; +#else + GtkStateType state; + GdkColor text_color; + GdkColor bar_text_color; + gint window_width; + gint window_height; +#endif + gdouble progress_fraction; + gint progress_x; + gint progress_y; + gint progress_width; + gint progress_height; -#if WITH_GTKMM_3_0 +#if GTK_CHECK_VERSION(3,0,0) gtk_entry_get_text_area (GTK_ENTRY (widget), &text_area); GTK_WIDGET_CLASS (parent_class)->get_preferred_width (widget, - &minimum_width, - &natural_width); + &minimum_width, + &natural_width); #else GTK_WIDGET_CLASS (parent_class)->size_request (widget, &requisition); gtk_widget_get_allocation (widget, &allocation); @@ -481,17 +495,17 @@ static gboolean pango_layout_set_width (private->layout, PANGO_SCALE * -#if WITH_GTKMM_3_0 - (allocation.width - minimum_width + 10)); +#if GTK_CHECK_VERSION(3,0,0) + (allocation.width - minimum_width)); #else - (allocation.width - requisition.width + 10)); + (allocation.width - requisition.width)); #endif pango_layout_get_pixel_extents (private->layout, NULL, &logical); gtk_entry_get_layout_offsets (GTK_ENTRY (widget), NULL, &layout_offset_y); if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) -#if WITH_GTKMM_3_0 +#if GTK_CHECK_VERSION(3,0,0) layout_offset_x = text_area.x + text_area.width - logical.width - 4; #else layout_offset_x = w - logical.width - 4; @@ -501,25 +515,97 @@ static gboolean layout_offset_x -= logical.x; -#if WITH_GTKMM_3_0 +#if GTK_CHECK_VERSION(3,0,0) + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_get_color (style, state, &text_color); + + gtk_style_context_save (style); + gtk_style_context_add_class (style, GTK_STYLE_CLASS_PROGRESSBAR); + gtk_style_context_get_color (style, state, &bar_text_color); + gtk_style_context_restore (style); +#else + state = GTK_STATE_SELECTED; + if (! gtk_widget_get_sensitive (widget)) + state = GTK_STATE_INSENSITIVE; + text_color = style->text[gtk_widget_get_state (widget)]; + bar_text_color = style->fg[state]; + + window_width = gdk_window_get_width (event->window); + window_height = gdk_window_get_height (event->window); +#endif + + progress_fraction = gtk_entry_get_progress_fraction (GTK_ENTRY (widget)); + + if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) + { + progress_fraction = 1.0 - progress_fraction; + +#if GTK_CHECK_VERSION(3,0,0) + progress_x = text_area.width * progress_fraction; +#else + progress_x = window_width * progress_fraction; +#endif + progress_y = 0; +#if GTK_CHECK_VERSION(3,0,0) + progress_width = text_area.width - progress_x; + progress_height = text_area.height; +#else + progress_width = window_width - progress_x; + progress_height = window_height; +#endif + } + else + { + progress_x = 0; + progress_y = 0; +#if GTK_CHECK_VERSION(3,0,0) + progress_width = text_area.width * progress_fraction; + progress_height = text_area.height; +#else + progress_width = window_width * progress_fraction; + progress_height = window_height; +#endif + } + + cairo_save (cr); + + cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD); +#if GTK_CHECK_VERSION(3,0,0) + cairo_rectangle (cr, 0, 0, text_area.width, text_area.height); +#else + cairo_rectangle (cr, 0, 0, window_width, window_height); +#endif + cairo_rectangle (cr, progress_x, progress_y, + progress_width, progress_height); + cairo_clip (cr); + cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING); + +#if GTK_CHECK_VERSION(3,0,0) cairo_move_to (cr, layout_offset_x, text_area.y + layout_offset_y-3); - - gtk_style_context_get_color (style, gtk_widget_get_state_flags (widget), - &color); - - gdk_cairo_set_source_rgba (cr, &color); + gdk_cairo_set_source_rgba (cr, &text_color); #else cairo_move_to (cr, layout_offset_x, layout_offset_y-3); - - gdk_cairo_set_source_color (cr, - &style->text[gtk_widget_get_state (widget)]); + gdk_cairo_set_source_color (cr, &text_color); #endif + pango_cairo_show_layout (cr, private->layout); + cairo_restore (cr); + + cairo_rectangle (cr, progress_x, progress_y, + progress_width, progress_height); + cairo_clip (cr); +#if GTK_CHECK_VERSION(3,0,0) + cairo_move_to (cr, layout_offset_x, text_area.y + layout_offset_y-3); + gdk_cairo_set_source_rgba (cr, &bar_text_color); +#else + cairo_move_to (cr, layout_offset_x, layout_offset_y-3); + gdk_cairo_set_source_color (cr, &bar_text_color); +#endif pango_cairo_show_layout (cr, private->layout); } -#if WITH_GTKMM_3_0 -#else +#if !GTK_CHECK_VERSION(3,0,0) cairo_destroy (cr); #endif @@ -981,7 +1067,6 @@ gimp_spin_scale_value_changed (GtkSpinButton *spin_button) value = CLAMP (gtk_adjustment_get_value (adjustment), lower, upper); - gtk_entry_set_progress_fraction (GTK_ENTRY (spin_button), pow ((value - lower) / (upper - lower), 1.0 / private->gamma)); -- cgit v1.2.3 From b82aaffd143511f6e98c275739a74df74f63f012 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Fri, 3 Jan 2014 15:24:29 +0000 Subject: gimpspinscale (upstream #fb623): Reorder functions (bzr r12875) --- src/ui/widget/gimpspinscale.c | 46 +++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/ui/widget/gimpspinscale.c b/src/ui/widget/gimpspinscale.c index f6ffe9934..45c99304b 100644 --- a/src/ui/widget/gimpspinscale.c +++ b/src/ui/widget/gimpspinscale.c @@ -1122,8 +1122,7 @@ gimp_spin_scale_set_scale_limits (GimpSpinScale *scale, } void -gimp_spin_scale_set_gamma (GimpSpinScale *scale, - gdouble gamma) +gimp_spin_scale_unset_scale_limits (GimpSpinScale *scale) { GimpSpinScalePrivate *private; @@ -1131,25 +1130,36 @@ gimp_spin_scale_set_gamma (GimpSpinScale *scale, private = GET_PRIVATE (scale); - private->gamma = gamma; + private->scale_limits_set = FALSE; + private->scale_lower = 0.0; + private->scale_upper = 0.0; gimp_spin_scale_value_changed (GTK_SPIN_BUTTON (scale)); } -gdouble -gimp_spin_scale_get_gamma (GimpSpinScale *scale) +gboolean +gimp_spin_scale_get_scale_limits (GimpSpinScale *scale, + gdouble *lower, + gdouble *upper) { GimpSpinScalePrivate *private; - g_return_val_if_fail (GIMP_IS_SPIN_SCALE (scale), 1.0); + g_return_val_if_fail (GIMP_IS_SPIN_SCALE (scale), FALSE); private = GET_PRIVATE (scale); - return private->gamma; + if (lower) + *lower = private->scale_lower; + + if (upper) + *upper = private->scale_upper; + + return private->scale_limits_set; } void -gimp_spin_scale_unset_scale_limits (GimpSpinScale *scale) +gimp_spin_scale_set_gamma (GimpSpinScale *scale, + gdouble gamma) { GimpSpinScalePrivate *private; @@ -1157,29 +1167,19 @@ gimp_spin_scale_unset_scale_limits (GimpSpinScale *scale) private = GET_PRIVATE (scale); - private->scale_limits_set = FALSE; - private->scale_lower = 0.0; - private->scale_upper = 0.0; + private->gamma = gamma; gimp_spin_scale_value_changed (GTK_SPIN_BUTTON (scale)); } -gboolean -gimp_spin_scale_get_scale_limits (GimpSpinScale *scale, - gdouble *lower, - gdouble *upper) +gdouble +gimp_spin_scale_get_gamma (GimpSpinScale *scale) { GimpSpinScalePrivate *private; - g_return_val_if_fail (GIMP_IS_SPIN_SCALE (scale), FALSE); + g_return_val_if_fail (GIMP_IS_SPIN_SCALE (scale), 1.0); private = GET_PRIVATE (scale); - if (lower) - *lower = private->scale_lower; - - if (upper) - *upper = private->scale_upper; - - return private->scale_limits_set; + return private->gamma; } -- cgit v1.2.3 From 9854e3ef55d813fdd824db89629d82c1ba140939 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Fri, 3 Jan 2014 15:47:38 +0000 Subject: gimpspinscale (upstream #6940c): Add get/set_label (bzr r12876) --- src/ui/widget/gimpspinscale.c | 66 ++++++++++++++++++++++++++++++------------- src/ui/widget/gimpspinscale.h | 38 ++++++++++++++----------- 2 files changed, 68 insertions(+), 36 deletions(-) diff --git a/src/ui/widget/gimpspinscale.c b/src/ui/widget/gimpspinscale.c index 45c99304b..1bf05e627 100644 --- a/src/ui/widget/gimpspinscale.c +++ b/src/ui/widget/gimpspinscale.c @@ -225,26 +225,20 @@ gimp_spin_scale_set_property (GObject *object, GParamSpec *pspec) { GimpSpinScalePrivate *private = GET_PRIVATE (object); + GimpSpinScale *scale = GIMP_SPIN_SCALE (object); switch (property_id) { case PROP_LABEL: - g_free (private->label); - private->label = g_value_dup_string (value); - if (private->layout) - { - g_object_unref (private->layout); - private->layout = NULL; - } - gtk_widget_queue_resize (GTK_WIDGET (object)); + gimp_spin_scale_set_label (scale, g_value_get_string (value)); break; case PROP_FOCUS_WIDGET: - { + { /* TODO unhook prior */ - private->focusWidget = (GtkWidget*)g_value_get_pointer( value ); - } - break; + private->focusWidget = GTK_WIDGET (g_value_get_pointer (value)); + } + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); @@ -259,16 +253,17 @@ gimp_spin_scale_get_property (GObject *object, GParamSpec *pspec) { GimpSpinScalePrivate *private = GET_PRIVATE (object); + GimpSpinScale *scale = GIMP_SPIN_SCALE (object); switch (property_id) { case PROP_LABEL: - g_value_set_string (value, private->label); + g_value_set_string (value, gimp_spin_scale_get_label (scale)); break; case PROP_FOCUS_WIDGET: - g_value_set_pointer( value, private->focusWidget ); - break; + g_value_set_pointer (value, private->focusWidget); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); @@ -1095,6 +1090,41 @@ gimp_spin_scale_new (GtkAdjustment *adjustment, NULL); } +void +gimp_spin_scale_set_label (GimpSpinScale *scale, + const gchar *label) +{ + GimpSpinScalePrivate *private; + + g_return_if_fail (GIMP_IS_SPIN_SCALE (scale)); + + private = GET_PRIVATE (scale); + + if (label == private->label) + return; + + g_free (private->label); + private->label = g_strdup (label); + + if (private->layout) + { + g_object_unref (private->layout); + private->layout = NULL; + } + + gtk_widget_queue_resize (GTK_WIDGET (scale)); + + g_object_notify (G_OBJECT (scale), "label"); +} + +const gchar * +gimp_spin_scale_get_label (GimpSpinScale *scale) +{ + g_return_val_if_fail (GIMP_IS_SPIN_SCALE (scale), NULL); + + return GET_PRIVATE (scale)->label; +} + void gimp_spin_scale_set_scale_limits (GimpSpinScale *scale, gdouble lower, @@ -1175,11 +1205,7 @@ gimp_spin_scale_set_gamma (GimpSpinScale *scale, gdouble gimp_spin_scale_get_gamma (GimpSpinScale *scale) { - GimpSpinScalePrivate *private; - g_return_val_if_fail (GIMP_IS_SPIN_SCALE (scale), 1.0); - private = GET_PRIVATE (scale); - - return private->gamma; + return GET_PRIVATE(scale)->gamma; } diff --git a/src/ui/widget/gimpspinscale.h b/src/ui/widget/gimpspinscale.h index ad63625ac..b42a0faf8 100644 --- a/src/ui/widget/gimpspinscale.h +++ b/src/ui/widget/gimpspinscale.h @@ -49,27 +49,33 @@ struct _GimpSpinScaleClass }; -GType gimp_spin_scale_get_type (void) G_GNUC_CONST; +GType gimp_spin_scale_get_type (void) G_GNUC_CONST; -GtkWidget * gimp_spin_scale_new (GtkAdjustment *adjustment, - const gchar *label, - gint digits); +GtkWidget * gimp_spin_scale_new (GtkAdjustment *adjustment, + const gchar *label, + gint digits); -void gimp_spin_scale_set_scale_limits (GimpSpinScale *scale, - gdouble lower, - gdouble upper); -void gimp_spin_scale_unset_scale_limits (GimpSpinScale *scale); -gboolean gimp_spin_scale_get_scale_limits (GimpSpinScale *scale, - gdouble *lower, - gdouble *upper); +void gimp_spin_scale_set_label (GimpSpinScale *scale, + const gchar *label); +const gchar * gimp_spin_scale_get_label (GimpSpinScale *scale); -void gimp_spin_scale_set_gamma (GimpSpinScale *scale, - gdouble gamma); -gdouble gimp_spin_scale_get_gamma (GimpSpinScale *scale); +void gimp_spin_scale_set_scale_limits (GimpSpinScale *scale, + gdouble lower, + gdouble upper); +void gimp_spin_scale_unset_scale_limits (GimpSpinScale *scale); +gboolean gimp_spin_scale_get_scale_limits (GimpSpinScale *scale, + gdouble *lower, + gdouble *upper); -void gimp_spin_scale_set_focuswidget( GtkWidget *scale, GtkWidget* widget ); +void gimp_spin_scale_set_gamma (GimpSpinScale *scale, + gdouble gamma); +gdouble gimp_spin_scale_get_gamma (GimpSpinScale *scale); -void gimp_spin_scale_set_appearance( GtkWidget *scale, const gchar *appearance); +void gimp_spin_scale_set_focuswidget (GtkWidget *scale, + GtkWidget *widget); + +void gimp_spin_scale_set_appearance (GtkWidget *scale, + const gchar *appearance); G_END_DECLS -- cgit v1.2.3 From 4fa54a976d7ad34f20a0b1f92e0be953fdd4600b Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Fri, 3 Jan 2014 16:15:31 +0000 Subject: gimpspinscale (upstream gtk3-port#28c62): Convert to GtkStyleContext (bzr r12877) --- src/ui/widget/gimpspinscale.c | 84 +++++++++++++++++++++++++------------------ 1 file changed, 49 insertions(+), 35 deletions(-) diff --git a/src/ui/widget/gimpspinscale.c b/src/ui/widget/gimpspinscale.c index 1bf05e627..d99646a64 100644 --- a/src/ui/widget/gimpspinscale.c +++ b/src/ui/widget/gimpspinscale.c @@ -294,45 +294,24 @@ gimp_spin_scale_set_appearance( GtkWidget *widget, const gchar *appearance) } } +#if GTK_CHECK_VERSION(3,0,0) static void -#if WITH_GTKMM_3_0 gimp_spin_scale_get_preferred_width (GtkWidget *widget, gint *minimum_width, gint *natural_width) -#else -gimp_spin_scale_size_request (GtkWidget *widget, - GtkRequisition *requisition) -#endif { GimpSpinScalePrivate *private = GET_PRIVATE (widget); - GtkStyle *style = gtk_widget_get_style (widget); PangoContext *context = gtk_widget_get_pango_context (widget); PangoFontMetrics *metrics; -#if WITH_GTKMM_3_0 GTK_WIDGET_CLASS (parent_class)->get_preferred_width (widget, - minimum_width, - natural_width); -#else - gint height; - GTK_WIDGET_CLASS (parent_class)->size_request (widget, requisition); -#endif + minimum_width, + natural_width); - metrics = pango_context_get_metrics (context, style->font_desc, + metrics = pango_context_get_metrics (context, + pango_context_get_font_description (context), pango_context_get_language (context)); -#if WITH_GTKMM_3_0 -#else - height = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + - pango_font_metrics_get_descent (metrics)); - - if (private->appearanceMode == APPEARANCE_COMPACT) { - requisition->height += 1; - } else { - requisition->height += height; - } -#endif - if (private->label) { gint char_width; @@ -343,26 +322,19 @@ gimp_spin_scale_size_request (GtkWidget *widget, digit_width = pango_font_metrics_get_approximate_digit_width (metrics); char_pixels = PANGO_PIXELS (MAX (char_width, digit_width)); -#if WITH_GTKMM_3_0 + /* ~3 chars for the ellipse */ *minimum_width += char_pixels * 3; *natural_width += char_pixels * 3; -#else - /* ~3 chars for the ellipses */ - requisition->width += char_pixels * 3; -#endif - } pango_font_metrics_unref (metrics); } -#if WITH_GTKMM_3_0 static void gimp_spin_scale_get_preferred_height (GtkWidget *widget, gint *minimum_height, gint *natural_height) { - GtkStyle *style = gtk_widget_get_style (widget); PangoContext *context = gtk_widget_get_pango_context (widget); PangoFontMetrics *metrics; //gint height; @@ -371,7 +343,8 @@ gimp_spin_scale_get_preferred_height (GtkWidget *widget, minimum_height, natural_height); - metrics = pango_context_get_metrics (context, style->font_desc, + metrics = pango_context_get_metrics (context, + pango_context_get_font_description (context), pango_context_get_language (context)); //height = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + @@ -382,6 +355,47 @@ gimp_spin_scale_get_preferred_height (GtkWidget *widget, pango_font_metrics_unref (metrics); } +#else +static void +gimp_spin_scale_size_request (GtkWidget *widget, + GtkRequisition *requisition) +{ + GimpSpinScalePrivate *private = GET_PRIVATE (widget); + GtkStyle *style = gtk_widget_get_style (widget); + PangoContext *context = gtk_widget_get_pango_context (widget); + PangoFontMetrics *metrics; + gint height; + + GTK_WIDGET_CLASS (parent_class)->size_request (widget, requisition); + + metrics = pango_context_get_metrics (context, style->font_desc, + pango_context_get_language (context)); + + height = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + + pango_font_metrics_get_descent (metrics)); + + if (private->appearanceMode == APPEARANCE_COMPACT) { + requisition->height += 1; + } else { + requisition->height += height; + } + + if (private->label) + { + gint char_width; + gint digit_width; + gint char_pixels; + + char_width = pango_font_metrics_get_approximate_char_width (metrics); + digit_width = pango_font_metrics_get_approximate_digit_width (metrics); + char_pixels = PANGO_PIXELS (MAX (char_width, digit_width)); + + /* ~3 chars for the ellipses */ + requisition->width += char_pixels * 3; + } + + pango_font_metrics_unref (metrics); +} #endif static void -- cgit v1.2.3 From 12af0fc603f5e7d60d841af59a66ae69cd46cb49 Mon Sep 17 00:00:00 2001 From: Nicolas Dufour Date: Sat, 4 Jan 2014 10:31:04 +0100 Subject: Fixing errors and warnings in the debug code. (bzr r12878) --- src/sp-object.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/sp-object.cpp b/src/sp-object.cpp index 4a32c9470..0e6eef6ae 100644 --- a/src/sp-object.cpp +++ b/src/sp-object.cpp @@ -119,7 +119,7 @@ SPObject::SPObject() _successor(NULL), _collection_policy(SPObject::COLLECT_WITH_PARENT), _label(NULL), _default_label(NULL) { - debug("id=%x, typename=%s",this, g_type_name_from_instance((GTypeInstance*)object)); + debug("id=%p, typename=%s",this, g_type_name_from_instance((GTypeInstance*)this)); //used XML Tree here. this->getRepr(); // TODO check why this call is made @@ -607,14 +607,14 @@ void SPObject::child_added(Inkscape::XML::Node *child, Inkscape::XML::Node *ref) void SPObject::release() { SPObject* object = this; - debug("id=%x, typename=%s", object, g_type_name_from_instance((GTypeInstance*)object)); + debug("id=%p, typename=%s", object, g_type_name_from_instance((GTypeInstance*)object)); while (object->children) { object->detach(object->children); } } void SPObject::remove_child(Inkscape::XML::Node* child) { - debug("id=%x, typename=%s", this, g_type_name_from_instance((GTypeInstance*)this)); + debug("id=%p, typename=%s", this, g_type_name_from_instance((GTypeInstance*)this)); SPObject *ochild = this->get_child_by_repr(child); @@ -638,7 +638,7 @@ void SPObject::build(SPDocument *document, Inkscape::XML::Node *repr) { SPObject* object = this; /* Nothing specific here */ - debug("id=%x, typename=%s", object, g_type_name_from_instance((GTypeInstance*)object)); + debug("id=%p, typename=%s", object, g_type_name_from_instance((GTypeInstance*)object)); object->readAttr("xml:space"); object->readAttr("inkscape:label"); @@ -665,7 +665,7 @@ void SPObject::build(SPDocument *document, Inkscape::XML::Node *repr) { void SPObject::invoke_build(SPDocument *document, Inkscape::XML::Node *repr, unsigned int cloned) { - debug("id=%x, typename=%s", this, g_type_name_from_instance((GTypeInstance*)this)); + debug("id=%p, typename=%s", this, g_type_name_from_instance((GTypeInstance*)this)); //g_assert(object != NULL); //g_assert(SP_IS_OBJECT(object)); -- cgit v1.2.3 From d46d1fbfa2743ef525908dce92880d7d551932b9 Mon Sep 17 00:00:00 2001 From: Nicolas Dufour Date: Sat, 4 Jan 2014 15:25:02 +0100 Subject: Fix for Bug #1265556 (plain svg export is broken for filter). Fixed bugs: - https://launchpad.net/bugs/1265556 (bzr r12879) --- src/sp-filter.cpp | 2 +- src/sp-font.cpp | 2 +- src/sp-text.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sp-filter.cpp b/src/sp-filter.cpp index 9d45c92fc..c3e7d217e 100644 --- a/src/sp-filter.cpp +++ b/src/sp-filter.cpp @@ -220,7 +220,7 @@ Inkscape::XML::Node* SPFilter::write(Inkscape::XML::Document *doc, Inkscape::XML // Original from sp-item-group.cpp if (flags & SP_OBJECT_WRITE_BUILD) { if (!repr) { - repr = doc->createElement("svg:this"); + repr = doc->createElement("svg:filter"); } GSList *l = NULL; diff --git a/src/sp-font.cpp b/src/sp-font.cpp index 4ac3278d7..62cf521d3 100644 --- a/src/sp-font.cpp +++ b/src/sp-font.cpp @@ -179,7 +179,7 @@ void SPFont::update(SPCtx *ctx, guint flags) { Inkscape::XML::Node* SPFont::write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) { if ((flags & SP_OBJECT_WRITE_BUILD) && !repr) { - repr = xml_doc->createElement("svg:this"); + repr = xml_doc->createElement("svg:font"); } sp_repr_set_svg_double(repr, "horiz-origin-x", this->horiz_origin_x); diff --git a/src/sp-text.cpp b/src/sp-text.cpp index d2f433eba..ef46e890f 100644 --- a/src/sp-text.cpp +++ b/src/sp-text.cpp @@ -235,7 +235,7 @@ void SPText::modified(guint flags) { Inkscape::XML::Node *SPText::write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) { if (flags & SP_OBJECT_WRITE_BUILD) { if (!repr) { - repr = xml_doc->createElement("svg:this"); + repr = xml_doc->createElement("svg:text"); } GSList *l = NULL; -- cgit v1.2.3 From 8266a65f6bee33b433ec1c67be4a4f840588e99e Mon Sep 17 00:00:00 2001 From: Nicolas Dufour Date: Sat, 4 Jan 2014 16:16:25 +0100 Subject: Fix for bug #1057494 (Remove Manual Kerns hides the selected text). Fixed bugs: - https://launchpad.net/bugs/1057494 (bzr r12880) --- src/text-chemistry.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/text-chemistry.cpp b/src/text-chemistry.cpp index 532d19e02..aa2d81427 100644 --- a/src/text-chemistry.cpp +++ b/src/text-chemistry.cpp @@ -246,6 +246,7 @@ text_remove_all_kerns_recursively(SPObject *o) for (SPObject *i = o->firstChild(); i != NULL; i = i->getNext()) { text_remove_all_kerns_recursively(i); + i->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG | SP_TEXT_LAYOUT_MODIFIED_FLAG); } } -- cgit v1.2.3 From e2b4cd6d88088f5be17bff214c62d85f2030eb20 Mon Sep 17 00:00:00 2001 From: Alvin Penner Date: Sat, 4 Jan 2014 17:37:17 -0500 Subject: modify get_scale_transform_for_variable_stroke() to be consistent with get_scale_transform_for_uniform_stroke() (Bug 1262146) Fixed bugs: - https://launchpad.net/bugs/1262146 (bzr r12881) --- src/sp-item-transform.cpp | 172 ++++++++++++++++++++------------------- src/sp-item-transform.h | 2 +- src/ui/dialog/transformation.cpp | 7 +- src/widgets/select-toolbar.cpp | 5 +- 4 files changed, 97 insertions(+), 89 deletions(-) diff --git a/src/sp-item-transform.cpp b/src/sp-item-transform.cpp index 2d1dd8193..250713beb 100644 --- a/src/sp-item-transform.cpp +++ b/src/sp-item-transform.cpp @@ -226,6 +226,7 @@ Geom::Affine get_scale_transform_for_uniform_stroke(Geom::Rect const &bbox_visua * @param bbox_visual Current visual bounding box * @param bbox_geometric Current geometric bounding box (allows for calculating the strokewidth of each edge) * @param transform_stroke If true then the stroke will be scaled proportional to the square root of the area of the geometric bounding box + * @param preserve If true then the transform element will be preserved in XML, and evaluated after stroke is applied * @param x0 Coordinate of the target visual bounding box * @param y0 Coordinate of the target visual bounding box * @param x1 Coordinate of the target visual bounding box @@ -234,7 +235,7 @@ Geom::Affine get_scale_transform_for_uniform_stroke(Geom::Rect const &bbox_visua * not possible here because it will only allow for a positive width and height, and therefore cannot mirror * @return */ -Geom::Affine get_scale_transform_for_variable_stroke(Geom::Rect const &bbox_visual, Geom::Rect const &bbox_geom, bool transform_stroke, gdouble x0, gdouble y0, gdouble x1, gdouble y1) +Geom::Affine get_scale_transform_for_variable_stroke(Geom::Rect const &bbox_visual, Geom::Rect const &bbox_geom, bool transform_stroke, bool preserve, gdouble x0, gdouble y0, gdouble x1, gdouble y1) { Geom::Affine p2o = Geom::Translate (-bbox_visual.min()); Geom::Affine o2n = Geom::Translate (x0, y0); @@ -272,79 +273,10 @@ Geom::Affine get_scale_transform_for_variable_stroke(Geom::Rect const &bbox_visu return Geom::Affine(); } - Geom::Affine direct; - gdouble ratio_x = 1; - gdouble ratio_y = 1; - gdouble scale_x = 1; - gdouble scale_y = 1; - gdouble r1h = r0h; - gdouble r1w = r0w; - - if (fabs(w0 - r0w) < 1e-6) { // We have a vertical line at hand - direct = Geom::Scale(flip_x, flip_y * h1 / h0); - ratio_x = 1; - ratio_y = (h1 - r0h) / (h0 - r0h); - r1h = transform_stroke ? r0h * sqrt(h1/h0) : r0h; - scale_x = 1; - scale_y = (h1 - r1h)/(h0 - r0h); - } else if (fabs(h0 - r0h) < 1e-6) { // We have a horizontal line at hand - direct = Geom::Scale(flip_x * w1 / w0, flip_y); - ratio_x = (w1 - r0w) / (w0 - r0w); - ratio_y = 1; - r1w = transform_stroke ? r0w * sqrt(w1/w0) : r0w; - scale_x = (w1 - r1w)/(w0 - r0w); - scale_y = 1; - } else { // We have a true 2D object at hand - direct = Geom::Scale(flip_x * w1 / w0, flip_y* h1 / h0); // Scaling of the visual bounding box - ratio_x = (w1 - r0w) / (w0 - r0w); // Only valid when the stroke is kept constant, in which case r1 = r0 - ratio_y = (h1 - r0h) / (h0 - r0h); - /* Initial area of the geometric bounding box: A0 = (w0-r0w)*(h0-r0h) - * Desired area of the geometric bounding box: A1 = (w1-r1w)*(h1-r1h) - * This is how the stroke should scale: r1w^2 = A1/A0 * r0w^2, AND - * r1h^2 = A1/A0 * r0h^2 - * Now we have to solve this set of two equations and find r1w and r1h; this too complicated to do by hand, - * so I used wxMaxima for that (http://wxmaxima.sourceforge.net/). These lines can be copied into Maxima - * - * A1: (w1-r1w)*(h1-r1h); - * s: A1/A0; - * expr1a: r1w^2 = s*r0w^2; - * expr1b: r1h^2 = s*r0h^2; - * sol: solve([expr1a, expr1b], [r1h, r1w]); - * sol[1][1]; sol[2][1]; sol[3][1]; sol[4][1]; - * sol[1][2]; sol[2][2]; sol[3][2]; sol[4][2]; - * - * PS1: The last two lines are only needed for readability of the output, and can be omitted if desired - * PS2: A0 is known beforehand and assumed to be constant, instead of using A0 = (w0-r0w)*(h0-r0h). This reduces the - * length of the results significantly - * PS3: You'll get 8 solutions, 4 for each of the strokewidths r1w and r1h. Some experiments quickly showed which of the solutions - * lead to meaningful strokewidths - * */ - gdouble r0h2 = r0h*r0h; - gdouble r0h3 = r0h2*r0h; - gdouble r0w2 = r0w*r0w; - gdouble w12 = w1*w1; - gdouble h12 = h1*h1; - gdouble A0 = bbox_geom.area(); - gdouble A02 = A0*A0; - - gdouble operant = 4*h1*w1*A0+r0h2*w12-2*h1*r0h*r0w*w1+h12*r0w2; - if (operant >= 0) { - // Of the eight roots, I verified experimentally that these are the two we need - r1h = fabs((r0h*sqrt(operant)-r0h2*w1-h1*r0h*r0w)/(2*A0-2*r0h*r0w)); - r1w = fabs(-((h1*r0w*A0+r0h2*r0w*w1)*sqrt(operant)+(-3*h1*r0h*r0w*w1-h12*r0w2)*A0-r0h3*r0w*w12+h1*r0h2*r0w2*w1)/((r0h*A0-r0h2*r0w)*sqrt(operant)-2*h1*A02+(3*h1*r0h*r0w-r0h2*w1)*A0+r0h3*r0w*w1-h1*r0h2*r0w2)); - // If w1 < 0 then the scale will be wrong if we just assume that scale_x = (w1 - r1)/(w0 - r0); - // Therefore we here need the absolute values of w0, w1, h0, h1, and r0, as taken care of earlier - scale_x = (w1 - r1w)/(w0 - r0w); - scale_y = (h1 - r1h)/(h0 - r0h); - } else { // Can't find the roots of the quadratic equation. Likely the input parameters are invalid? - scale_x = w1 / w0; - scale_y = h1 / h0; - } - } - // Check whether the stroke is negative; i.e. the geometric bounding box is larger than the visual bounding box, which // occurs for example for clipped objects (see launchpad bug #811819) if (r0w < 0 || r0h < 0) { + Geom::Affine direct = Geom::Scale(flip_x * w1 / w0, flip_y* h1 / h0); // Scaling of the visual bounding box // How should we handle the stroke width scaling of clipped object? I don't know if we can/should handle this, // so for now we simply return the direct scaling return (p2o * direct * o2n); @@ -356,21 +288,95 @@ Geom::Affine get_scale_transform_for_variable_stroke(Geom::Rect const &bbox_visu gdouble stroke_ratio_w = fabs(r0w) < 1e-6 ? 1 : (bbox_geom[Geom::X].min() - bbox_visual[Geom::X].min())/r0w; gdouble stroke_ratio_h = fabs(r0h) < 1e-6 ? 1 : (bbox_geom[Geom::Y].min() - bbox_visual[Geom::Y].min())/r0h; - // If the stroke is not kept constant however, the scaling of the geometric bbox is more difficult to find - if (transform_stroke && r0w != 0 && r0w != Geom::infinity() && r0h != 0 && r0h != Geom::infinity()) { // Check if there's stroke, and we need to scale it - // Now we account for mirroring by flipping if needed - scale *= Geom::Scale(flip_x * scale_x, flip_y * scale_y); - // Make sure that the lower-left corner of the visual bounding box stays where it is, even though the stroke width has changed - unbudge *= Geom::Translate (-flip_x * stroke_ratio_w * (r0w * scale_x - r1w), -flip_y * stroke_ratio_h * (r0h * scale_y - r1h)); - } else { // The stroke should not be scaled, or is zero (or infinite) - if (r0w == 0 || r0w == Geom::infinity() || r0h == 0 || r0h == Geom::infinity()) { // can't calculate, because apparently strokewidth is zero or infinite - scale *= direct; - } else { - scale *= Geom::Scale(flip_x * ratio_x, flip_y * ratio_y); // Scaling of the geometric bounding box for constant stroke width - unbudge *= Geom::Translate (flip_x * stroke_ratio_w * r0w * (1 - ratio_x), flip_y * stroke_ratio_h * r0h * (1 - ratio_y)); + gdouble scale_x = 1; + gdouble scale_y = 1; + gdouble r1h = r0h; + gdouble r1w = r0w; + + if ((fabs(w0 - r0w) < 1e-6) || w1 == 0) { // We have a vertical line at hand + r1h = transform_stroke ? r0h * sqrt(h1/h0) : r0h; + scale_x = 1; + scale_y = preserve ? h1/h0 : (h1 - r1h)/(h0 - r0h); + } else if ((fabs(h0 - r0h) < 1e-6) || h1 == 0) { // We have a horizontal line at hand + r1w = transform_stroke ? r0w * sqrt(w1/w0) : r0w; + scale_x = preserve ? w1/w0 : (w1 - r1w)/(w0 - r0w); + scale_y = 1; + } else { // We have a true 2D object at hand + if (transform_stroke && !preserve) { + /* Initial area of the geometric bounding box: A0 = (w0-r0w)*(h0-r0h) + * Desired area of the geometric bounding box: A1 = (w1-r1w)*(h1-r1h) + * This is how the stroke should scale: r1w^2 = A1/A0 * r0w^2, AND + * r1h^2 = A1/A0 * r0h^2 + * Now we have to solve this set of two equations and find r1w and r1h; this too complicated to do by hand, + * so I used wxMaxima for that (http://wxmaxima.sourceforge.net/). These lines can be copied into Maxima + * + * A1: (w1-r1w)*(h1-r1h); + * s: A1/A0; + * expr1a: r1w^2 = s*r0w^2; + * expr1b: r1h^2 = s*r0h^2; + * sol: solve([expr1a, expr1b], [r1h, r1w]); + * sol[1][1]; sol[2][1]; sol[3][1]; sol[4][1]; + * sol[1][2]; sol[2][2]; sol[3][2]; sol[4][2]; + * + * PS1: The last two lines are only needed for readability of the output, and can be omitted if desired + * PS2: A0 is known beforehand and assumed to be constant, instead of using A0 = (w0-r0w)*(h0-r0h). This reduces the + * length of the results significantly + * PS3: You'll get 8 solutions, 4 for each of the strokewidths r1w and r1h. Some experiments quickly showed which of the solutions + * lead to meaningful strokewidths + * */ + gdouble r0h2 = r0h*r0h; + gdouble r0h3 = r0h2*r0h; + gdouble r0w2 = r0w*r0w; + gdouble w12 = w1*w1; + gdouble h12 = h1*h1; + gdouble A0 = bbox_geom.area(); + gdouble A02 = A0*A0; + + gdouble operant = 4*h1*w1*A0+r0h2*w12-2*h1*r0h*r0w*w1+h12*r0w2; + if (operant < 0) { + g_message("variable stroke scaling error : %d, %d, %f, %f, %f, %f, %f, %f", transform_stroke, preserve, r0w, r0h, w0, h0, w1, h1); + } else { + // Of the eight roots, I verified experimentally that these are the two we need + r1h = fabs((r0h*sqrt(operant)-r0h2*w1-h1*r0h*r0w)/(2*A0-2*r0h*r0w)); + r1w = fabs(-((h1*r0w*A0+r0h2*r0w*w1)*sqrt(operant)+(-3*h1*r0h*r0w*w1-h12*r0w2)*A0-r0h3*r0w*w12+h1*r0h2*r0w2*w1)/((r0h*A0-r0h2*r0w)*sqrt(operant)-2*h1*A02+(3*h1*r0h*r0w-r0h2*w1)*A0+r0h3*r0w*w1-h1*r0h2*r0w2)); + // If w1 < 0 then the scale will be wrong if we just assume that scale_x = (w1 - r1)/(w0 - r0); + // Therefore we here need the absolute values of w0, w1, h0, h1, and r0, as taken care of earlier + scale_x = (w1 - r1w)/(w0 - r0w); + scale_y = (h1 - r1h)/(h0 - r0h); + // Make sure that the lower-left corner of the visual bounding box stays where it is, even though the stroke width has changed + unbudge *= Geom::Translate (-flip_x * stroke_ratio_w * (r0w * scale_x - r1w), -flip_y * stroke_ratio_h * (r0h * scale_y - r1h)); + } + } else if (!transform_stroke && !preserve) { // scale the geometric bbox with constant stroke + scale_x = (w1 - r0w) / (w0 - r0w); + scale_y = (h1 - r0h) / (h0 - r0h); + unbudge *= Geom::Translate (-flip_x * stroke_ratio_w * r0w * (scale_x - 1), -flip_y * stroke_ratio_h * r0h * (scale_y - 1)); + } else if (!transform_stroke) { // 'Preserve Transforms' was chosen. + // geometric mean of r0w and r0h will be preserved + // new_r0w = r0w*sqrt(scale_x/scale_y) + // new_r0h = r0h*sqrt(scale_y/scale_x) + // scale_x = (w1 - new_r0w)/(w0 - r0w) + // scale_y = (h1 - new_r0h)/(h0 - r0h) + gdouble A = h1*(w0 - r0w); + gdouble B = (h0*r0w - w0*r0h); + gdouble C = -w1*(h0 - r0h); + gdouble Sx_div_Sy; // Sx_div_Sy = sqrt(scale_x/scale_y) + if (B*B - 4*A*C < 0) { + g_message("variable stroke scaling error : %d, %d, %f, %f, %f, %f, %f, %f", transform_stroke, preserve, r0w, r0h, w0, h0, w1, h1); + } else { + Sx_div_Sy = (-B + sqrt(B*B - 4*A*C))/2/A; + scale_x = (w1 - r0w*Sx_div_Sy)/(w0 - r0w); + scale_y = (h1 - r0h/Sx_div_Sy)/(h0 - r0h); + unbudge *= Geom::Translate (-flip_x * stroke_ratio_w * r0w * scale_x * (1.0 - sqrt(1.0/scale_x/scale_y)), -flip_y * stroke_ratio_h * r0h * scale_y * (1.0 - sqrt(1.0/scale_x/scale_y))); + } + } else { // 'Preserve Transforms' was chosen, and stroke is scaled + scale_x = w1 / w0; + scale_y = h1 / h0; } } + // Now we account for mirroring by flipping if needed + scale *= Geom::Scale(flip_x * scale_x, flip_y * scale_y); + return (p2o * scale * unbudge * o2n); } diff --git a/src/sp-item-transform.h b/src/sp-item-transform.h index a8e2bd755..230d5a3dd 100644 --- a/src/sp-item-transform.h +++ b/src/sp-item-transform.h @@ -12,7 +12,7 @@ void sp_item_skew_rel (SPItem *item, double skewX, double skewY); void sp_item_move_rel(SPItem *item, Geom::Translate const &tr); Geom::Affine get_scale_transform_for_uniform_stroke (Geom::Rect const &bbox_visual, gdouble stroke_x, gdouble stroke_y, bool transform_stroke, bool preserve, gdouble x0, gdouble y0, gdouble x1, gdouble y1); -Geom::Affine get_scale_transform_for_variable_stroke (Geom::Rect const &bbox_visual, Geom::Rect const &bbox_geom, bool transform_stroke, gdouble x0, gdouble y0, gdouble x1, gdouble y1); +Geom::Affine get_scale_transform_for_variable_stroke (Geom::Rect const &bbox_visual, Geom::Rect const &bbox_geom, bool transform_stroke, bool preserve, gdouble x0, gdouble y0, gdouble x1, gdouble y1); Geom::Rect get_visual_bbox (Geom::OptRect const &initial_geom_bbox, Geom::Affine const &abs_affine, gdouble const initial_strokewidth, bool const transform_stroke); diff --git a/src/ui/dialog/transformation.cpp b/src/ui/dialog/transformation.cpp index ce8af3f1f..a7f0b068e 100644 --- a/src/ui/dialog/transformation.cpp +++ b/src/ui/dialog/transformation.cpp @@ -813,7 +813,8 @@ void Transformation::applyPageScale(Inkscape::Selection *selection) double scaleY = _scalar_scale_vertical.getValue("px"); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - int transform_stroke = prefs->getBool("/options/transform/stroke", true) ? 1 : 0; + bool transform_stroke = prefs->getBool("/options/transform/stroke", true); + bool preserve = prefs->getBool("/options/preservetransform/value", false); if (prefs->getBool("/dialogs/transformation/applyseparately")) { for (GSList const *l = selection->itemList(); l != NULL; l = l->next) { SPItem *item = SP_ITEM(l->data); @@ -835,7 +836,7 @@ void Transformation::applyPageScale(Inkscape::Selection *selection) double x1 = bbox_pref->midpoint()[Geom::X] + new_width/2; double y1 = bbox_pref->midpoint()[Geom::Y] + new_height/2; - Geom::Affine scaler = get_scale_transform_for_variable_stroke (*bbox_pref, *bbox_geom, transform_stroke, x0, y0, x1, y1); + Geom::Affine scaler = get_scale_transform_for_variable_stroke (*bbox_pref, *bbox_geom, transform_stroke, preserve, x0, y0, x1, y1); item->set_i2d_affine(item->i2dt_affine() * scaler); item->doWriteTransform(item->getRepr(), item->transform); } @@ -858,7 +859,7 @@ void Transformation::applyPageScale(Inkscape::Selection *selection) double y0 = bbox_pref->midpoint()[Geom::Y] - new_height/2; double x1 = bbox_pref->midpoint()[Geom::X] + new_width/2; double y1 = bbox_pref->midpoint()[Geom::Y] + new_height/2; - Geom::Affine scaler = get_scale_transform_for_variable_stroke (*bbox_pref, *bbox_geom, transform_stroke, x0, y0, x1, y1); + Geom::Affine scaler = get_scale_transform_for_variable_stroke (*bbox_pref, *bbox_geom, transform_stroke, preserve, x0, y0, x1, y1); sp_selection_apply_affine(selection, scaler); } diff --git a/src/widgets/select-toolbar.cpp b/src/widgets/select-toolbar.cpp index cf772320f..1cd4347d6 100644 --- a/src/widgets/select-toolbar.cpp +++ b/src/widgets/select-toolbar.cpp @@ -249,11 +249,12 @@ sp_object_layout_any_value_changed(GtkAdjustment *adj, SPWidget *spw) // FIXME: fix for GTK breakage, see comment in SelectedStyle::on_opacity_changed sp_desktop_canvas(desktop)->forceFullRedrawAfterInterruptions(0); - int transform_stroke = prefs->getBool("/options/transform/stroke", true) ? 1 : 0; + bool transform_stroke = prefs->getBool("/options/transform/stroke", true); + bool preserve = prefs->getBool("/options/preservetransform/value", false); Geom::Affine scaler; if (bbox_type == SPItem::VISUAL_BBOX) { - scaler = get_scale_transform_for_variable_stroke (*bbox_vis, *bbox_geom, transform_stroke, x0, y0, x1, y1); + scaler = get_scale_transform_for_variable_stroke (*bbox_vis, *bbox_geom, transform_stroke, preserve, x0, y0, x1, y1); } else { // 1) We could have use the newer get_scale_transform_for_variable_stroke() here, but to avoid regressions // we'll just use the old get_scale_transform_for_uniform_stroke() for now. -- cgit v1.2.3 From 3699ff43589716a4109297e67bc5820af1b300fb Mon Sep 17 00:00:00 2001 From: Kris De Gussem Date: Sun, 5 Jan 2014 11:24:06 +0100 Subject: Uniform colons usage in UI in front of edit boxes (bzr r12882) --- src/ui/dialog/pixelartdialog.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ui/dialog/pixelartdialog.cpp b/src/ui/dialog/pixelartdialog.cpp index ec2bfb822..ce5b6584d 100644 --- a/src/ui/dialog/pixelartdialog.cpp +++ b/src/ui/dialog/pixelartdialog.cpp @@ -159,7 +159,7 @@ PixelArtDialogImpl::PixelArtDialogImpl() : // Heuristics { - curvesMultiplierLabel.set_label(_("_Curves (multiplier)")); + curvesMultiplierLabel.set_label(_("_Curves (multiplier):")); curvesMultiplierLabel.set_use_underline(true); curvesMultiplierLabel.set_mnemonic_widget(curvesMultiplierSpinner); curvesMultiplierLabel.set_tooltip_text(_("Favors connections that are part of a long curve")); @@ -173,7 +173,7 @@ PixelArtDialogImpl::PixelArtDialogImpl() : curvesMultiplierHBox.pack_end(curvesMultiplierSpinner, false, false); heuristicsVBox.pack_start(curvesMultiplierHBox, false, false); - islandsWeightLabel.set_label(_("_Islands (weight)")); + islandsWeightLabel.set_label(_("_Islands (weight):")); islandsWeightLabel.set_use_underline(true); islandsWeightLabel.set_mnemonic_widget(islandsWeightSpinner); islandsWeightLabel.set_tooltip_text(_("Avoid single disconnected pixels")); @@ -188,7 +188,7 @@ PixelArtDialogImpl::PixelArtDialogImpl() : islandsWeightHBox.pack_end(islandsWeightSpinner, false, false); heuristicsVBox.pack_start(islandsWeightHBox, false, false); - sparsePixelsRadiusLabel.set_label(_("Sparse pixels (window _radius)")); + sparsePixelsRadiusLabel.set_label(_("Sparse pixels (window _radius):")); sparsePixelsRadiusLabel.set_use_underline(true); sparsePixelsRadiusLabel.set_mnemonic_widget(sparsePixelsRadiusSpinner); @@ -198,7 +198,7 @@ PixelArtDialogImpl::PixelArtDialogImpl() : .connect(sigc::mem_fun(*this, &PixelArtDialogImpl::updatePreview)); sparsePixelsRadiusSpinner.set_tooltip_text(_("The radius of the window analyzed")); - sparsePixelsMultiplierLabel.set_label(_("Sparse pixels (_multiplier)")); + sparsePixelsMultiplierLabel.set_label(_("Sparse pixels (_multiplier):")); sparsePixelsMultiplierLabel.set_use_underline(true); sparsePixelsMultiplierLabel.set_mnemonic_widget(sparsePixelsMultiplierSpinner); -- cgit v1.2.3 From 2094267f37685e9d49eccf216d3c3b4c2674b6cb Mon Sep 17 00:00:00 2001 From: Bryce Harrington Date: Mon, 6 Jan 2014 12:50:49 -0800 Subject: Only display snapping tooltip if source / target are defined (LP #1255764) (bzr r12883) --- src/display/snap-indicator.cpp | 48 ++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/src/display/snap-indicator.cpp b/src/display/snap-indicator.cpp index 1dd3022c7..f21b6c81c 100644 --- a/src/display/snap-indicator.cpp +++ b/src/display/snap-indicator.cpp @@ -262,36 +262,38 @@ SnapIndicator::set_new_snaptarget(Inkscape::SnappedPoint const &p, bool pre_snap // Display the tooltip, which reveals the type of snap source and the type of snap target gchar *tooltip_str = NULL; - if (p.getSource() != SNAPSOURCE_GRID_PITCH) { + if (p.getSource() != SNAPSOURCE_GRID_PITCH && p.getTarget() != SNAPSOURCE_UNDEFINED) { tooltip_str = g_strconcat(source_name, _(" to "), target_name, NULL); - } else { + } else if (p.getSource() != SNAPSOURCE_UNDEFINED) { tooltip_str = g_strdup(source_name); } double fontsize = prefs->getInt("/tools/measure/fontsize"); - Geom::Point tooltip_pos = p.getPoint(); - if (tools_isactive(_desktop, TOOLS_MEASURE)) { - // Make sure that the snap tooltips do not overlap the ones from the measure tool - tooltip_pos += _desktop->w2d(Geom::Point(0, -3*fontsize)); - } else { - tooltip_pos += _desktop->w2d(Geom::Point(0, -2*fontsize)); + if (tooltip_str) { + Geom::Point tooltip_pos = p.getPoint(); + if (tools_isactive(_desktop, TOOLS_MEASURE)) { + // Make sure that the snap tooltips do not overlap the ones from the measure tool + tooltip_pos += _desktop->w2d(Geom::Point(0, -3*fontsize)); + } else { + tooltip_pos += _desktop->w2d(Geom::Point(0, -2*fontsize)); + } + + SPCanvasItem *canvas_tooltip = sp_canvastext_new(sp_desktop_tempgroup(_desktop), _desktop, tooltip_pos, tooltip_str); + sp_canvastext_set_fontsize(SP_CANVASTEXT(canvas_tooltip), fontsize); + SP_CANVASTEXT(canvas_tooltip)->rgba = 0xffffffff; + SP_CANVASTEXT(canvas_tooltip)->outline = false; + SP_CANVASTEXT(canvas_tooltip)->background = true; + if (pre_snap) { + SP_CANVASTEXT(canvas_tooltip)->rgba_background = 0x33337f40; + } else { + SP_CANVASTEXT(canvas_tooltip)->rgba_background = 0x33337f7f; + } + SP_CANVASTEXT(canvas_tooltip)->anchor_position = TEXT_ANCHOR_CENTER; + g_free(tooltip_str); + + _snaptarget_tooltip = _desktop->add_temporary_canvasitem(canvas_tooltip, timeout_val); } - SPCanvasItem *canvas_tooltip = sp_canvastext_new(sp_desktop_tempgroup(_desktop), _desktop, tooltip_pos, tooltip_str); - sp_canvastext_set_fontsize(SP_CANVASTEXT(canvas_tooltip), fontsize); - SP_CANVASTEXT(canvas_tooltip)->rgba = 0xffffffff; - SP_CANVASTEXT(canvas_tooltip)->outline = false; - SP_CANVASTEXT(canvas_tooltip)->background = true; - if (pre_snap) { - SP_CANVASTEXT(canvas_tooltip)->rgba_background = 0x33337f40; - } else { - SP_CANVASTEXT(canvas_tooltip)->rgba_background = 0x33337f7f; - } - SP_CANVASTEXT(canvas_tooltip)->anchor_position = TEXT_ANCHOR_CENTER; - g_free(tooltip_str); - - _snaptarget_tooltip = _desktop->add_temporary_canvasitem(canvas_tooltip, timeout_val); - // Display the bounding box, if we snapped to one Geom::OptRect const bbox = p.getTargetBBox(); if (bbox) { -- cgit v1.2.3 From dec7bb8bfd978b71f8b1b5bb8f83fb331adcb31e Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Cenoz Date: Mon, 6 Jan 2014 22:30:35 +0100 Subject: Fix transforming shapes with path effect applied (bug #1247324) Fixed bugs: - https://launchpad.net/bugs/1247324 (bzr r12884) --- src/sp-ellipse.cpp | 5 +++++ src/sp-spiral.cpp | 5 +++++ src/sp-star.cpp | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/src/sp-ellipse.cpp b/src/sp-ellipse.cpp index 7e5dda871..697b80608 100644 --- a/src/sp-ellipse.cpp +++ b/src/sp-ellipse.cpp @@ -506,6 +506,11 @@ void SPGenericEllipse::set_shape() Geom::Affine SPGenericEllipse::set_transform(Geom::Affine const &xform) { + // Allow live effects + if (hasPathEffect() && pathEffectsEnabled()) { + return xform; + } + /* Calculate ellipse start in parent coords. */ Geom::Point pos(Geom::Point(this->cx.computed, this->cy.computed) * xform); diff --git a/src/sp-spiral.cpp b/src/sp-spiral.cpp index ffb875f2a..9ef73d56d 100644 --- a/src/sp-spiral.cpp +++ b/src/sp-spiral.cpp @@ -440,6 +440,11 @@ Geom::Affine SPSpiral::set_transform(Geom::Affine const &xform) return xform; } + // Allow live effects + if (hasPathEffect() && pathEffectsEnabled()) { + return xform; + } + /* Calculate spiral start in parent coords. */ Geom::Point pos( Geom::Point(this->cx, this->cy) * xform ); diff --git a/src/sp-star.cpp b/src/sp-star.cpp index da10eeaa3..eac33ed7b 100644 --- a/src/sp-star.cpp +++ b/src/sp-star.cpp @@ -520,6 +520,11 @@ Geom::Affine SPStar::set_transform(Geom::Affine const &xform) return xform; } + // Allow live effects + if (hasPathEffect() && pathEffectsEnabled()) { + return xform; + } + /* Calculate star start in parent coords. */ Geom::Point pos( this->center * xform ); -- cgit v1.2.3 From 1a3923ceee80f32e42c677381138723b99278e1b Mon Sep 17 00:00:00 2001 From: Kris De Gussem Date: Mon, 6 Jan 2014 22:42:55 +0100 Subject: c-string buffer > Glib::ustring usage (bzr r12885) --- src/file.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/file.cpp b/src/file.cpp index cd52d0b86..babc4df99 100644 --- a/src/file.cpp +++ b/src/file.cpp @@ -855,23 +855,18 @@ sp_file_save_dialog(Gtk::Window &parentWindow, SPDocument *doc, Inkscape::Extens Glib::ustring save_loc = save_path; save_loc.append(G_DIR_SEPARATOR_S); - // TODO fixed buffer is bad: - char formatBuf[256]; int i = 1; if ( !doc->getURI() ) { // We are saving for the first time; create a unique default filename - snprintf(formatBuf, 255, _("drawing%s"), filename_extension.c_str()); - save_loc.append(formatBuf); + save_loc = save_loc + Glib::ustring(_("drawing")) + filename_extension; while (Inkscape::IO::file_test(save_loc.c_str(), G_FILE_TEST_EXISTS)) { save_loc = save_path; save_loc.append(G_DIR_SEPARATOR_S); - snprintf(formatBuf, 255, _("drawing-%d%s"), i++, filename_extension.c_str()); - save_loc.append(formatBuf); + save_loc = save_loc + Glib::ustring::compose(_("drawing-%1"), i++) + filename_extension; } } else { - snprintf(formatBuf, 255, _("%s"), Glib::path_get_basename(doc->getURI()).c_str()); - save_loc.append(formatBuf); + save_loc.append(Glib::path_get_basename(doc->getURI())); } // convert save_loc from utf-8 to locale -- cgit v1.2.3 From 5a56af5244ae3001e6d1847275a446d860e10dd9 Mon Sep 17 00:00:00 2001 From: Kris De Gussem Date: Tue, 7 Jan 2014 17:00:31 +0100 Subject: pot-file update (bzr r12886) --- po/inkscape.pot | 5065 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 2618 insertions(+), 2447 deletions(-) diff --git a/po/inkscape.pot b/po/inkscape.pot index 962ce7186..4768dbaff 100644 --- a/po/inkscape.pot +++ b/po/inkscape.pot @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: inkscape-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2013-11-07 15:09+0100\n" +"POT-Creation-Date: 2014-01-07 16:33+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -977,15 +977,16 @@ msgstr "" #: ../src/extension/internal/filter/paint.h:717 #: ../src/extension/internal/filter/shadows.h:73 #: ../src/extension/internal/filter/transparency.h:345 -#: ../src/ui/dialog/clonetiler.cpp:832 ../src/ui/dialog/clonetiler.cpp:983 -#: ../src/ui/dialog/document-properties.cpp:153 +#: ../src/filter-enums.cpp:67 ../src/ui/dialog/clonetiler.cpp:832 +#: ../src/ui/dialog/clonetiler.cpp:983 +#: ../src/ui/dialog/document-properties.cpp:154 +#: ../share/extensions/color_HSL_adjust.inx.h:20 #: ../share/extensions/color_blackandwhite.inx.h:2 #: ../share/extensions/color_brighter.inx.h:2 #: ../share/extensions/color_custom.inx.h:15 #: ../share/extensions/color_darker.inx.h:2 #: ../share/extensions/color_desaturate.inx.h:2 #: ../share/extensions/color_grayscale.inx.h:2 -#: ../share/extensions/color_HSL_adjust.inx.h:20 #: ../share/extensions/color_lesshue.inx.h:2 #: ../share/extensions/color_lesslight.inx.h:2 #: ../share/extensions/color_lesssaturation.inx.h:2 @@ -3222,48 +3223,6 @@ msgstr "" msgid "Old paint (bitmap)" msgstr "" -#: ../src/arc-context.cpp:265 -msgid "" -"Ctrl: make circle or integer-ratio ellipse, snap arc/segment angle" -msgstr "" - -#: ../src/arc-context.cpp:266 ../src/rect-context.cpp:293 -msgid "Shift: draw around the starting point" -msgstr "" - -#: ../src/arc-context.cpp:435 -#, c-format -msgid "" -"Ellipse: %s × %s (constrained to ratio %d:%d); with Shift " -"to draw around the starting point" -msgstr "" - -#: ../src/arc-context.cpp:437 -#, c-format -msgid "" -"Ellipse: %s × %s; with Ctrl to make square or integer-" -"ratio ellipse; with Shift to draw around the starting point" -msgstr "" - -#: ../src/arc-context.cpp:460 -msgid "Create ellipse" -msgstr "" - -#: ../src/box3d-context.cpp:375 ../src/box3d-context.cpp:382 -#: ../src/box3d-context.cpp:389 ../src/box3d-context.cpp:396 -#: ../src/box3d-context.cpp:403 ../src/box3d-context.cpp:410 -msgid "Change perspective (angle of PLs)" -msgstr "" - -#. status text -#: ../src/box3d-context.cpp:588 -msgid "3D Box; with Shift to extrude along the Z axis" -msgstr "" - -#: ../src/box3d-context.cpp:614 -msgid "Create 3D box" -msgstr "" - #. 3D box #: ../src/box3d.cpp:259 ../src/box3d.cpp:1329 #: ../src/ui/dialog/inkscape-preferences.cpp:398 @@ -3279,17 +3238,16 @@ msgstr "" msgid "(invalid UTF-8 string)" msgstr "" -#: ../src/color-profile.cpp:911 ../src/filter-enums.cpp:94 +#: ../src/color-profile.cpp:911 ../src/filter-enums.cpp:119 #: ../src/live_effects/lpe-ruler.cpp:32 #: ../src/ui/dialog/filter-effects-dialog.cpp:518 #: ../src/ui/dialog/inkscape-preferences.cpp:332 #: ../src/ui/dialog/inkscape-preferences.cpp:641 #: ../src/ui/dialog/inkscape-preferences.cpp:1259 -#: ../src/ui/dialog/inkscape-preferences.cpp:1423 -#: ../src/ui/dialog/inkscape-preferences.cpp:1821 +#: ../src/ui/dialog/inkscape-preferences.cpp:1830 #: ../src/ui/dialog/input.cpp:742 ../src/ui/dialog/input.cpp:743 #: ../src/ui/dialog/input.cpp:1571 ../src/ui/dialog/input.cpp:1625 -#: ../src/verbs.cpp:2352 ../src/widgets/gradient-toolbar.cpp:1129 +#: ../src/verbs.cpp:2352 ../src/widgets/gradient-toolbar.cpp:1130 #: ../src/widgets/pencil-toolbar.cpp:184 #: ../src/widgets/stroke-marker-selector.cpp:388 #: ../share/extensions/gcodetools_area.inx.h:48 @@ -3298,46 +3256,11 @@ msgstr "" #: ../share/extensions/gcodetools_graffiti.inx.h:37 #: ../share/extensions/gcodetools_lathe.inx.h:41 #: ../share/extensions/gcodetools_path_to_gcode.inx.h:30 -#: ../share/extensions/grid_polar.inx.h:4 ../share/extensions/scour.inx.h:18 +#: ../share/extensions/grid_polar.inx.h:4 ../share/extensions/plotter.inx.h:15 +#: ../share/extensions/scour.inx.h:18 msgid "None" msgstr "" -#: ../src/connector-context.cpp:544 -msgid "Creating new connector" -msgstr "" - -#: ../src/connector-context.cpp:799 -msgid "Connector endpoint drag cancelled." -msgstr "" - -#: ../src/connector-context.cpp:846 -msgid "Reroute connector" -msgstr "" - -#: ../src/connector-context.cpp:1013 -msgid "Create connector" -msgstr "" - -#: ../src/connector-context.cpp:1036 -msgid "Finishing connector" -msgstr "" - -#: ../src/connector-context.cpp:1272 -msgid "Connector endpoint: drag to reroute or connect to new shapes" -msgstr "" - -#: ../src/connector-context.cpp:1412 -msgid "Select at least one non-connector object." -msgstr "" - -#: ../src/connector-context.cpp:1417 ../src/widgets/connector-toolbar.cpp:326 -msgid "Make connectors avoid selected objects" -msgstr "" - -#: ../src/connector-context.cpp:1418 ../src/widgets/connector-toolbar.cpp:336 -msgid "Make connectors ignore selected objects" -msgstr "" - #: ../src/context-fns.cpp:36 ../src/context-fns.cpp:65 msgid "Current layer is hidden. Unhide it to be able to draw on it." msgstr "" @@ -3346,14 +3269,6 @@ msgstr "" msgid "Current layer is locked. Unlock it to be able to draw on it." msgstr "" -#: ../src/desktop.cpp:925 -msgid "No previous zoom." -msgstr "" - -#: ../src/desktop.cpp:946 -msgid "No next zoom." -msgstr "" - #: ../src/desktop-events.cpp:225 msgid "Create guide" msgstr "" @@ -3372,6 +3287,14 @@ msgstr "" msgid "Guideline: %s" msgstr "" +#: ../src/desktop.cpp:852 +msgid "No previous zoom." +msgstr "" + +#: ../src/desktop.cpp:873 +msgid "No next zoom." +msgstr "" + #: ../src/display/canvas-axonomgrid.cpp:317 ../src/display/canvas-grid.cpp:693 msgid "Grid _units:" msgstr "" @@ -3750,98 +3673,6 @@ msgstr "" msgid "Unnamed document %d" msgstr "" -#. We hit green anchor, closing Green-Blue-Red -#: ../src/draw-context.cpp:490 -msgid "Path is closed." -msgstr "" - -#. We hit bot start and end of single curve, closing paths -#: ../src/draw-context.cpp:505 -msgid "Closing path." -msgstr "" - -#: ../src/draw-context.cpp:607 -msgid "Draw path" -msgstr "" - -#: ../src/draw-context.cpp:764 -msgid "Creating single dot" -msgstr "" - -#: ../src/draw-context.cpp:765 -msgid "Create single dot" -msgstr "" - -#. alpha of color under cursor, to show in the statusbar -#. locale-sensitive printf is OK, since this goes to the UI, not into SVG -#: ../src/dropper-context.cpp:279 -#, c-format -msgid " alpha %.3g" -msgstr "" - -#. where the color is picked, to show in the statusbar -#: ../src/dropper-context.cpp:281 -#, c-format -msgid ", averaged with radius %d" -msgstr "" - -#: ../src/dropper-context.cpp:281 -msgid " under cursor" -msgstr "" - -#. message, to show in the statusbar -#: ../src/dropper-context.cpp:283 -msgid "Release mouse to set color." -msgstr "" - -#: ../src/dropper-context.cpp:283 ../src/tools-switch.cpp:108 -msgid "" -"Click to set fill, Shift+click to set stroke; drag to " -"average color in area; with Alt to pick inverse color; Ctrl+C " -"to copy the color under mouse to clipboard" -msgstr "" - -#: ../src/dropper-context.cpp:331 -msgid "Set picked color" -msgstr "" - -#: ../src/dyna-draw-context.cpp:539 -msgid "" -"Guide path selected; start drawing along the guide with Ctrl" -msgstr "" - -#: ../src/dyna-draw-context.cpp:541 -msgid "Select a guide path to track with Ctrl" -msgstr "" - -#: ../src/dyna-draw-context.cpp:676 -msgid "Tracking: connection to guide path lost!" -msgstr "" - -#: ../src/dyna-draw-context.cpp:676 -msgid "Tracking a guide path" -msgstr "" - -#: ../src/dyna-draw-context.cpp:679 -msgid "Drawing a calligraphic stroke" -msgstr "" - -#: ../src/dyna-draw-context.cpp:980 -msgid "Draw calligraphic stroke" -msgstr "" - -#: ../src/eraser-context.cpp:433 -msgid "Drawing an eraser stroke" -msgstr "" - -#: ../src/eraser-context.cpp:766 -msgid "Draw eraser stroke" -msgstr "" - -#: ../src/event-context.cpp:708 -msgid "Space+mouse move to pan canvas" -msgstr "" - #: ../src/event-log.cpp:37 msgid "[Unchanged]" msgstr "" @@ -4005,7 +3836,7 @@ msgstr "" #: ../src/extension/internal/bitmap/sample.cpp:41 #: ../src/extension/internal/bluredge.cpp:138 #: ../src/ui/dialog/object-attributes.cpp:68 -#: ../src/ui/dialog/object-attributes.cpp:76 +#: ../src/ui/dialog/object-attributes.cpp:77 #: ../src/widgets/calligraphy-toolbar.cpp:447 #: ../src/widgets/eraser-toolbar.cpp:145 ../src/widgets/spray-toolbar.cpp:128 #: ../src/widgets/tweak-toolbar.cpp:142 @@ -4017,14 +3848,14 @@ msgstr "" #: ../src/extension/internal/bitmap/raise.cpp:43 #: ../src/extension/internal/bitmap/sample.cpp:42 #: ../src/ui/dialog/object-attributes.cpp:69 -#: ../src/ui/dialog/object-attributes.cpp:77 +#: ../src/ui/dialog/object-attributes.cpp:78 #: ../share/extensions/foldablebox.inx.h:3 msgid "Height:" msgstr "" #. Label #: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:43 -#: ../src/widgets/gradient-toolbar.cpp:1173 +#: ../src/widgets/gradient-toolbar.cpp:1174 #: ../src/widgets/gradient-vector.cpp:926 #: ../share/extensions/printing_marks.inx.h:12 msgid "Offset:" @@ -4046,8 +3877,8 @@ msgstr "" #: ../src/extension/internal/bitmap/equalize.cpp:40 #: ../src/extension/internal/bitmap/gaussianBlur.cpp:45 #: ../src/extension/internal/bitmap/implode.cpp:43 -#: ../src/extension/internal/bitmap/levelChannel.cpp:71 #: ../src/extension/internal/bitmap/level.cpp:49 +#: ../src/extension/internal/bitmap/levelChannel.cpp:71 #: ../src/extension/internal/bitmap/medianFilter.cpp:43 #: ../src/extension/internal/bitmap/modulate.cpp:48 #: ../src/extension/internal/bitmap/negate.cpp:41 @@ -4344,48 +4175,48 @@ msgstr "" msgid "Implode selected bitmap(s)" msgstr "" -#: ../src/extension/internal/bitmap/levelChannel.cpp:52 -msgid "Level (with Channel)" -msgstr "" - -#: ../src/extension/internal/bitmap/levelChannel.cpp:54 -#: ../src/extension/internal/filter/color.h:636 -msgid "Channel:" +#: ../src/extension/internal/bitmap/level.cpp:41 +#: ../src/extension/internal/filter/color.h:742 +#: ../src/extension/internal/filter/image.h:56 +#: ../src/extension/internal/filter/morphology.h:66 +#: ../src/extension/internal/filter/paint.h:345 +msgid "Level" msgstr "" -#: ../src/extension/internal/bitmap/levelChannel.cpp:65 #: ../src/extension/internal/bitmap/level.cpp:43 +#: ../src/extension/internal/bitmap/levelChannel.cpp:65 msgid "Black Point:" msgstr "" -#: ../src/extension/internal/bitmap/levelChannel.cpp:66 #: ../src/extension/internal/bitmap/level.cpp:44 +#: ../src/extension/internal/bitmap/levelChannel.cpp:66 msgid "White Point:" msgstr "" -#: ../src/extension/internal/bitmap/levelChannel.cpp:67 #: ../src/extension/internal/bitmap/level.cpp:45 +#: ../src/extension/internal/bitmap/levelChannel.cpp:67 msgid "Gamma Correction:" msgstr "" -#: ../src/extension/internal/bitmap/levelChannel.cpp:73 +#: ../src/extension/internal/bitmap/level.cpp:51 msgid "" -"Level the specified channel of selected bitmap(s) by scaling values falling " -"between the given ranges to the full color range" +"Level selected bitmap(s) by scaling values falling between the given ranges " +"to the full color range" msgstr "" -#: ../src/extension/internal/bitmap/level.cpp:41 -#: ../src/extension/internal/filter/color.h:742 -#: ../src/extension/internal/filter/image.h:56 -#: ../src/extension/internal/filter/morphology.h:66 -#: ../src/extension/internal/filter/paint.h:345 -msgid "Level" +#: ../src/extension/internal/bitmap/levelChannel.cpp:52 +msgid "Level (with Channel)" msgstr "" -#: ../src/extension/internal/bitmap/level.cpp:51 +#: ../src/extension/internal/bitmap/levelChannel.cpp:54 +#: ../src/extension/internal/filter/color.h:636 +msgid "Channel:" +msgstr "" + +#: ../src/extension/internal/bitmap/levelChannel.cpp:73 msgid "" -"Level selected bitmap(s) by scaling values falling between the given ranges " -"to the full color range" +"Level the specified channel of selected bitmap(s) by scaling values falling " +"between the given ranges to the full color range" msgstr "" #: ../src/extension/internal/bitmap/medianFilter.cpp:37 @@ -4936,8 +4767,8 @@ msgstr "" #: ../src/extension/internal/filter/color.h:1615 #: ../src/extension/internal/filter/distort.h:95 #: ../src/extension/internal/filter/distort.h:204 -#: ../src/extension/internal/filter/filter.cpp:214 #: ../src/extension/internal/filter/filter-file.cpp:151 +#: ../src/extension/internal/filter/filter.cpp:214 #: ../src/extension/internal/filter/image.h:61 #: ../src/extension/internal/filter/morphology.h:75 #: ../src/extension/internal/filter/morphology.h:202 @@ -5143,7 +4974,7 @@ msgstr "" #: ../src/extension/internal/filter/blurs.h:336 #: ../src/extension/internal/filter/color.h:1205 #: ../src/extension/internal/filter/color.h:1317 -#: ../src/ui/dialog/document-properties.cpp:111 +#: ../src/ui/dialog/document-properties.cpp:112 msgid "Background color" msgstr "" @@ -5204,7 +5035,7 @@ msgstr "" #: ../src/extension/internal/filter/color.h:637 #: ../src/extension/internal/filter/color.h:821 #: ../src/extension/internal/filter/transparency.h:132 -#: ../src/filter-enums.cpp:100 ../src/flood-context.cpp:194 +#: ../src/filter-enums.cpp:125 ../src/ui/tools/flood-tool.cpp:198 #: ../src/widgets/sp-color-icc-selector.cpp:355 #: ../src/widgets/sp-color-scales.cpp:429 #: ../src/widgets/sp-color-scales.cpp:430 @@ -5217,7 +5048,7 @@ msgstr "" #: ../src/extension/internal/filter/color.h:638 #: ../src/extension/internal/filter/color.h:822 #: ../src/extension/internal/filter/transparency.h:133 -#: ../src/filter-enums.cpp:101 ../src/flood-context.cpp:195 +#: ../src/filter-enums.cpp:126 ../src/ui/tools/flood-tool.cpp:199 #: ../src/widgets/sp-color-icc-selector.cpp:356 #: ../src/widgets/sp-color-scales.cpp:432 #: ../src/widgets/sp-color-scales.cpp:433 @@ -5230,7 +5061,7 @@ msgstr "" #: ../src/extension/internal/filter/color.h:639 #: ../src/extension/internal/filter/color.h:823 #: ../src/extension/internal/filter/transparency.h:134 -#: ../src/filter-enums.cpp:102 ../src/flood-context.cpp:196 +#: ../src/filter-enums.cpp:127 ../src/ui/tools/flood-tool.cpp:200 #: ../src/widgets/sp-color-icc-selector.cpp:357 #: ../src/widgets/sp-color-scales.cpp:435 #: ../src/widgets/sp-color-scales.cpp:436 @@ -5254,8 +5085,8 @@ msgid "Diffuse" msgstr "" #: ../src/extension/internal/filter/bumps.h:98 -#: ../src/extension/internal/filter/bumps.h:329 ../src/libgdl/gdl-dock.c:199 -#: ../src/libgdl/gdl-dock-placeholder.c:175 +#: ../src/extension/internal/filter/bumps.h:329 +#: ../src/libgdl/gdl-dock-placeholder.c:175 ../src/libgdl/gdl-dock.c:199 #: ../src/widgets/rect-toolbar.cpp:338 #: ../share/extensions/interp_att_g.inx.h:11 msgid "Height" @@ -5268,7 +5099,8 @@ msgstr "" #: ../src/extension/internal/filter/color.h:1113 #: ../src/extension/internal/filter/paint.h:86 #: ../src/extension/internal/filter/paint.h:592 -#: ../src/extension/internal/filter/paint.h:707 ../src/flood-context.cpp:199 +#: ../src/extension/internal/filter/paint.h:707 +#: ../src/ui/tools/flood-tool.cpp:203 #: ../src/widgets/sp-color-icc-selector.cpp:366 #: ../src/widgets/sp-color-scales.cpp:461 #: ../src/widgets/sp-color-scales.cpp:462 ../src/widgets/tweak-toolbar.cpp:332 @@ -5422,14 +5254,14 @@ msgstr "" #: ../src/extension/internal/filter/bumps.h:353 #: ../src/extension/internal/filter/morphology.h:176 -#: ../src/filter-enums.cpp:74 +#: ../src/filter-enums.cpp:88 msgid "Atop" msgstr "" #: ../src/extension/internal/filter/bumps.h:354 #: ../src/extension/internal/filter/distort.h:70 #: ../src/extension/internal/filter/morphology.h:174 -#: ../src/filter-enums.cpp:72 +#: ../src/filter-enums.cpp:86 msgid "In" msgstr "" @@ -5466,8 +5298,9 @@ msgstr "" #: ../src/extension/internal/filter/color.h:156 #: ../src/extension/internal/filter/color.h:257 -#: ../src/extension/internal/filter/paint.h:87 ../src/flood-context.cpp:198 +#: ../src/extension/internal/filter/paint.h:87 ../src/filter-enums.cpp:66 #: ../src/ui/dialog/inkscape-preferences.cpp:941 +#: ../src/ui/tools/flood-tool.cpp:202 #: ../src/widgets/sp-color-icc-selector.cpp:362 #: ../src/widgets/sp-color-icc-selector.cpp:367 #: ../src/widgets/sp-color-scales.cpp:458 @@ -5478,7 +5311,7 @@ msgstr "" #: ../src/extension/internal/filter/color.h:160 #: ../src/extension/internal/filter/transparency.h:135 -#: ../src/filter-enums.cpp:103 ../src/flood-context.cpp:200 +#: ../src/filter-enums.cpp:128 ../src/ui/tools/flood-tool.cpp:204 msgid "Alpha" msgstr "" @@ -5528,26 +5361,26 @@ msgstr "" msgid "Component Transfer" msgstr "" -#: ../src/extension/internal/filter/color.h:427 ../src/filter-enums.cpp:82 +#: ../src/extension/internal/filter/color.h:427 ../src/filter-enums.cpp:107 msgid "Identity" msgstr "" #: ../src/extension/internal/filter/color.h:428 -#: ../src/extension/internal/filter/paint.h:498 ../src/filter-enums.cpp:83 +#: ../src/extension/internal/filter/paint.h:498 ../src/filter-enums.cpp:108 msgid "Table" msgstr "" #: ../src/extension/internal/filter/color.h:429 -#: ../src/extension/internal/filter/paint.h:499 ../src/filter-enums.cpp:84 +#: ../src/extension/internal/filter/paint.h:499 ../src/filter-enums.cpp:109 msgid "Discrete" msgstr "" -#: ../src/extension/internal/filter/color.h:430 ../src/filter-enums.cpp:85 +#: ../src/extension/internal/filter/color.h:430 ../src/filter-enums.cpp:110 #: ../src/live_effects/lpe-powerstroke.cpp:188 msgid "Linear" msgstr "" -#: ../src/extension/internal/filter/color.h:431 ../src/filter-enums.cpp:86 +#: ../src/extension/internal/filter/color.h:431 ../src/filter-enums.cpp:111 msgid "Gamma" msgstr "" @@ -5732,7 +5565,7 @@ msgstr "" #: ../src/extension/internal/filter/paint.h:356 ../src/filter-enums.cpp:32 #: ../src/live_effects/effect.cpp:97 ../src/live_effects/lpe-offset.cpp:31 #: ../src/live_effects/lpe-parallel.cpp:50 -#: ../src/widgets/gradient-toolbar.cpp:1173 +#: ../src/widgets/gradient-toolbar.cpp:1174 msgid "Offset" msgstr "" @@ -5897,7 +5730,7 @@ msgstr "" #: ../src/extension/internal/filter/distort.h:71 #: ../src/extension/internal/filter/morphology.h:175 -#: ../src/filter-enums.cpp:73 +#: ../src/filter-enums.cpp:87 msgid "Out" msgstr "" @@ -5937,7 +5770,7 @@ msgstr "" #: ../src/extension/internal/filter/distort.h:194 #: ../src/extension/internal/filter/overlays.h:62 #: ../src/extension/internal/filter/paint.h:693 ../src/filter-enums.cpp:35 -#: ../src/filter-enums.cpp:117 +#: ../src/filter-enums.cpp:142 msgid "Turbulence" msgstr "" @@ -6014,8 +5847,8 @@ msgid "Detect:" msgstr "" #: ../src/extension/internal/filter/image.h:52 -#: ../src/ui/dialog/template-load-tab.cpp:100 -#: ../src/ui/dialog/template-load-tab.cpp:135 +#: ../src/ui/dialog/template-load-tab.cpp:104 +#: ../src/ui/dialog/template-load-tab.cpp:141 msgid "All" msgstr "" @@ -6054,7 +5887,7 @@ msgid "Open" msgstr "" #: ../src/extension/internal/filter/morphology.h:65 -#: ../src/libgdl/gdl-dock.c:191 ../src/libgdl/gdl-dock-placeholder.c:167 +#: ../src/libgdl/gdl-dock-placeholder.c:167 ../src/libgdl/gdl-dock.c:191 #: ../src/widgets/rect-toolbar.cpp:321 ../src/widgets/spray-toolbar.cpp:128 #: ../src/widgets/tweak-toolbar.cpp:142 #: ../share/extensions/interp_att_g.inx.h:10 @@ -6091,12 +5924,12 @@ msgid "Composite type:" msgstr "" #: ../src/extension/internal/filter/morphology.h:173 -#: ../src/filter-enums.cpp:71 +#: ../src/filter-enums.cpp:85 msgid "Over" msgstr "" #: ../src/extension/internal/filter/morphology.h:177 -#: ../src/filter-enums.cpp:75 +#: ../src/filter-enums.cpp:89 msgid "XOR" msgstr "" @@ -6165,8 +5998,8 @@ msgstr "" #: ../src/extension/internal/filter/paint.h:690 #: ../src/extension/internal/filter/shadows.h:60 ../src/ui/dialog/find.cpp:87 #: ../src/ui/dialog/tracedialog.cpp:747 -#: ../share/extensions/color_custom.inx.h:2 #: ../share/extensions/color_HSL_adjust.inx.h:2 +#: ../share/extensions/color_custom.inx.h:2 #: ../share/extensions/color_randomize.inx.h:2 #: ../share/extensions/dots.inx.h:2 ../share/extensions/dxf_input.inx.h:2 #: ../share/extensions/dxf_outlines.inx.h:2 @@ -6185,9 +6018,9 @@ msgstr "" #: ../share/extensions/radiusrand.inx.h:2 ../share/extensions/scour.inx.h:2 #: ../share/extensions/split.inx.h:2 ../share/extensions/voronoi2svg.inx.h:2 #: ../share/extensions/web-set-att.inx.h:2 +#: ../share/extensions/web-transmit-att.inx.h:2 #: ../share/extensions/webslicer_create_group.inx.h:2 #: ../share/extensions/webslicer_export.inx.h:2 -#: ../share/extensions/web-transmit-att.inx.h:2 msgid "Options" msgstr "" @@ -6296,7 +6129,7 @@ msgstr "" #: ../src/extension/internal/filter/paint.h:335 #: ../src/extension/internal/filter/paint.h:496 #: ../src/extension/internal/filter/paint.h:590 -#: ../src/extension/internal/filter/paint.h:976 ../src/splivarot.cpp:2224 +#: ../src/extension/internal/filter/paint.h:976 ../src/splivarot.cpp:2207 msgid "Simplify" msgstr "" @@ -6625,34 +6458,61 @@ msgstr "" msgid "Repaint anything visible monochrome" msgstr "" -#: ../src/extension/internal/gdkpixbuf-input.cpp:152 +#: ../src/extension/internal/gdkpixbuf-input.cpp:169 #, c-format msgid "%s bitmap image import" msgstr "" -#: ../src/extension/internal/gdkpixbuf-input.cpp:158 +#: ../src/extension/internal/gdkpixbuf-input.cpp:176 msgid "Link or embed image:" msgstr "" -#: ../src/extension/internal/gdkpixbuf-input.cpp:159 +#: ../src/extension/internal/gdkpixbuf-input.cpp:177 +#: ../src/ui/dialog/inkscape-preferences.cpp:1445 msgid "Embed" msgstr "" -#: ../src/extension/internal/gdkpixbuf-input.cpp:160 ../src/sp-anchor.cpp:119 +#: ../src/extension/internal/gdkpixbuf-input.cpp:178 ../src/sp-anchor.cpp:119 +#: ../src/ui/dialog/inkscape-preferences.cpp:1445 msgid "Link" msgstr "" -#: ../src/extension/internal/gdkpixbuf-input.cpp:162 +#: ../src/extension/internal/gdkpixbuf-input.cpp:180 msgid "" "Embed results in stand-alone, larger SVG files. Link references a file " "outside this SVG document and all files must be moved together." msgstr "" -#: ../src/extension/internal/gdkpixbuf-input.cpp:163 -msgid "Hide the dialog next time and always apply the same action." +#: ../src/extension/internal/gdkpixbuf-input.cpp:182 +msgid "Scale image preference (image-rendering):" +msgstr "" + +#: ../src/extension/internal/gdkpixbuf-input.cpp:183 +#: ../src/ui/dialog/inkscape-preferences.cpp:1452 +msgid "None (auto)" +msgstr "" + +#: ../src/extension/internal/gdkpixbuf-input.cpp:184 +#: ../src/ui/dialog/inkscape-preferences.cpp:1452 +msgid "Smooth (optimizeQuality)" +msgstr "" + +#: ../src/extension/internal/gdkpixbuf-input.cpp:185 +#: ../src/ui/dialog/inkscape-preferences.cpp:1452 +msgid "Blocky (optimizeSpeed)" +msgstr "" + +#: ../src/extension/internal/gdkpixbuf-input.cpp:187 +msgid "" +"When an image is upscaled, apply smoothing or keep blocky (pixelated). (Will " +"not work in all browsers.)" +msgstr "" + +#: ../src/extension/internal/gdkpixbuf-input.cpp:189 +msgid "Hide the dialog next time and always apply the same actions." msgstr "" -#: ../src/extension/internal/gdkpixbuf-input.cpp:163 +#: ../src/extension/internal/gdkpixbuf-input.cpp:189 msgid "Don't ask again" msgstr "" @@ -6709,8 +6569,8 @@ msgstr "" #: ../share/extensions/polyhedron_3d.inx.h:56 #: ../share/extensions/printing_marks.inx.h:20 #: ../share/extensions/render_alphabetsoup.inx.h:5 -#: ../share/extensions/render_barcode_datamatrix.inx.h:5 #: ../share/extensions/render_barcode.inx.h:5 +#: ../share/extensions/render_barcode_datamatrix.inx.h:5 #: ../share/extensions/render_barcode_qrcode.inx.h:18 #: ../share/extensions/render_gear_rack.inx.h:5 #: ../share/extensions/render_gears.inx.h:11 ../share/extensions/rtree.inx.h:4 @@ -6722,9 +6582,9 @@ msgid "Render" msgstr "" #: ../src/extension/internal/grid.cpp:221 -#: ../src/ui/dialog/document-properties.cpp:151 +#: ../src/ui/dialog/document-properties.cpp:152 #: ../src/ui/dialog/inkscape-preferences.cpp:776 -#: ../src/widgets/toolbox.cpp:1824 +#: ../src/widgets/toolbox.cpp:1825 msgid "Grids" msgstr "" @@ -6744,10 +6604,6 @@ msgstr "" msgid "JavaFX Raytracer File" msgstr "" -#: ../src/extension/internal/latex-pstricks.cpp:334 -msgid "LaTeX Print" -msgstr "" - #: ../src/extension/internal/latex-pstricks-out.cpp:95 msgid "LaTeX Output" msgstr "" @@ -6760,6 +6616,10 @@ msgstr "" msgid "LaTeX PSTricks File" msgstr "" +#: ../src/extension/internal/latex-pstricks.cpp:334 +msgid "LaTeX Print" +msgstr "" + #: ../src/extension/internal/odf.cpp:2149 msgid "OpenDocument Drawing Output" msgstr "" @@ -7100,7 +6960,7 @@ msgstr "" msgid "Broken links have been changed to point to existing files." msgstr "" -#: ../src/file.cpp:331 ../src/file.cpp:1259 +#: ../src/file.cpp:331 ../src/file.cpp:1250 #, c-format msgid "Failed to load the requested file %s" msgstr "" @@ -7169,50 +7029,49 @@ msgid "Document saved." msgstr "" #. We are saving for the first time; create a unique default filename -#: ../src/file.cpp:866 ../src/file.cpp:1422 -#, c-format -msgid "drawing%s" +#: ../src/file.cpp:861 +msgid "drawing" msgstr "" -#: ../src/file.cpp:872 -#, c-format -msgid "drawing-%d%s" -msgstr "" - -#: ../src/file.cpp:876 -#, c-format -msgid "%s" +#: ../src/file.cpp:866 +msgid "drawing-%1" msgstr "" -#: ../src/file.cpp:891 +#: ../src/file.cpp:883 msgid "Select file to save a copy to" msgstr "" -#: ../src/file.cpp:893 +#: ../src/file.cpp:885 msgid "Select file to save to" msgstr "" -#: ../src/file.cpp:999 ../src/file.cpp:1001 +#: ../src/file.cpp:990 ../src/file.cpp:992 msgid "No changes need to be saved." msgstr "" -#: ../src/file.cpp:1020 +#: ../src/file.cpp:1011 msgid "Saving document..." msgstr "" -#: ../src/file.cpp:1256 ../src/ui/dialog/ocaldialogs.cpp:1244 +#: ../src/file.cpp:1247 ../src/ui/dialog/inkscape-preferences.cpp:1439 +#: ../src/ui/dialog/ocaldialogs.cpp:1246 msgid "Import" msgstr "" -#: ../src/file.cpp:1306 +#: ../src/file.cpp:1297 msgid "Select file to import" msgstr "" -#: ../src/file.cpp:1444 +#: ../src/file.cpp:1413 +#, c-format +msgid "drawing%s" +msgstr "" + +#: ../src/file.cpp:1435 msgid "Select file to export to" msgstr "" -#: ../src/file.cpp:1697 +#: ../src/file.cpp:1688 msgid "Import Clip Art" msgstr "" @@ -7276,137 +7135,139 @@ msgstr "" msgid "Stroke Paint" msgstr "" -#: ../src/filter-enums.cpp:61 -msgid "Matrix" +#. New in Compositing and Blending Level 1 +#: ../src/filter-enums.cpp:58 +msgid "Overlay" msgstr "" -#: ../src/filter-enums.cpp:62 -msgid "Saturate" +#: ../src/filter-enums.cpp:59 +msgid "Color Dodge" msgstr "" -#: ../src/filter-enums.cpp:63 -msgid "Hue Rotate" +#: ../src/filter-enums.cpp:60 +msgid "Color Burn" msgstr "" -#: ../src/filter-enums.cpp:64 -msgid "Luminance to Alpha" +#: ../src/filter-enums.cpp:61 +msgid "Hard Light" msgstr "" -#. File -#: ../src/filter-enums.cpp:70 ../src/verbs.cpp:2355 -#: ../share/extensions/jessyInk_mouseHandler.inx.h:3 -#: ../share/extensions/jessyInk_transitions.inx.h:7 -msgid "Default" +#: ../src/filter-enums.cpp:62 +msgid "Soft Light" msgstr "" -#: ../src/filter-enums.cpp:76 -msgid "Arithmetic" +#: ../src/filter-enums.cpp:63 ../src/splivarot.cpp:88 ../src/splivarot.cpp:94 +msgid "Difference" msgstr "" -#: ../src/filter-enums.cpp:92 ../src/selection-chemistry.cpp:532 -msgid "Duplicate" +#: ../src/filter-enums.cpp:64 ../src/live_effects/lpe-boolops.cpp:28 +#: ../src/splivarot.cpp:100 +msgid "Exclusion" msgstr "" -#: ../src/filter-enums.cpp:93 -msgid "Wrap" +#: ../src/filter-enums.cpp:65 ../src/ui/tools/flood-tool.cpp:201 +#: ../src/widgets/sp-color-icc-selector.cpp:361 +#: ../src/widgets/sp-color-icc-selector.cpp:365 +#: ../src/widgets/sp-color-scales.cpp:455 +#: ../src/widgets/sp-color-scales.cpp:456 ../src/widgets/tweak-toolbar.cpp:300 +#: ../share/extensions/color_randomize.inx.h:3 +msgid "Hue" msgstr "" -#: ../src/filter-enums.cpp:109 -msgid "Erode" +#: ../src/filter-enums.cpp:68 +msgid "Luminosity" msgstr "" -#: ../src/filter-enums.cpp:110 -msgid "Dilate" +#: ../src/filter-enums.cpp:75 +msgid "Matrix" msgstr "" -#: ../src/filter-enums.cpp:116 -msgid "Fractal Noise" +#: ../src/filter-enums.cpp:76 +msgid "Saturate" msgstr "" -#: ../src/filter-enums.cpp:123 -msgid "Distant Light" +#: ../src/filter-enums.cpp:77 +msgid "Hue Rotate" msgstr "" -#: ../src/filter-enums.cpp:124 -msgid "Point Light" +#: ../src/filter-enums.cpp:78 +msgid "Luminance to Alpha" msgstr "" -#: ../src/filter-enums.cpp:125 -msgid "Spot Light" +#. File +#: ../src/filter-enums.cpp:84 ../src/verbs.cpp:2355 +#: ../share/extensions/jessyInk_mouseHandler.inx.h:3 +#: ../share/extensions/jessyInk_transitions.inx.h:7 +msgid "Default" msgstr "" -#: ../src/flood-context.cpp:193 -msgid "Visible Colors" +#. New CSS +#: ../src/filter-enums.cpp:92 +msgid "Clear" msgstr "" -#: ../src/flood-context.cpp:197 ../src/widgets/sp-color-icc-selector.cpp:361 -#: ../src/widgets/sp-color-icc-selector.cpp:365 -#: ../src/widgets/sp-color-scales.cpp:455 -#: ../src/widgets/sp-color-scales.cpp:456 ../src/widgets/tweak-toolbar.cpp:300 -#: ../share/extensions/color_randomize.inx.h:3 -msgid "Hue" +#: ../src/filter-enums.cpp:93 +msgid "Copy" msgstr "" -#: ../src/flood-context.cpp:211 -msgctxt "Flood autogap" -msgid "None" +#: ../src/filter-enums.cpp:94 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1628 +msgid "Destination" msgstr "" -#: ../src/flood-context.cpp:212 -msgctxt "Flood autogap" -msgid "Small" +#: ../src/filter-enums.cpp:95 +msgid "Destination Over" msgstr "" -#: ../src/flood-context.cpp:213 -msgctxt "Flood autogap" -msgid "Medium" +#: ../src/filter-enums.cpp:96 +msgid "Destination In" msgstr "" -#: ../src/flood-context.cpp:214 -msgctxt "Flood autogap" -msgid "Large" +#: ../src/filter-enums.cpp:97 +msgid "Destination Out" msgstr "" -#: ../src/flood-context.cpp:436 -msgid "Too much inset, the result is empty." +#: ../src/filter-enums.cpp:98 +msgid "Destination Atop" msgstr "" -#: ../src/flood-context.cpp:477 -#, c-format -msgid "" -"Area filled, path with %d node created and unioned with selection." -msgid_plural "" -"Area filled, path with %d nodes created and unioned with selection." -msgstr[0] "" -msgstr[1] "" +#: ../src/filter-enums.cpp:99 +msgid "Lighter" +msgstr "" -#: ../src/flood-context.cpp:483 -#, c-format -msgid "Area filled, path with %d node created." -msgid_plural "Area filled, path with %d nodes created." -msgstr[0] "" -msgstr[1] "" +#: ../src/filter-enums.cpp:101 +msgid "Arithmetic" +msgstr "" -#: ../src/flood-context.cpp:751 ../src/flood-context.cpp:1061 -msgid "Area is not bounded, cannot fill." +#: ../src/filter-enums.cpp:117 ../src/selection-chemistry.cpp:533 +msgid "Duplicate" msgstr "" -#: ../src/flood-context.cpp:1066 -msgid "" -"Only the visible part of the bounded area was filled. If you want to " -"fill all of the area, undo, zoom out, and fill again." +#: ../src/filter-enums.cpp:118 +msgid "Wrap" msgstr "" -#: ../src/flood-context.cpp:1084 ../src/flood-context.cpp:1235 -msgid "Fill bounded area" +#: ../src/filter-enums.cpp:134 +msgid "Erode" msgstr "" -#: ../src/flood-context.cpp:1100 -msgid "Set style on object" +#: ../src/filter-enums.cpp:135 +msgid "Dilate" msgstr "" -#: ../src/flood-context.cpp:1160 -msgid "Draw over areas to add to fill, hold Alt for touch fill" +#: ../src/filter-enums.cpp:141 +msgid "Fractal Noise" +msgstr "" + +#: ../src/filter-enums.cpp:148 +msgid "Distant Light" +msgstr "" + +#: ../src/filter-enums.cpp:149 +msgid "Point Light" +msgstr "" + +#: ../src/filter-enums.cpp:150 +msgid "Spot Light" msgstr "" #: ../src/gradient-chemistry.cpp:1568 @@ -7417,138 +7278,51 @@ msgstr "" msgid "Reverse gradient" msgstr "" -#: ../src/gradient-chemistry.cpp:1608 ../src/widgets/gradient-selector.cpp:228 +#: ../src/gradient-chemistry.cpp:1608 ../src/widgets/gradient-selector.cpp:245 msgid "Delete swatch" msgstr "" -#: ../src/gradient-context.cpp:101 ../src/gradient-drag.cpp:96 +#: ../src/gradient-drag.cpp:96 ../src/ui/tools/gradient-tool.cpp:104 msgid "Linear gradient start" msgstr "" #. POINT_LG_BEGIN -#: ../src/gradient-context.cpp:102 ../src/gradient-drag.cpp:97 +#: ../src/gradient-drag.cpp:97 ../src/ui/tools/gradient-tool.cpp:105 msgid "Linear gradient end" msgstr "" -#: ../src/gradient-context.cpp:103 ../src/gradient-drag.cpp:98 +#: ../src/gradient-drag.cpp:98 ../src/ui/tools/gradient-tool.cpp:106 msgid "Linear gradient mid stop" msgstr "" -#: ../src/gradient-context.cpp:104 ../src/gradient-drag.cpp:99 +#: ../src/gradient-drag.cpp:99 ../src/ui/tools/gradient-tool.cpp:107 msgid "Radial gradient center" msgstr "" -#: ../src/gradient-context.cpp:105 ../src/gradient-context.cpp:106 #: ../src/gradient-drag.cpp:100 ../src/gradient-drag.cpp:101 +#: ../src/ui/tools/gradient-tool.cpp:108 ../src/ui/tools/gradient-tool.cpp:109 msgid "Radial gradient radius" msgstr "" -#: ../src/gradient-context.cpp:107 ../src/gradient-drag.cpp:102 +#: ../src/gradient-drag.cpp:102 ../src/ui/tools/gradient-tool.cpp:110 msgid "Radial gradient focus" msgstr "" #. POINT_RG_FOCUS -#: ../src/gradient-context.cpp:108 ../src/gradient-context.cpp:109 #: ../src/gradient-drag.cpp:103 ../src/gradient-drag.cpp:104 +#: ../src/ui/tools/gradient-tool.cpp:111 ../src/ui/tools/gradient-tool.cpp:112 msgid "Radial gradient mid stop" msgstr "" -#. TRANSLATORS: %s will be substituted with the point name (see previous messages); This is part of a compound message -#: ../src/gradient-context.cpp:132 ../src/mesh-context.cpp:129 -#, c-format -msgid "%s selected" -msgstr "" - -#. TRANSLATORS: Mind the space in front. This is part of a compound message -#: ../src/gradient-context.cpp:134 ../src/gradient-context.cpp:143 -#, c-format -msgid " out of %d gradient handle" -msgid_plural " out of %d gradient handles" -msgstr[0] "" -msgstr[1] "" - -#. TRANSLATORS: Mind the space in front. (Refers to gradient handles selected). This is part of a compound message -#: ../src/gradient-context.cpp:135 ../src/gradient-context.cpp:144 -#: ../src/gradient-context.cpp:151 ../src/mesh-context.cpp:132 -#: ../src/mesh-context.cpp:143 ../src/mesh-context.cpp:151 -#, c-format -msgid " on %d selected object" -msgid_plural " on %d selected objects" -msgstr[0] "" -msgstr[1] "" - -#. TRANSLATORS: This is a part of a compound message (out of two more indicating: grandint handle count & object count) -#: ../src/gradient-context.cpp:141 ../src/mesh-context.cpp:139 -#, c-format -msgid "" -"One handle merging %d stop (drag with Shift to separate) selected" -msgid_plural "" -"One handle merging %d stops (drag with Shift to separate) selected" -msgstr[0] "" -msgstr[1] "" - -#. TRANSLATORS: The plural refers to number of selected gradient handles. This is part of a compound message (part two indicates selected object count) -#: ../src/gradient-context.cpp:149 -#, c-format -msgid "%d gradient handle selected out of %d" -msgid_plural "%d gradient handles selected out of %d" -msgstr[0] "" -msgstr[1] "" - -#. TRANSLATORS: The plural refers to number of selected objects -#: ../src/gradient-context.cpp:156 -#, c-format -msgid "No gradient handles selected out of %d on %d selected object" -msgid_plural "" -"No gradient handles selected out of %d on %d selected objects" -msgstr[0] "" -msgstr[1] "" - -#: ../src/gradient-context.cpp:366 ../src/gradient-context.cpp:464 -#: ../src/ui/dialog/swatches.cpp:203 ../src/widgets/gradient-vector.cpp:814 -msgid "Add gradient stop" -msgstr "" - -#: ../src/gradient-context.cpp:439 -msgid "Simplify gradient" -msgstr "" - -#: ../src/gradient-context.cpp:515 -msgid "Create default gradient" -msgstr "" - -#: ../src/gradient-context.cpp:574 ../src/mesh-context.cpp:569 -msgid "Draw around handles to select them" -msgstr "" - -#: ../src/gradient-context.cpp:697 -msgid "Ctrl: snap gradient angle" -msgstr "" - -#: ../src/gradient-context.cpp:698 -msgid "Shift: draw gradient around the starting point" -msgstr "" - -#: ../src/gradient-context.cpp:952 ../src/mesh-context.cpp:992 -#, c-format -msgid "Gradient for %d object; with Ctrl to snap angle" -msgid_plural "Gradient for %d objects; with Ctrl to snap angle" -msgstr[0] "" -msgstr[1] "" - -#: ../src/gradient-context.cpp:956 ../src/mesh-context.cpp:996 -msgid "Select objects on which to create gradient." -msgstr "" - -#: ../src/gradient-drag.cpp:105 ../src/mesh-context.cpp:102 +#: ../src/gradient-drag.cpp:105 ../src/ui/tools/mesh-tool.cpp:105 msgid "Mesh gradient corner" msgstr "" -#: ../src/gradient-drag.cpp:106 ../src/mesh-context.cpp:103 +#: ../src/gradient-drag.cpp:106 ../src/ui/tools/mesh-tool.cpp:106 msgid "Mesh gradient handle" msgstr "" -#: ../src/gradient-drag.cpp:107 ../src/mesh-context.cpp:104 +#: ../src/gradient-drag.cpp:107 ../src/ui/tools/mesh-tool.cpp:107 msgid "Mesh gradient tensor" msgstr "" @@ -7729,6 +7503,12 @@ msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" +#: ../src/interface.cpp:1395 ../src/ui/dialog/export.cpp:1298 +#: ../src/widgets/desktop-widget.cpp:1126 +#: ../src/widgets/desktop-widget.cpp:1188 +msgid "_Cancel" +msgstr "" + #: ../src/interface.cpp:1396 ../share/extensions/web-set-att.inx.h:21 #: ../share/extensions/web-transmit-att.inx.h:19 msgid "Replace" @@ -7744,7 +7524,7 @@ msgid "Enter group #%1" msgstr "" #. Item dialog -#: ../src/interface.cpp:1644 ../src/verbs.cpp:2851 +#: ../src/interface.cpp:1644 ../src/verbs.cpp:2853 msgid "_Object Properties..." msgstr "" @@ -7882,12 +7662,12 @@ msgid "_Fill and Stroke..." msgstr "" #. Edit Text dialog -#: ../src/interface.cpp:2183 ../src/verbs.cpp:2833 +#: ../src/interface.cpp:2183 ../src/verbs.cpp:2835 msgid "_Text and Font..." msgstr "" #. Spellcheck dialog -#: ../src/interface.cpp:2189 ../src/verbs.cpp:2841 +#: ../src/interface.cpp:2189 ../src/verbs.cpp:2843 msgid "Check Spellin_g..." msgstr "" @@ -7932,50 +7712,21 @@ msgstr "" msgid "Dockbar style to show items on it" msgstr "" -#: ../src/libgdl/gdl-dock.c:176 ../src/ui/dialog/inkscape-preferences.cpp:631 -#: ../src/ui/dialog/inkscape-preferences.cpp:674 -msgid "Floating" -msgstr "" - -#: ../src/libgdl/gdl-dock.c:177 -msgid "Whether the dock is floating in its own window" -msgstr "" - -#: ../src/libgdl/gdl-dock.c:184 ../src/libgdl/gdl-dock-master.c:141 -msgid "Default title" -msgstr "" - -#: ../src/libgdl/gdl-dock.c:185 -msgid "Default title for the newly created floating docks" -msgstr "" - -#: ../src/libgdl/gdl-dock.c:192 -msgid "Width for the dock when it's of floating type" -msgstr "" - -#: ../src/libgdl/gdl-dock.c:200 -msgid "Height for the dock when it's of floating type" -msgstr "" - -#: ../src/libgdl/gdl-dock.c:207 -msgid "Float X" -msgstr "" - -#: ../src/libgdl/gdl-dock.c:208 -msgid "X coordinate for a floating dock" +#: ../src/libgdl/gdl-dock-item-grip.c:399 +msgid "Iconify this dock" msgstr "" -#: ../src/libgdl/gdl-dock.c:215 -msgid "Float Y" +#: ../src/libgdl/gdl-dock-item-grip.c:401 +msgid "Close this dock" msgstr "" -#: ../src/libgdl/gdl-dock.c:216 -msgid "Y coordinate for a floating dock" +#: ../src/libgdl/gdl-dock-item-grip.c:721 +#: ../src/libgdl/gdl-dock-tablabel.c:125 +msgid "Controlling dock item" msgstr "" -#: ../src/libgdl/gdl-dock.c:478 -#, c-format -msgid "Dock #%d" +#: ../src/libgdl/gdl-dock-item-grip.c:722 +msgid "Dockitem which 'owns' this grip" msgstr "" #. Name @@ -8072,21 +7823,8 @@ msgstr "" msgid "Attempt to bind an unbound item %p" msgstr "" -#: ../src/libgdl/gdl-dock-item-grip.c:399 -msgid "Iconify this dock" -msgstr "" - -#: ../src/libgdl/gdl-dock-item-grip.c:401 -msgid "Close this dock" -msgstr "" - -#: ../src/libgdl/gdl-dock-item-grip.c:721 -#: ../src/libgdl/gdl-dock-tablabel.c:125 -msgid "Controlling dock item" -msgstr "" - -#: ../src/libgdl/gdl-dock-item-grip.c:722 -msgid "Dockitem which 'owns' this grip" +#: ../src/libgdl/gdl-dock-master.c:141 ../src/libgdl/gdl-dock.c:184 +msgid "Default title" msgstr "" #: ../src/libgdl/gdl-dock-master.c:142 @@ -8123,7 +7861,7 @@ msgstr "" #: ../src/libgdl/gdl-dock-notebook.c:132 #: ../src/ui/dialog/align-and-distribute.cpp:1003 -#: ../src/ui/dialog/document-properties.cpp:149 +#: ../src/ui/dialog/document-properties.cpp:150 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1551 #: ../src/widgets/desktop-widget.cpp:2003 #: ../share/extensions/voronoi2svg.inx.h:9 @@ -8135,9 +7873,9 @@ msgid "The index of the current page" msgstr "" #: ../src/libgdl/gdl-dock-object.c:125 -#: ../src/ui/dialog/inkscape-preferences.cpp:1486 +#: ../src/ui/dialog/inkscape-preferences.cpp:1495 #: ../src/ui/widget/page-sizer.cpp:258 -#: ../src/widgets/gradient-selector.cpp:157 +#: ../src/widgets/gradient-selector.cpp:158 #: ../src/widgets/sp-xmlview-attr-list.cpp:54 msgid "Name" msgstr "" @@ -8291,6 +8029,48 @@ msgstr "" msgid "Dockitem which 'owns' this tablabel" msgstr "" +#: ../src/libgdl/gdl-dock.c:176 ../src/ui/dialog/inkscape-preferences.cpp:631 +#: ../src/ui/dialog/inkscape-preferences.cpp:674 +msgid "Floating" +msgstr "" + +#: ../src/libgdl/gdl-dock.c:177 +msgid "Whether the dock is floating in its own window" +msgstr "" + +#: ../src/libgdl/gdl-dock.c:185 +msgid "Default title for the newly created floating docks" +msgstr "" + +#: ../src/libgdl/gdl-dock.c:192 +msgid "Width for the dock when it's of floating type" +msgstr "" + +#: ../src/libgdl/gdl-dock.c:200 +msgid "Height for the dock when it's of floating type" +msgstr "" + +#: ../src/libgdl/gdl-dock.c:207 +msgid "Float X" +msgstr "" + +#: ../src/libgdl/gdl-dock.c:208 +msgid "X coordinate for a floating dock" +msgstr "" + +#: ../src/libgdl/gdl-dock.c:215 +msgid "Float Y" +msgstr "" + +#: ../src/libgdl/gdl-dock.c:216 +msgid "Y coordinate for a floating dock" +msgstr "" + +#: ../src/libgdl/gdl-dock.c:478 +#, c-format +msgid "Dock #%d" +msgstr "" + #: ../src/libnrtype/FontFactory.cpp:964 msgid "Ignoring font without family that will crash Pango" msgstr "" @@ -8428,7 +8208,7 @@ msgstr "" msgid "Power stroke" msgstr "" -#: ../src/live_effects/effect.cpp:124 ../src/selection-chemistry.cpp:2789 +#: ../src/live_effects/effect.cpp:124 ../src/selection-chemistry.cpp:2790 msgid "Clone original path" msgstr "" @@ -8551,10 +8331,6 @@ msgstr "" msgid "Identity B" msgstr "" -#: ../src/live_effects/lpe-boolops.cpp:28 ../src/splivarot.cpp:100 -msgid "Exclusion" -msgstr "" - #: ../src/live_effects/lpe-boolops.cpp:29 ../src/splivarot.cpp:70 #: ../src/splivarot.cpp:76 msgid "Union" @@ -8767,7 +8543,7 @@ msgid "Angle:" msgstr "" #: ../src/live_effects/lpe-dynastroke.cpp:53 -msgid "direction of thickest strokes (opposite = thinest)" +msgid "direction of thickest strokes (opposite = thinnest)" msgstr "" #. modulo_pi(_("modulo pi"), _("Give forward and backward moves in one direction the same thickness "), "modulo_pi", &wr, this, false), @@ -8794,7 +8570,7 @@ msgid "Grow for:" msgstr "" #: ../src/live_effects/lpe-dynastroke.cpp:57 -msgid "Make the stroke thiner near it's start" +msgid "Make the stroke thinner near it's start" msgstr "" #: ../src/live_effects/lpe-dynastroke.cpp:58 @@ -8802,7 +8578,7 @@ msgid "Fade for:" msgstr "" #: ../src/live_effects/lpe-dynastroke.cpp:58 -msgid "Make the stroke thiner near it's end" +msgid "Make the stroke thinner near it's end" msgstr "" #: ../src/live_effects/lpe-dynastroke.cpp:59 @@ -9110,22 +8886,22 @@ msgid "Control handle 15" msgstr "" #: ../src/live_effects/lpe-line_segment.cpp:25 -#: ../src/widgets/lpe-toolbar.cpp:252 +#: ../src/widgets/lpe-toolbar.cpp:254 msgid "Closed" msgstr "" #: ../src/live_effects/lpe-line_segment.cpp:26 -#: ../src/widgets/lpe-toolbar.cpp:254 +#: ../src/widgets/lpe-toolbar.cpp:256 msgid "Open start" msgstr "" #: ../src/live_effects/lpe-line_segment.cpp:27 -#: ../src/widgets/lpe-toolbar.cpp:256 +#: ../src/widgets/lpe-toolbar.cpp:258 msgid "Open end" msgstr "" #: ../src/live_effects/lpe-line_segment.cpp:28 -#: ../src/widgets/lpe-toolbar.cpp:258 +#: ../src/widgets/lpe-toolbar.cpp:260 msgid "Open both" msgstr "" @@ -10005,12 +9781,12 @@ msgstr "" msgid "Change enumeration parameter" msgstr "" -#: ../src/live_effects/parameter/originalpath.cpp:70 -#: ../src/live_effects/parameter/path.cpp:194 +#: ../src/live_effects/parameter/originalpath.cpp:71 +#: ../src/live_effects/parameter/path.cpp:195 msgid "Link to path" msgstr "" -#: ../src/live_effects/parameter/originalpath.cpp:82 +#: ../src/live_effects/parameter/originalpath.cpp:83 msgid "Select original" msgstr "" @@ -10018,23 +9794,23 @@ msgstr "" msgid "Change scalar parameter" msgstr "" -#: ../src/live_effects/parameter/path.cpp:164 +#: ../src/live_effects/parameter/path.cpp:165 msgid "Edit on-canvas" msgstr "" -#: ../src/live_effects/parameter/path.cpp:174 +#: ../src/live_effects/parameter/path.cpp:175 msgid "Copy path" msgstr "" -#: ../src/live_effects/parameter/path.cpp:184 +#: ../src/live_effects/parameter/path.cpp:185 msgid "Paste path" msgstr "" -#: ../src/live_effects/parameter/path.cpp:437 +#: ../src/live_effects/parameter/path.cpp:438 msgid "Paste path parameter" msgstr "" -#: ../src/live_effects/parameter/path.cpp:469 +#: ../src/live_effects/parameter/path.cpp:470 msgid "Link path parameter to path" msgstr "" @@ -10065,10 +9841,6 @@ msgstr "" msgid "Change vector parameter" msgstr "" -#: ../src/lpe-tool-context.cpp:204 -msgid "Choose a construction tool from the toolbar." -msgstr "" - #: ../src/main-cmdlineact.cpp:50 #, c-format msgid "Unable to find verb ID '%s' specified on the command line.\n" @@ -10079,268 +9851,272 @@ msgstr "" msgid "Unable to find node ID: '%s'\n" msgstr "" -#: ../src/main.cpp:297 +#: ../src/main.cpp:295 msgid "Print the Inkscape version number" msgstr "" -#: ../src/main.cpp:302 +#: ../src/main.cpp:300 msgid "Do not use X server (only process files from console)" msgstr "" -#: ../src/main.cpp:307 +#: ../src/main.cpp:305 msgid "Try to use X server (even if $DISPLAY is not set)" msgstr "" -#: ../src/main.cpp:312 +#: ../src/main.cpp:310 msgid "Open specified document(s) (option string may be excluded)" msgstr "" -#: ../src/main.cpp:313 ../src/main.cpp:318 ../src/main.cpp:323 -#: ../src/main.cpp:395 ../src/main.cpp:400 ../src/main.cpp:405 -#: ../src/main.cpp:416 ../src/main.cpp:433 +#: ../src/main.cpp:311 ../src/main.cpp:316 ../src/main.cpp:321 +#: ../src/main.cpp:393 ../src/main.cpp:398 ../src/main.cpp:403 +#: ../src/main.cpp:414 ../src/main.cpp:430 ../src/main.cpp:435 msgid "FILENAME" msgstr "" -#: ../src/main.cpp:317 +#: ../src/main.cpp:315 msgid "Print document(s) to specified output file (use '| program' for pipe)" msgstr "" -#: ../src/main.cpp:322 +#: ../src/main.cpp:320 msgid "Export document to a PNG file" msgstr "" -#: ../src/main.cpp:327 +#: ../src/main.cpp:325 msgid "" "Resolution for exporting to bitmap and for rasterization of filters in PS/" "EPS/PDF (default 90)" msgstr "" -#: ../src/main.cpp:328 ../src/ui/widget/rendering-options.cpp:34 +#: ../src/main.cpp:326 ../src/ui/widget/rendering-options.cpp:34 msgid "DPI" msgstr "" -#: ../src/main.cpp:332 +#: ../src/main.cpp:330 msgid "" "Exported area in SVG user units (default is the page; 0,0 is lower-left " "corner)" msgstr "" -#: ../src/main.cpp:333 +#: ../src/main.cpp:331 msgid "x0:y0:x1:y1" msgstr "" -#: ../src/main.cpp:337 +#: ../src/main.cpp:335 msgid "Exported area is the entire drawing (not page)" msgstr "" -#: ../src/main.cpp:342 +#: ../src/main.cpp:340 msgid "Exported area is the entire page" msgstr "" -#: ../src/main.cpp:347 +#: ../src/main.cpp:345 msgid "Only for PS/EPS/PDF, sets margin in mm around exported area (default 0)" msgstr "" -#: ../src/main.cpp:348 ../src/main.cpp:390 +#: ../src/main.cpp:346 ../src/main.cpp:388 msgid "VALUE" msgstr "" -#: ../src/main.cpp:352 +#: ../src/main.cpp:350 msgid "" "Snap the bitmap export area outwards to the nearest integer values (in SVG " "user units)" msgstr "" -#: ../src/main.cpp:357 +#: ../src/main.cpp:355 msgid "The width of exported bitmap in pixels (overrides export-dpi)" msgstr "" -#: ../src/main.cpp:358 +#: ../src/main.cpp:356 msgid "WIDTH" msgstr "" -#: ../src/main.cpp:362 +#: ../src/main.cpp:360 msgid "The height of exported bitmap in pixels (overrides export-dpi)" msgstr "" -#: ../src/main.cpp:363 +#: ../src/main.cpp:361 msgid "HEIGHT" msgstr "" -#: ../src/main.cpp:367 +#: ../src/main.cpp:365 msgid "The ID of the object to export" msgstr "" -#: ../src/main.cpp:368 ../src/main.cpp:478 -#: ../src/ui/dialog/inkscape-preferences.cpp:1489 +#: ../src/main.cpp:366 ../src/main.cpp:479 +#: ../src/ui/dialog/inkscape-preferences.cpp:1498 msgid "ID" msgstr "" #. TRANSLATORS: this means: "Only export the object whose id is given in --export-id". #. See "man inkscape" for details. -#: ../src/main.cpp:374 +#: ../src/main.cpp:372 msgid "" "Export just the object with export-id, hide all others (only with export-id)" msgstr "" -#: ../src/main.cpp:379 +#: ../src/main.cpp:377 msgid "Use stored filename and DPI hints when exporting (only with export-id)" msgstr "" -#: ../src/main.cpp:384 +#: ../src/main.cpp:382 msgid "Background color of exported bitmap (any SVG-supported color string)" msgstr "" -#: ../src/main.cpp:385 +#: ../src/main.cpp:383 msgid "COLOR" msgstr "" -#: ../src/main.cpp:389 +#: ../src/main.cpp:387 msgid "Background opacity of exported bitmap (either 0.0 to 1.0, or 1 to 255)" msgstr "" -#: ../src/main.cpp:394 +#: ../src/main.cpp:392 msgid "Export document to plain SVG file (no sodipodi or inkscape namespaces)" msgstr "" -#: ../src/main.cpp:399 +#: ../src/main.cpp:397 msgid "Export document to a PS file" msgstr "" -#: ../src/main.cpp:404 +#: ../src/main.cpp:402 msgid "Export document to an EPS file" msgstr "" -#: ../src/main.cpp:409 +#: ../src/main.cpp:407 msgid "" "Choose the PostScript Level used to export. Possible choices are 2 (the " "default) and 3" msgstr "" -#: ../src/main.cpp:411 +#: ../src/main.cpp:409 msgid "PS Level" msgstr "" -#: ../src/main.cpp:415 +#: ../src/main.cpp:413 msgid "Export document to a PDF file" msgstr "" #. TRANSLATORS: "--export-pdf-version" is an Inkscape command line option; see "inkscape --help" -#: ../src/main.cpp:421 +#: ../src/main.cpp:419 msgid "" "Export PDF to given version. (hint: make sure to input the exact string " "found in the PDF export dialog, e.g. \"PDF 1.4\" which is PDF-a conformant)" msgstr "" -#: ../src/main.cpp:422 +#: ../src/main.cpp:420 msgid "PDF_VERSION" msgstr "" -#: ../src/main.cpp:426 +#: ../src/main.cpp:424 msgid "" "Export PDF/PS/EPS without text. Besides the PDF/PS/EPS, a LaTeX file is " "exported, putting the text on top of the PDF/PS/EPS file. Include the result " "in LaTeX like: \\input{latexfile.tex}" msgstr "" -#: ../src/main.cpp:432 +#: ../src/main.cpp:429 msgid "Export document to an Enhanced Metafile (EMF) File" msgstr "" -#: ../src/main.cpp:438 +#: ../src/main.cpp:434 +msgid "Export document to a Windows Metafile (WMF) File" +msgstr "" + +#: ../src/main.cpp:439 msgid "Convert text object to paths on export (PS, EPS, PDF, SVG)" msgstr "" -#: ../src/main.cpp:443 +#: ../src/main.cpp:444 msgid "" "Render filtered objects without filters, instead of rasterizing (PS, EPS, " "PDF)" msgstr "" #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" -#: ../src/main.cpp:449 +#: ../src/main.cpp:450 msgid "" "Query the X coordinate of the drawing or, if specified, of the object with --" "query-id" msgstr "" #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" -#: ../src/main.cpp:455 +#: ../src/main.cpp:456 msgid "" "Query the Y coordinate of the drawing or, if specified, of the object with --" "query-id" msgstr "" #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" -#: ../src/main.cpp:461 +#: ../src/main.cpp:462 msgid "" "Query the width of the drawing or, if specified, of the object with --query-" "id" msgstr "" #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" -#: ../src/main.cpp:467 +#: ../src/main.cpp:468 msgid "" "Query the height of the drawing or, if specified, of the object with --query-" "id" msgstr "" -#: ../src/main.cpp:472 +#: ../src/main.cpp:473 msgid "List id,x,y,w,h for all objects" msgstr "" -#: ../src/main.cpp:477 +#: ../src/main.cpp:478 msgid "The ID of the object whose dimensions are queried" msgstr "" #. TRANSLATORS: this option makes Inkscape print the name (path) of the extension directory -#: ../src/main.cpp:483 +#: ../src/main.cpp:484 msgid "Print out the extension directory and exit" msgstr "" -#: ../src/main.cpp:488 +#: ../src/main.cpp:489 msgid "Remove unused definitions from the defs section(s) of the document" msgstr "" -#: ../src/main.cpp:494 +#: ../src/main.cpp:495 msgid "Enter a listening loop for D-Bus messages in console mode" msgstr "" -#: ../src/main.cpp:499 +#: ../src/main.cpp:500 msgid "" "Specify the D-Bus bus name to listen for messages on (default is org." "inkscape)" msgstr "" -#: ../src/main.cpp:500 +#: ../src/main.cpp:501 msgid "BUS-NAME" msgstr "" -#: ../src/main.cpp:505 +#: ../src/main.cpp:506 msgid "List the IDs of all the verbs in Inkscape" msgstr "" -#: ../src/main.cpp:510 +#: ../src/main.cpp:511 msgid "Verb to call when Inkscape opens." msgstr "" -#: ../src/main.cpp:511 +#: ../src/main.cpp:512 msgid "VERB-ID" msgstr "" -#: ../src/main.cpp:515 +#: ../src/main.cpp:516 msgid "Object ID to select when Inkscape opens." msgstr "" -#: ../src/main.cpp:516 +#: ../src/main.cpp:517 msgid "OBJECT-ID" msgstr "" -#: ../src/main.cpp:520 +#: ../src/main.cpp:521 msgid "Start Inkscape in interactive shell mode." msgstr "" -#: ../src/main.cpp:867 ../src/main.cpp:1255 +#: ../src/main.cpp:871 ../src/main.cpp:1270 msgid "" "[OPTIONS...] [FILE...]\n" "\n" @@ -10447,65 +10223,6 @@ msgstr "" msgid "Tutorials" msgstr "" -#. TRANSLATORS: Mind the space in front. This is part of a compound message -#: ../src/mesh-context.cpp:131 ../src/mesh-context.cpp:142 -#, c-format -msgid " out of %d mesh handle" -msgid_plural " out of %d mesh handles" -msgstr[0] "" -msgstr[1] "" - -#: ../src/mesh-context.cpp:149 -#, c-format -msgid "%d mesh handle selected out of %d" -msgid_plural "%d mesh handles selected out of %d" -msgstr[0] "" -msgstr[1] "" - -#. TRANSLATORS: The plural refers to number of selected objects -#: ../src/mesh-context.cpp:156 -#, c-format -msgid "No mesh handles selected out of %d on %d selected object" -msgid_plural "No mesh handles selected out of %d on %d selected objects" -msgstr[0] "" -msgstr[1] "" - -#: ../src/mesh-context.cpp:320 -msgid "Split mesh row/column" -msgstr "" - -#: ../src/mesh-context.cpp:406 -msgid "Toggled mesh path type." -msgstr "" - -#: ../src/mesh-context.cpp:410 -msgid "Approximated arc for mesh side." -msgstr "" - -#: ../src/mesh-context.cpp:414 -msgid "Toggled mesh tensors." -msgstr "" - -#: ../src/mesh-context.cpp:418 -msgid "Smoothed mesh corner color." -msgstr "" - -#: ../src/mesh-context.cpp:422 -msgid "Picked mesh corner color." -msgstr "" - -#: ../src/mesh-context.cpp:497 -msgid "Create default mesh" -msgstr "" - -#: ../src/mesh-context.cpp:717 -msgid "FIXMECtrl: snap mesh angle" -msgstr "" - -#: ../src/mesh-context.cpp:718 -msgid "FIXMEShift: draw mesh around the starting point" -msgstr "" - #: ../src/object-edit.cpp:439 msgid "" "Adjust the horizontal rounding radius; with Ctrl to make the " @@ -10661,103 +10378,36 @@ msgstr "" msgid "No paths to reverse in the selection." msgstr "" -#: ../src/pencil-context.cpp:226 ../src/pen-context.cpp:411 -msgid "Continuing selected path" -msgstr "" - -#: ../src/pencil-context.cpp:234 ../src/pen-context.cpp:421 -msgid "Creating new path" -msgstr "" - -#: ../src/pencil-context.cpp:237 ../src/pen-context.cpp:423 -msgid "Appending to selected path" -msgstr "" - -#: ../src/pencil-context.cpp:342 -msgid "Release here to close and finish the path." -msgstr "" - -#: ../src/pencil-context.cpp:348 -msgid "Drawing a freehand path" -msgstr "" - -#: ../src/pencil-context.cpp:353 -msgid "Drag to continue the path from this point." -msgstr "" - -#. Write curves to object -#: ../src/pencil-context.cpp:445 -msgid "Finishing freehand" -msgstr "" - -#: ../src/pencil-context.cpp:501 ../src/pen-context.cpp:191 -msgid "Drawing cancelled" -msgstr "" - -#: ../src/pencil-context.cpp:551 -msgid "" -"Sketch mode: holding Alt interpolates between sketched paths. " -"Release Alt to finalize." -msgstr "" - -#: ../src/pencil-context.cpp:579 -msgid "Finishing freehand sketch" -msgstr "" - -#: ../src/pen-context.cpp:583 -msgid "Click or click and drag to close and finish the path." -msgstr "" - -#: ../src/pen-context.cpp:593 -msgid "" -"Click or click and drag to continue the path from this point." -msgstr "" - -#: ../src/pen-context.cpp:1193 -#, c-format -msgid "" -"Curve segment: angle %3.2f°, distance %s; with Ctrl to " -"snap angle, Enter to finish the path" +#: ../src/persp3d.cpp:293 +msgid "Toggle vanishing point" msgstr "" -#: ../src/pen-context.cpp:1194 -#, c-format -msgid "" -"Line segment: angle %3.2f°, distance %s; with Ctrl to " -"snap angle, Enter to finish the path" +#: ../src/persp3d.cpp:304 +msgid "Toggle multiple vanishing points" msgstr "" -#: ../src/pen-context.cpp:1211 -#, c-format -msgid "" -"Curve handle: angle %3.2f°, length %s; with Ctrl to snap " -"angle" +#: ../src/preferences-skeleton.h:101 +msgid "Dip pen" msgstr "" -#: ../src/pen-context.cpp:1233 -#, c-format -msgid "" -"Curve handle, symmetric: angle %3.2f°, length %s; with Ctrl to snap angle, with Shift to move this handle only" +#: ../src/preferences-skeleton.h:102 +msgid "Marker" msgstr "" -#: ../src/pen-context.cpp:1234 -#, c-format -msgid "" -"Curve handle: angle %3.2f°, length %s; with Ctrl to snap " -"angle, with Shift to move this handle only" +#: ../src/preferences-skeleton.h:103 +msgid "Brush" msgstr "" -#: ../src/pen-context.cpp:1280 -msgid "Drawing finished" +#: ../src/preferences-skeleton.h:104 +msgid "Wiggly" msgstr "" -#: ../src/persp3d.cpp:293 -msgid "Toggle vanishing point" +#: ../src/preferences-skeleton.h:105 +msgid "Splotchy" msgstr "" -#: ../src/persp3d.cpp:304 -msgid "Toggle multiple vanishing points" +#: ../src/preferences-skeleton.h:106 +msgid "Tracing" msgstr "" #: ../src/preferences.cpp:134 @@ -10809,30 +10459,6 @@ msgstr "" msgid "The file %s is not a valid Inkscape preferences file." msgstr "" -#: ../src/preferences-skeleton.h:101 -msgid "Dip pen" -msgstr "" - -#: ../src/preferences-skeleton.h:102 -msgid "Marker" -msgstr "" - -#: ../src/preferences-skeleton.h:103 -msgid "Brush" -msgstr "" - -#: ../src/preferences-skeleton.h:104 -msgid "Wiggly" -msgstr "" - -#: ../src/preferences-skeleton.h:105 -msgid "Splotchy" -msgstr "" - -#: ../src/preferences-skeleton.h:106 -msgid "Tracing" -msgstr "" - #: ../src/rdf.cpp:175 msgid "CC Attribution" msgstr "" @@ -10944,7 +10570,7 @@ msgstr "" msgid "A related resource" msgstr "" -#: ../src/rdf.cpp:267 ../src/ui/dialog/inkscape-preferences.cpp:1841 +#: ../src/rdf.cpp:267 ../src/ui/dialog/inkscape-preferences.cpp:1850 msgid "Language:" msgstr "" @@ -11008,496 +10634,411 @@ msgstr "" msgid "XML fragment for the RDF 'License' section" msgstr "" -#: ../src/rect-context.cpp:292 -msgid "" -"Ctrl: make square or integer-ratio rect, lock a rounded corner " -"circular" -msgstr "" - -#: ../src/rect-context.cpp:453 -#, c-format -msgid "" -"Rectangle: %s × %s (constrained to ratio %d:%d); with Shift to draw around the starting point" -msgstr "" - -#: ../src/rect-context.cpp:456 -#, c-format -msgid "" -"Rectangle: %s × %s (constrained to golden ratio 1.618 : 1); with " -"Shift to draw around the starting point" -msgstr "" - -#: ../src/rect-context.cpp:458 -#, c-format -msgid "" -"Rectangle: %s × %s (constrained to golden ratio 1 : 1.618); with " -"Shift to draw around the starting point" -msgstr "" - -#: ../src/rect-context.cpp:462 -#, c-format -msgid "" -"Rectangle: %s × %s; with Ctrl to make square or integer-" -"ratio rectangle; with Shift to draw around the starting point" -msgstr "" - -#: ../src/rect-context.cpp:485 -msgid "Create rectangle" -msgstr "" - #: ../src/resource-manager.cpp:332 msgid "Fixup broken links" msgstr "" -#: ../src/select-context.cpp:165 -msgid "Click selection to toggle scale/rotation handles" -msgstr "" - -#: ../src/select-context.cpp:166 -msgid "" -"No objects selected. Click, Shift+click, Alt+scroll mouse on top of objects, " -"or drag around objects to select." -msgstr "" - -#: ../src/select-context.cpp:219 -msgid "Move canceled." -msgstr "" - -#: ../src/select-context.cpp:227 -msgid "Selection canceled." -msgstr "" - -#: ../src/select-context.cpp:644 -msgid "" -"Draw over objects to select them; release Alt to switch to " -"rubberband selection" -msgstr "" - -#: ../src/select-context.cpp:646 -msgid "" -"Drag around objects to select them; press Alt to switch to " -"touch selection" -msgstr "" - -#: ../src/select-context.cpp:936 -msgid "Ctrl: click to select in groups; drag to move hor/vert" -msgstr "" - -#: ../src/select-context.cpp:937 -msgid "Shift: click to toggle select; drag for rubberband selection" -msgstr "" - -#: ../src/select-context.cpp:938 -msgid "" -"Alt: click to select under; scroll mouse-wheel to cycle-select; drag " -"to move selected or select by touch" -msgstr "" - -#: ../src/select-context.cpp:1146 -msgid "Selected object is not a group. Cannot enter." -msgstr "" - -#: ../src/selection-chemistry.cpp:393 +#: ../src/selection-chemistry.cpp:394 msgid "Delete text" msgstr "" -#: ../src/selection-chemistry.cpp:401 +#: ../src/selection-chemistry.cpp:402 msgid "Nothing was deleted." msgstr "" -#: ../src/selection-chemistry.cpp:420 ../src/text-context.cpp:992 +#: ../src/selection-chemistry.cpp:421 #: ../src/ui/dialog/calligraphic-profile-rename.cpp:75 -#: ../src/ui/dialog/swatches.cpp:278 ../src/widgets/eraser-toolbar.cpp:110 -#: ../src/widgets/gradient-toolbar.cpp:1195 -#: ../src/widgets/gradient-toolbar.cpp:1209 -#: ../src/widgets/gradient-toolbar.cpp:1223 -#: ../src/widgets/node-toolbar.cpp:413 +#: ../src/ui/dialog/swatches.cpp:278 ../src/ui/tools/text-tool.cpp:994 +#: ../src/widgets/eraser-toolbar.cpp:110 +#: ../src/widgets/gradient-toolbar.cpp:1196 +#: ../src/widgets/gradient-toolbar.cpp:1210 +#: ../src/widgets/gradient-toolbar.cpp:1224 +#: ../src/widgets/node-toolbar.cpp:414 msgid "Delete" msgstr "" -#: ../src/selection-chemistry.cpp:448 +#: ../src/selection-chemistry.cpp:449 msgid "Select object(s) to duplicate." msgstr "" -#: ../src/selection-chemistry.cpp:557 +#: ../src/selection-chemistry.cpp:558 msgid "Delete all" msgstr "" -#: ../src/selection-chemistry.cpp:747 +#: ../src/selection-chemistry.cpp:748 msgid "Select some objects to group." msgstr "" -#: ../src/selection-chemistry.cpp:762 ../src/sp-item-group.cpp:331 +#: ../src/selection-chemistry.cpp:763 ../src/sp-item-group.cpp:331 msgid "Group" msgstr "" -#: ../src/selection-chemistry.cpp:771 +#: ../src/selection-chemistry.cpp:772 msgid "Select a group to ungroup." msgstr "" -#: ../src/selection-chemistry.cpp:814 +#: ../src/selection-chemistry.cpp:815 msgid "No groups to ungroup in the selection." msgstr "" -#: ../src/selection-chemistry.cpp:820 ../src/sp-item-group.cpp:564 +#: ../src/selection-chemistry.cpp:821 ../src/sp-item-group.cpp:564 msgid "Ungroup" msgstr "" -#: ../src/selection-chemistry.cpp:901 +#: ../src/selection-chemistry.cpp:902 msgid "Select object(s) to raise." msgstr "" -#: ../src/selection-chemistry.cpp:907 ../src/selection-chemistry.cpp:963 -#: ../src/selection-chemistry.cpp:991 ../src/selection-chemistry.cpp:1052 +#: ../src/selection-chemistry.cpp:908 ../src/selection-chemistry.cpp:964 +#: ../src/selection-chemistry.cpp:992 ../src/selection-chemistry.cpp:1053 msgid "" "You cannot raise/lower objects from different groups or layers." msgstr "" #. TRANSLATORS: "Raise" means "to raise an object" in the undo history -#: ../src/selection-chemistry.cpp:947 +#: ../src/selection-chemistry.cpp:948 msgctxt "Undo action" msgid "Raise" msgstr "" -#: ../src/selection-chemistry.cpp:955 +#: ../src/selection-chemistry.cpp:956 msgid "Select object(s) to raise to top." msgstr "" -#: ../src/selection-chemistry.cpp:978 +#: ../src/selection-chemistry.cpp:979 msgid "Raise to top" msgstr "" -#: ../src/selection-chemistry.cpp:985 +#: ../src/selection-chemistry.cpp:986 msgid "Select object(s) to lower." msgstr "" #. TRANSLATORS: "Lower" means "to lower an object" in the undo history -#: ../src/selection-chemistry.cpp:1036 +#: ../src/selection-chemistry.cpp:1037 msgctxt "Undo action" msgid "Lower" msgstr "" -#: ../src/selection-chemistry.cpp:1044 +#: ../src/selection-chemistry.cpp:1045 msgid "Select object(s) to lower to bottom." msgstr "" -#: ../src/selection-chemistry.cpp:1079 +#: ../src/selection-chemistry.cpp:1080 msgid "Lower to bottom" msgstr "" -#: ../src/selection-chemistry.cpp:1086 +#: ../src/selection-chemistry.cpp:1087 msgid "Nothing to undo." msgstr "" -#: ../src/selection-chemistry.cpp:1094 +#: ../src/selection-chemistry.cpp:1095 msgid "Nothing to redo." msgstr "" -#: ../src/selection-chemistry.cpp:1161 +#: ../src/selection-chemistry.cpp:1162 msgid "Paste" msgstr "" -#: ../src/selection-chemistry.cpp:1169 +#: ../src/selection-chemistry.cpp:1170 msgid "Paste style" msgstr "" -#: ../src/selection-chemistry.cpp:1179 +#: ../src/selection-chemistry.cpp:1180 msgid "Paste live path effect" msgstr "" -#: ../src/selection-chemistry.cpp:1201 +#: ../src/selection-chemistry.cpp:1202 msgid "Select object(s) to remove live path effects from." msgstr "" -#: ../src/selection-chemistry.cpp:1213 +#: ../src/selection-chemistry.cpp:1214 msgid "Remove live path effect" msgstr "" -#: ../src/selection-chemistry.cpp:1224 +#: ../src/selection-chemistry.cpp:1225 msgid "Select object(s) to remove filters from." msgstr "" -#: ../src/selection-chemistry.cpp:1234 +#: ../src/selection-chemistry.cpp:1235 #: ../src/ui/dialog/filter-effects-dialog.cpp:1462 msgid "Remove filter" msgstr "" -#: ../src/selection-chemistry.cpp:1243 +#: ../src/selection-chemistry.cpp:1244 msgid "Paste size" msgstr "" -#: ../src/selection-chemistry.cpp:1252 +#: ../src/selection-chemistry.cpp:1253 msgid "Paste size separately" msgstr "" -#: ../src/selection-chemistry.cpp:1262 +#: ../src/selection-chemistry.cpp:1263 msgid "Select object(s) to move to the layer above." msgstr "" -#: ../src/selection-chemistry.cpp:1288 +#: ../src/selection-chemistry.cpp:1289 msgid "Raise to next layer" msgstr "" -#: ../src/selection-chemistry.cpp:1295 +#: ../src/selection-chemistry.cpp:1296 msgid "No more layers above." msgstr "" -#: ../src/selection-chemistry.cpp:1307 +#: ../src/selection-chemistry.cpp:1308 msgid "Select object(s) to move to the layer below." msgstr "" -#: ../src/selection-chemistry.cpp:1333 +#: ../src/selection-chemistry.cpp:1334 msgid "Lower to previous layer" msgstr "" -#: ../src/selection-chemistry.cpp:1340 +#: ../src/selection-chemistry.cpp:1341 msgid "No more layers below." msgstr "" -#: ../src/selection-chemistry.cpp:1352 +#: ../src/selection-chemistry.cpp:1353 msgid "Select object(s) to move." msgstr "" -#: ../src/selection-chemistry.cpp:1369 ../src/verbs.cpp:2581 +#: ../src/selection-chemistry.cpp:1370 ../src/verbs.cpp:2581 msgid "Move selection to layer" msgstr "" -#: ../src/selection-chemistry.cpp:1593 +#: ../src/selection-chemistry.cpp:1594 msgid "Remove transform" msgstr "" -#: ../src/selection-chemistry.cpp:1696 +#: ../src/selection-chemistry.cpp:1697 msgid "Rotate 90° CCW" msgstr "" -#: ../src/selection-chemistry.cpp:1696 +#: ../src/selection-chemistry.cpp:1697 msgid "Rotate 90° CW" msgstr "" -#: ../src/selection-chemistry.cpp:1717 ../src/seltrans.cpp:468 -#: ../src/ui/dialog/transformation.cpp:893 +#: ../src/selection-chemistry.cpp:1718 ../src/seltrans.cpp:468 +#: ../src/ui/dialog/transformation.cpp:894 msgid "Rotate" msgstr "" -#: ../src/selection-chemistry.cpp:2096 +#: ../src/selection-chemistry.cpp:2097 msgid "Rotate by pixels" msgstr "" -#: ../src/selection-chemistry.cpp:2126 ../src/seltrans.cpp:465 -#: ../src/ui/dialog/transformation.cpp:868 +#: ../src/selection-chemistry.cpp:2127 ../src/seltrans.cpp:465 +#: ../src/ui/dialog/transformation.cpp:869 #: ../share/extensions/interp_att_g.inx.h:12 msgid "Scale" msgstr "" -#: ../src/selection-chemistry.cpp:2151 +#: ../src/selection-chemistry.cpp:2152 msgid "Scale by whole factor" msgstr "" -#: ../src/selection-chemistry.cpp:2166 +#: ../src/selection-chemistry.cpp:2167 msgid "Move vertically" msgstr "" -#: ../src/selection-chemistry.cpp:2169 +#: ../src/selection-chemistry.cpp:2170 msgid "Move horizontally" msgstr "" -#: ../src/selection-chemistry.cpp:2172 ../src/selection-chemistry.cpp:2198 +#: ../src/selection-chemistry.cpp:2173 ../src/selection-chemistry.cpp:2199 #: ../src/seltrans.cpp:462 ../src/ui/dialog/transformation.cpp:807 msgid "Move" msgstr "" -#: ../src/selection-chemistry.cpp:2192 +#: ../src/selection-chemistry.cpp:2193 msgid "Move vertically by pixels" msgstr "" -#: ../src/selection-chemistry.cpp:2195 +#: ../src/selection-chemistry.cpp:2196 msgid "Move horizontally by pixels" msgstr "" -#: ../src/selection-chemistry.cpp:2327 +#: ../src/selection-chemistry.cpp:2328 msgid "The selection has no applied path effect." msgstr "" -#: ../src/selection-chemistry.cpp:2496 ../src/ui/dialog/clonetiler.cpp:2218 +#: ../src/selection-chemistry.cpp:2497 ../src/ui/dialog/clonetiler.cpp:2218 msgid "Select an object to clone." msgstr "" -#: ../src/selection-chemistry.cpp:2532 +#: ../src/selection-chemistry.cpp:2533 msgctxt "Action" msgid "Clone" msgstr "" -#: ../src/selection-chemistry.cpp:2548 +#: ../src/selection-chemistry.cpp:2549 msgid "Select clones to relink." msgstr "" -#: ../src/selection-chemistry.cpp:2555 +#: ../src/selection-chemistry.cpp:2556 msgid "Copy an object to clipboard to relink clones to." msgstr "" -#: ../src/selection-chemistry.cpp:2579 +#: ../src/selection-chemistry.cpp:2580 msgid "No clones to relink in the selection." msgstr "" -#: ../src/selection-chemistry.cpp:2582 +#: ../src/selection-chemistry.cpp:2583 msgid "Relink clone" msgstr "" -#: ../src/selection-chemistry.cpp:2596 +#: ../src/selection-chemistry.cpp:2597 msgid "Select clones to unlink." msgstr "" -#: ../src/selection-chemistry.cpp:2650 +#: ../src/selection-chemistry.cpp:2651 msgid "No clones to unlink in the selection." msgstr "" -#: ../src/selection-chemistry.cpp:2654 +#: ../src/selection-chemistry.cpp:2655 msgid "Unlink clone" msgstr "" -#: ../src/selection-chemistry.cpp:2667 +#: ../src/selection-chemistry.cpp:2668 msgid "" "Select a clone to go to its original. Select a linked offset " "to go to its source. Select a text on path to go to the path. Select " "a flowed text to go to its frame." msgstr "" -#: ../src/selection-chemistry.cpp:2700 +#: ../src/selection-chemistry.cpp:2701 msgid "" "Cannot find the object to select (orphaned clone, offset, textpath, " "flowed text?)" msgstr "" -#: ../src/selection-chemistry.cpp:2706 +#: ../src/selection-chemistry.cpp:2707 msgid "" "The object you're trying to select is not visible (it is in <" "defs>)" msgstr "" -#: ../src/selection-chemistry.cpp:2751 +#: ../src/selection-chemistry.cpp:2752 msgid "Select one path to clone." msgstr "" -#: ../src/selection-chemistry.cpp:2755 +#: ../src/selection-chemistry.cpp:2756 msgid "Select one path to clone." msgstr "" -#: ../src/selection-chemistry.cpp:2810 +#: ../src/selection-chemistry.cpp:2811 msgid "Select object(s) to convert to marker." msgstr "" -#: ../src/selection-chemistry.cpp:2878 +#: ../src/selection-chemistry.cpp:2879 msgid "Objects to marker" msgstr "" -#: ../src/selection-chemistry.cpp:2906 +#: ../src/selection-chemistry.cpp:2903 msgid "Select object(s) to convert to guides." msgstr "" -#: ../src/selection-chemistry.cpp:2918 +#: ../src/selection-chemistry.cpp:2926 msgid "Objects to guides" msgstr "" -#: ../src/selection-chemistry.cpp:2937 +#: ../src/selection-chemistry.cpp:2945 msgid "Select groups to convert to symbols." msgstr "" -#: ../src/selection-chemistry.cpp:2957 +#: ../src/selection-chemistry.cpp:2965 msgid "No groups converted to symbols." msgstr "" #. Group just disappears, nothing to select. -#: ../src/selection-chemistry.cpp:2964 +#: ../src/selection-chemistry.cpp:2972 msgid "Group to symbol" msgstr "" -#: ../src/selection-chemistry.cpp:3030 +#: ../src/selection-chemistry.cpp:3038 msgid "Select a symbol to extract objects from." msgstr "" -#: ../src/selection-chemistry.cpp:3039 +#: ../src/selection-chemistry.cpp:3047 msgid "Select only one symbol to convert to group." msgstr "" -#: ../src/selection-chemistry.cpp:3080 +#: ../src/selection-chemistry.cpp:3088 msgid "Group from symbol" msgstr "" -#: ../src/selection-chemistry.cpp:3097 +#: ../src/selection-chemistry.cpp:3105 msgid "Select object(s) to convert to pattern." msgstr "" -#: ../src/selection-chemistry.cpp:3187 +#: ../src/selection-chemistry.cpp:3195 msgid "Objects to pattern" msgstr "" -#: ../src/selection-chemistry.cpp:3203 +#: ../src/selection-chemistry.cpp:3211 msgid "Select an object with pattern fill to extract objects from." msgstr "" -#: ../src/selection-chemistry.cpp:3258 +#: ../src/selection-chemistry.cpp:3266 msgid "No pattern fills in the selection." msgstr "" -#: ../src/selection-chemistry.cpp:3261 +#: ../src/selection-chemistry.cpp:3269 msgid "Pattern to objects" msgstr "" -#: ../src/selection-chemistry.cpp:3352 +#: ../src/selection-chemistry.cpp:3360 msgid "Select object(s) to make a bitmap copy." msgstr "" -#: ../src/selection-chemistry.cpp:3356 +#: ../src/selection-chemistry.cpp:3364 msgid "Rendering bitmap..." msgstr "" -#: ../src/selection-chemistry.cpp:3535 +#: ../src/selection-chemistry.cpp:3543 msgid "Create bitmap" msgstr "" -#: ../src/selection-chemistry.cpp:3567 +#: ../src/selection-chemistry.cpp:3575 msgid "Select object(s) to create clippath or mask from." msgstr "" -#: ../src/selection-chemistry.cpp:3570 +#: ../src/selection-chemistry.cpp:3578 msgid "Select mask object and object(s) to apply clippath or mask to." msgstr "" -#: ../src/selection-chemistry.cpp:3753 +#: ../src/selection-chemistry.cpp:3761 msgid "Set clipping path" msgstr "" -#: ../src/selection-chemistry.cpp:3755 +#: ../src/selection-chemistry.cpp:3763 msgid "Set mask" msgstr "" -#: ../src/selection-chemistry.cpp:3770 +#: ../src/selection-chemistry.cpp:3778 msgid "Select object(s) to remove clippath or mask from." msgstr "" -#: ../src/selection-chemistry.cpp:3881 +#: ../src/selection-chemistry.cpp:3889 msgid "Release clipping path" msgstr "" -#: ../src/selection-chemistry.cpp:3883 +#: ../src/selection-chemistry.cpp:3891 msgid "Release mask" msgstr "" -#: ../src/selection-chemistry.cpp:3902 +#: ../src/selection-chemistry.cpp:3910 msgid "Select object(s) to fit canvas to." msgstr "" #. Fit Page -#: ../src/selection-chemistry.cpp:3922 ../src/verbs.cpp:2907 +#: ../src/selection-chemistry.cpp:3930 ../src/verbs.cpp:2909 msgid "Fit Page to Selection" msgstr "" -#: ../src/selection-chemistry.cpp:3951 ../src/verbs.cpp:2909 +#: ../src/selection-chemistry.cpp:3959 ../src/verbs.cpp:2911 msgid "Fit Page to Drawing" msgstr "" -#: ../src/selection-chemistry.cpp:3972 ../src/verbs.cpp:2911 +#: ../src/selection-chemistry.cpp:3980 ../src/verbs.cpp:2913 msgid "Fit Page to Selection or Drawing" msgstr "" @@ -11585,16 +11126,46 @@ msgid_plural "; %d filtered objects " msgstr[0] "" msgstr[1] "" -#: ../src/seltrans.cpp:471 ../src/ui/dialog/transformation.cpp:981 -msgid "Skew" +#: ../src/seltrans-handles.cpp:9 +msgid "" +"Squeeze or stretch selection; with Ctrl to scale uniformly; " +"with Shift to scale around rotation center" msgstr "" -#: ../src/seltrans.cpp:483 -msgid "Set center" +#: ../src/seltrans-handles.cpp:10 +msgid "" +"Scale selection; with Ctrl to scale uniformly; with Shift to scale around rotation center" msgstr "" -#: ../src/seltrans.cpp:558 -msgid "Stamp" +#: ../src/seltrans-handles.cpp:11 +msgid "" +"Skew selection; with Ctrl to snap angle; with Shift to " +"skew around the opposite side" +msgstr "" + +#: ../src/seltrans-handles.cpp:12 +msgid "" +"Rotate selection; with Ctrl to snap angle; with Shift " +"to rotate around the opposite corner" +msgstr "" + +#: ../src/seltrans-handles.cpp:13 +msgid "" +"Center of rotation and skewing: drag to reposition; scaling with " +"Shift also uses this center" +msgstr "" + +#: ../src/seltrans.cpp:471 ../src/ui/dialog/transformation.cpp:982 +msgid "Skew" +msgstr "" + +#: ../src/seltrans.cpp:483 +msgid "Set center" +msgstr "" + +#: ../src/seltrans.cpp:558 +msgid "Stamp" msgstr "" #: ../src/seltrans.cpp:711 @@ -11632,36 +11203,6 @@ msgid "" "with Shift to disable snapping" msgstr "" -#: ../src/seltrans-handles.cpp:9 -msgid "" -"Squeeze or stretch selection; with Ctrl to scale uniformly; " -"with Shift to scale around rotation center" -msgstr "" - -#: ../src/seltrans-handles.cpp:10 -msgid "" -"Scale selection; with Ctrl to scale uniformly; with Shift to scale around rotation center" -msgstr "" - -#: ../src/seltrans-handles.cpp:11 -msgid "" -"Skew selection; with Ctrl to snap angle; with Shift to " -"skew around the opposite side" -msgstr "" - -#: ../src/seltrans-handles.cpp:12 -msgid "" -"Rotate selection; with Ctrl to snap angle; with Shift " -"to rotate around the opposite corner" -msgstr "" - -#: ../src/seltrans-handles.cpp:13 -msgid "" -"Center of rotation and skewing: drag to reposition; scaling with " -"Shift also uses this center" -msgstr "" - #: ../src/shortcuts.cpp:226 #, c-format msgid "Keyboard directory (%s) is unavailable." @@ -11726,7 +11267,7 @@ msgid "Linked Flowed Text" msgstr "" #: ../src/sp-flowtext.cpp:298 ../src/sp-text.cpp:357 -#: ../src/text-context.cpp:1597 +#: ../src/ui/tools/text-tool.cpp:1599 msgid " [truncated]" msgstr "" @@ -11785,169 +11326,44 @@ msgstr "" msgid "%d × %d: %s" msgstr "" -#: ../src/spiral-context.cpp:263 -msgid "Ctrl: snap angle" -msgstr "" - -#: ../src/spiral-context.cpp:265 -msgid "Alt: lock spiral radius" -msgstr "" - -#: ../src/spiral-context.cpp:404 +#: ../src/sp-item-group.cpp:337 ../src/sp-switch.cpp:82 #, c-format -msgid "" -"Spiral: radius %s, angle %5g°; with Ctrl to snap angle" +msgid "of %d object" msgstr "" -#: ../src/spiral-context.cpp:425 -msgid "Create spiral" +#: ../src/sp-item-group.cpp:337 ../src/sp-switch.cpp:82 +#, c-format +msgid "of %d objects" msgstr "" -#: ../src/sp-item.cpp:940 ../src/verbs.cpp:213 +#: ../src/sp-item.cpp:942 ../src/verbs.cpp:213 msgid "Object" msgstr "" -#: ../src/sp-item.cpp:957 +#: ../src/sp-item.cpp:959 #, c-format msgid "%s; clipped" msgstr "" -#: ../src/sp-item.cpp:963 +#: ../src/sp-item.cpp:965 #, c-format msgid "%s; masked" msgstr "" -#: ../src/sp-item.cpp:973 +#: ../src/sp-item.cpp:975 #, c-format msgid "%s; filtered (%s)" msgstr "" -#: ../src/sp-item.cpp:975 +#: ../src/sp-item.cpp:977 #, c-format msgid "%s; filtered" msgstr "" -#: ../src/sp-item-group.cpp:337 ../src/sp-switch.cpp:81 -#, c-format -msgid "of %d object" -msgstr "" - -#: ../src/sp-item-group.cpp:337 ../src/sp-switch.cpp:81 -#, c-format -msgid "of %d objects" -msgstr "" - #: ../src/sp-line.cpp:126 msgid "Line" msgstr "" -#: ../src/splivarot.cpp:82 -msgid "Intersection" -msgstr "" - -#: ../src/splivarot.cpp:88 ../src/splivarot.cpp:94 -msgid "Difference" -msgstr "" - -#: ../src/splivarot.cpp:105 -msgid "Division" -msgstr "" - -#: ../src/splivarot.cpp:110 -msgid "Cut path" -msgstr "" - -#: ../src/splivarot.cpp:333 -msgid "Select at least 2 paths to perform a boolean operation." -msgstr "" - -#: ../src/splivarot.cpp:337 -msgid "Select at least 1 path to perform a boolean union." -msgstr "" - -#: ../src/splivarot.cpp:343 -msgid "" -"Select exactly 2 paths to perform difference, division, or path cut." -msgstr "" - -#: ../src/splivarot.cpp:359 ../src/splivarot.cpp:374 -msgid "" -"Unable to determine the z-order of the objects selected for " -"difference, XOR, division, or path cut." -msgstr "" - -#: ../src/splivarot.cpp:404 -msgid "" -"One of the objects is not a path, cannot perform boolean operation." -msgstr "" - -#: ../src/splivarot.cpp:1153 -msgid "Select stroked path(s) to convert stroke to path." -msgstr "" - -#: ../src/splivarot.cpp:1506 -msgid "Convert stroke to path" -msgstr "" - -#. TRANSLATORS: "to outline" means "to convert stroke to path" -#: ../src/splivarot.cpp:1509 -msgid "No stroked paths in the selection." -msgstr "" - -#: ../src/splivarot.cpp:1580 -msgid "Selected object is not a path, cannot inset/outset." -msgstr "" - -#: ../src/splivarot.cpp:1676 ../src/splivarot.cpp:1741 -msgid "Create linked offset" -msgstr "" - -#: ../src/splivarot.cpp:1677 ../src/splivarot.cpp:1742 -msgid "Create dynamic offset" -msgstr "" - -#: ../src/splivarot.cpp:1767 -msgid "Select path(s) to inset/outset." -msgstr "" - -#: ../src/splivarot.cpp:1980 -msgid "Outset path" -msgstr "" - -#: ../src/splivarot.cpp:1980 -msgid "Inset path" -msgstr "" - -#: ../src/splivarot.cpp:1982 -msgid "No paths to inset/outset in the selection." -msgstr "" - -#: ../src/splivarot.cpp:2144 -msgid "Simplifying paths (separately):" -msgstr "" - -#: ../src/splivarot.cpp:2146 -msgid "Simplifying paths:" -msgstr "" - -#: ../src/splivarot.cpp:2183 -#, c-format -msgid "%s %d of %d paths simplified..." -msgstr "" - -#: ../src/splivarot.cpp:2196 -#, c-format -msgid "%d paths simplified." -msgstr "" - -#: ../src/splivarot.cpp:2210 -msgid "Select path(s) to simplify." -msgstr "" - -#: ../src/splivarot.cpp:2226 -msgid "No paths to simplify in the selection." -msgstr "" - #: ../src/sp-lpe-item.cpp:249 msgid "An exception occurred during execution of the Path Effect." msgstr "" @@ -11993,7 +11409,7 @@ msgstr "" msgid "%i nodes%s" msgstr "" -#: ../src/sp-polygon.cpp:182 +#: ../src/sp-polygon.cpp:185 msgid "Polygon" msgstr "" @@ -12001,54 +11417,6 @@ msgstr "" msgid "Polyline" msgstr "" -#: ../src/spray-context.cpp:188 ../src/tweak-context.cpp:170 -#, c-format -msgid "%i object selected" -msgid_plural "%i objects selected" -msgstr[0] "" -msgstr[1] "" - -#: ../src/spray-context.cpp:190 ../src/tweak-context.cpp:172 -msgid "Nothing selected" -msgstr "" - -#: ../src/spray-context.cpp:195 -#, c-format -msgid "" -"%s. Drag, click or click and scroll to spray copies of the initial " -"selection." -msgstr "" - -#: ../src/spray-context.cpp:198 -#, c-format -msgid "" -"%s. Drag, click or click and scroll to spray clones of the initial " -"selection." -msgstr "" - -#: ../src/spray-context.cpp:201 -#, c-format -msgid "" -"%s. Drag, click or click and scroll to spray in a single path of the " -"initial selection." -msgstr "" - -#: ../src/spray-context.cpp:641 -msgid "Nothing selected! Select objects to spray." -msgstr "" - -#: ../src/spray-context.cpp:716 ../src/widgets/spray-toolbar.cpp:178 -msgid "Spray with copies" -msgstr "" - -#: ../src/spray-context.cpp:720 ../src/widgets/spray-toolbar.cpp:185 -msgid "Spray with clones" -msgstr "" - -#: ../src/spray-context.cpp:724 -msgid "Spray in single path" -msgstr "" - #. Rectangle #: ../src/sp-rect.cpp:163 ../src/ui/dialog/inkscape-preferences.cpp:393 msgid "Rectangle" @@ -12090,7 +11458,7 @@ msgstr "" msgid "with %d vertices" msgstr "" -#: ../src/sp-switch.cpp:75 +#: ../src/sp-switch.cpp:76 msgid "Conditional Group" msgstr "" @@ -12164,257 +11532,186 @@ msgstr "" msgid "of: %s" msgstr "" -#: ../src/star-context.cpp:277 -msgid "Ctrl: snap angle; keep rays radial" +#: ../src/splivarot.cpp:82 +msgid "Intersection" msgstr "" -#: ../src/star-context.cpp:423 -#, c-format -msgid "" -"Polygon: radius %s, angle %5g°; with Ctrl to snap angle" +#: ../src/splivarot.cpp:105 +msgid "Division" msgstr "" -#: ../src/star-context.cpp:424 -#, c-format -msgid "Star: radius %s, angle %5g°; with Ctrl to snap angle" +#: ../src/splivarot.cpp:110 +msgid "Cut path" msgstr "" -#: ../src/star-context.cpp:452 -msgid "Create star" +#: ../src/splivarot.cpp:333 +msgid "Select at least 2 paths to perform a boolean operation." msgstr "" -#: ../src/text-chemistry.cpp:94 -msgid "Select a text and a path to put text on path." +#: ../src/splivarot.cpp:337 +msgid "Select at least 1 path to perform a boolean union." msgstr "" -#: ../src/text-chemistry.cpp:99 +#: ../src/splivarot.cpp:345 msgid "" -"This text object is already put on a path. Remove it from the path " -"first. Use Shift+D to look up its path." +"Select exactly 2 paths to perform difference, division, or path cut." msgstr "" -#. rect is the only SPShape which is not yet, and thus SVG forbids us from putting text on it -#: ../src/text-chemistry.cpp:105 +#: ../src/splivarot.cpp:361 ../src/splivarot.cpp:376 msgid "" -"You cannot put text on a rectangle in this version. Convert rectangle to " -"path first." +"Unable to determine the z-order of the objects selected for " +"difference, XOR, division, or path cut." msgstr "" -#: ../src/text-chemistry.cpp:115 -msgid "The flowed text(s) must be visible in order to be put on a path." +#: ../src/splivarot.cpp:407 +msgid "" +"One of the objects is not a path, cannot perform boolean operation." msgstr "" -#: ../src/text-chemistry.cpp:185 ../src/verbs.cpp:2496 -msgid "Put text on path" +#: ../src/splivarot.cpp:1156 +msgid "Select stroked path(s) to convert stroke to path." msgstr "" -#: ../src/text-chemistry.cpp:197 -msgid "Select a text on path to remove it from path." +#: ../src/splivarot.cpp:1511 +msgid "Convert stroke to path" msgstr "" -#: ../src/text-chemistry.cpp:218 -msgid "No texts-on-paths in the selection." +#. TRANSLATORS: "to outline" means "to convert stroke to path" +#: ../src/splivarot.cpp:1514 +msgid "No stroked paths in the selection." msgstr "" -#: ../src/text-chemistry.cpp:221 ../src/verbs.cpp:2498 -msgid "Remove text from path" +#: ../src/splivarot.cpp:1585 +msgid "Selected object is not a path, cannot inset/outset." msgstr "" -#: ../src/text-chemistry.cpp:261 ../src/text-chemistry.cpp:282 -msgid "Select text(s) to remove kerns from." -msgstr "" - -#: ../src/text-chemistry.cpp:285 -msgid "Remove manual kerns" -msgstr "" - -#: ../src/text-chemistry.cpp:305 -msgid "" -"Select a text and one or more paths or shapes to flow text " -"into frame." -msgstr "" - -#: ../src/text-chemistry.cpp:375 -msgid "Flow text into shape" -msgstr "" - -#: ../src/text-chemistry.cpp:397 -msgid "Select a flowed text to unflow it." -msgstr "" - -#: ../src/text-chemistry.cpp:471 -msgid "Unflow flowed text" -msgstr "" - -#: ../src/text-chemistry.cpp:483 -msgid "Select flowed text(s) to convert." -msgstr "" - -#: ../src/text-chemistry.cpp:501 -msgid "The flowed text(s) must be visible in order to be converted." +#: ../src/splivarot.cpp:1676 ../src/splivarot.cpp:1741 +msgid "Create linked offset" msgstr "" -#: ../src/text-chemistry.cpp:529 -msgid "Convert flowed text to text" +#: ../src/splivarot.cpp:1677 ../src/splivarot.cpp:1742 +msgid "Create dynamic offset" msgstr "" -#: ../src/text-chemistry.cpp:534 -msgid "No flowed text(s) to convert in the selection." +#: ../src/splivarot.cpp:1767 +msgid "Select path(s) to inset/outset." msgstr "" -#: ../src/text-context.cpp:390 -msgid "Click to edit the text, drag to select part of the text." +#: ../src/splivarot.cpp:1963 +msgid "Outset path" msgstr "" -#: ../src/text-context.cpp:392 -msgid "" -"Click to edit the flowed text, drag to select part of the text." +#: ../src/splivarot.cpp:1963 +msgid "Inset path" msgstr "" -#: ../src/text-context.cpp:446 -msgid "Create text" +#: ../src/splivarot.cpp:1965 +msgid "No paths to inset/outset in the selection." msgstr "" -#: ../src/text-context.cpp:471 -msgid "Non-printable character" +#: ../src/splivarot.cpp:2127 +msgid "Simplifying paths (separately):" msgstr "" -#: ../src/text-context.cpp:486 -msgid "Insert Unicode character" +#: ../src/splivarot.cpp:2129 +msgid "Simplifying paths:" msgstr "" -#: ../src/text-context.cpp:521 +#: ../src/splivarot.cpp:2166 #, c-format -msgid "Unicode (Enter to finish): %s: %s" -msgstr "" - -#: ../src/text-context.cpp:523 ../src/text-context.cpp:830 -msgid "Unicode (Enter to finish): " +msgid "%s %d of %d paths simplified..." msgstr "" -#: ../src/text-context.cpp:606 +#: ../src/splivarot.cpp:2179 #, c-format -msgid "Flowed text frame: %s × %s" +msgid "%d paths simplified." msgstr "" -#: ../src/text-context.cpp:664 -msgid "Type text; Enter to start new line." +#: ../src/splivarot.cpp:2193 +msgid "Select path(s) to simplify." msgstr "" -#: ../src/text-context.cpp:675 -msgid "Flowed text is created." +#: ../src/splivarot.cpp:2209 +msgid "No paths to simplify in the selection." msgstr "" -#: ../src/text-context.cpp:677 -msgid "Create flowed text" +#: ../src/text-chemistry.cpp:94 +msgid "Select a text and a path to put text on path." msgstr "" -#: ../src/text-context.cpp:679 +#: ../src/text-chemistry.cpp:99 msgid "" -"The frame is too small for the current font size. Flowed text not " -"created." -msgstr "" - -#: ../src/text-context.cpp:815 -msgid "No-break space" -msgstr "" - -#: ../src/text-context.cpp:817 -msgid "Insert no-break space" -msgstr "" - -#: ../src/text-context.cpp:854 -msgid "Make bold" -msgstr "" - -#: ../src/text-context.cpp:872 -msgid "Make italic" +"This text object is already put on a path. Remove it from the path " +"first. Use Shift+D to look up its path." msgstr "" -#: ../src/text-context.cpp:911 -msgid "New line" +#. rect is the only SPShape which is not yet, and thus SVG forbids us from putting text on it +#: ../src/text-chemistry.cpp:105 +msgid "" +"You cannot put text on a rectangle in this version. Convert rectangle to " +"path first." msgstr "" -#: ../src/text-context.cpp:953 -msgid "Backspace" +#: ../src/text-chemistry.cpp:115 +msgid "The flowed text(s) must be visible in order to be put on a path." msgstr "" -#: ../src/text-context.cpp:1009 -msgid "Kern to the left" +#: ../src/text-chemistry.cpp:185 ../src/verbs.cpp:2496 +msgid "Put text on path" msgstr "" -#: ../src/text-context.cpp:1034 -msgid "Kern to the right" +#: ../src/text-chemistry.cpp:197 +msgid "Select a text on path to remove it from path." msgstr "" -#: ../src/text-context.cpp:1059 -msgid "Kern up" +#: ../src/text-chemistry.cpp:218 +msgid "No texts-on-paths in the selection." msgstr "" -#: ../src/text-context.cpp:1084 -msgid "Kern down" +#: ../src/text-chemistry.cpp:221 ../src/verbs.cpp:2498 +msgid "Remove text from path" msgstr "" -#: ../src/text-context.cpp:1160 -msgid "Rotate counterclockwise" +#: ../src/text-chemistry.cpp:262 ../src/text-chemistry.cpp:283 +msgid "Select text(s) to remove kerns from." msgstr "" -#: ../src/text-context.cpp:1181 -msgid "Rotate clockwise" +#: ../src/text-chemistry.cpp:286 +msgid "Remove manual kerns" msgstr "" -#: ../src/text-context.cpp:1198 -msgid "Contract line spacing" +#: ../src/text-chemistry.cpp:306 +msgid "" +"Select a text and one or more paths or shapes to flow text " +"into frame." msgstr "" -#: ../src/text-context.cpp:1205 -msgid "Contract letter spacing" +#: ../src/text-chemistry.cpp:376 +msgid "Flow text into shape" msgstr "" -#: ../src/text-context.cpp:1223 -msgid "Expand line spacing" +#: ../src/text-chemistry.cpp:398 +msgid "Select a flowed text to unflow it." msgstr "" -#: ../src/text-context.cpp:1230 -msgid "Expand letter spacing" +#: ../src/text-chemistry.cpp:472 +msgid "Unflow flowed text" msgstr "" -#: ../src/text-context.cpp:1360 -msgid "Paste text" +#: ../src/text-chemistry.cpp:484 +msgid "Select flowed text(s) to convert." msgstr "" -#: ../src/text-context.cpp:1485 ../src/ui/dialog/text-edit.cpp:588 -#: ../src/ui/dialog/text-edit.cpp:662 -msgid "Set text style" +#: ../src/text-chemistry.cpp:502 +msgid "The flowed text(s) must be visible in order to be converted." msgstr "" -#: ../src/text-context.cpp:1614 -#, c-format -msgid "" -"Type or edit flowed text (%d character%s); Enter to start new " -"paragraph." -msgid_plural "" -"Type or edit flowed text (%d characters%s); Enter to start new " -"paragraph." -msgstr[0] "" -msgstr[1] "" - -#: ../src/text-context.cpp:1616 -#, c-format -msgid "Type or edit text (%d character%s); Enter to start new line." -msgid_plural "" -"Type or edit text (%d characters%s); Enter to start new line." -msgstr[0] "" -msgstr[1] "" - -#: ../src/text-context.cpp:1624 ../src/tools-switch.cpp:103 -msgid "" -"Click to select or create text, drag to create flowed text; " -"then type." +#: ../src/text-chemistry.cpp:530 +msgid "Convert flowed text to text" msgstr "" -#: ../src/text-context.cpp:1726 -msgid "Type text" +#: ../src/text-chemistry.cpp:535 +msgid "No flowed text(s) to convert in the selection." msgstr "" #: ../src/text-editing.cpp:44 @@ -12490,6 +11787,12 @@ msgid "" "path. Arrow keys adjust width (left/right) and angle (up/down)." msgstr "" +#: ../src/tools-switch.cpp:103 ../src/ui/tools/text-tool.cpp:1626 +msgid "" +"Click to select or create text, drag to create flowed text; " +"then type." +msgstr "" + #: ../src/tools-switch.cpp:104 msgid "" "Drag or double click to create a gradient on selected objects, " @@ -12512,6 +11815,13 @@ msgstr "" msgid "Drag to measure the dimensions of objects." msgstr "" +#: ../src/tools-switch.cpp:108 ../src/ui/tools/dropper-tool.cpp:287 +msgid "" +"Click to set fill, Shift+click to set stroke; drag to " +"average color in area; with Alt to pick inverse color; Ctrl+C " +"to copy the color under mouse to clipboard" +msgstr "" + #: ../src/tools-switch.cpp:109 msgid "Click and drag between shapes to create a connector." msgstr "" @@ -12581,130 +11891,6 @@ msgstr "" msgid "Trace: Done. %ld nodes created" msgstr "" -#: ../src/tweak-context.cpp:177 -#, c-format -msgid "%s. Drag to move." -msgstr "" - -#: ../src/tweak-context.cpp:181 -#, c-format -msgid "%s. Drag or click to move in; with Shift to move out." -msgstr "" - -#: ../src/tweak-context.cpp:189 -#, c-format -msgid "%s. Drag or click to move randomly." -msgstr "" - -#: ../src/tweak-context.cpp:193 -#, c-format -msgid "%s. Drag or click to scale down; with Shift to scale up." -msgstr "" - -#: ../src/tweak-context.cpp:201 -#, c-format -msgid "" -"%s. Drag or click to rotate clockwise; with Shift, " -"counterclockwise." -msgstr "" - -#: ../src/tweak-context.cpp:209 -#, c-format -msgid "%s. Drag or click to duplicate; with Shift, delete." -msgstr "" - -#: ../src/tweak-context.cpp:217 -#, c-format -msgid "%s. Drag to push paths." -msgstr "" - -#: ../src/tweak-context.cpp:221 -#, c-format -msgid "%s. Drag or click to inset paths; with Shift to outset." -msgstr "" - -#: ../src/tweak-context.cpp:229 -#, c-format -msgid "%s. Drag or click to attract paths; with Shift to repel." -msgstr "" - -#: ../src/tweak-context.cpp:237 -#, c-format -msgid "%s. Drag or click to roughen paths." -msgstr "" - -#: ../src/tweak-context.cpp:241 -#, c-format -msgid "%s. Drag or click to paint objects with color." -msgstr "" - -#: ../src/tweak-context.cpp:245 -#, c-format -msgid "%s. Drag or click to randomize colors." -msgstr "" - -#: ../src/tweak-context.cpp:249 -#, c-format -msgid "" -"%s. Drag or click to increase blur; with Shift to decrease." -msgstr "" - -#: ../src/tweak-context.cpp:1196 -msgid "Nothing selected! Select objects to tweak." -msgstr "" - -#: ../src/tweak-context.cpp:1230 -msgid "Move tweak" -msgstr "" - -#: ../src/tweak-context.cpp:1234 -msgid "Move in/out tweak" -msgstr "" - -#: ../src/tweak-context.cpp:1238 -msgid "Move jitter tweak" -msgstr "" - -#: ../src/tweak-context.cpp:1242 -msgid "Scale tweak" -msgstr "" - -#: ../src/tweak-context.cpp:1246 -msgid "Rotate tweak" -msgstr "" - -#: ../src/tweak-context.cpp:1250 -msgid "Duplicate/delete tweak" -msgstr "" - -#: ../src/tweak-context.cpp:1254 -msgid "Push path tweak" -msgstr "" - -#: ../src/tweak-context.cpp:1258 -msgid "Shrink/grow path tweak" -msgstr "" - -#: ../src/tweak-context.cpp:1262 -msgid "Attract/repel path tweak" -msgstr "" - -#: ../src/tweak-context.cpp:1266 -msgid "Roughen path tweak" -msgstr "" - -#: ../src/tweak-context.cpp:1270 -msgid "Color paint tweak" -msgstr "" - -#: ../src/tweak-context.cpp:1274 -msgid "Color jitter tweak" -msgstr "" - -#: ../src/tweak-context.cpp:1278 -msgid "Blur tweak" -msgstr "" - #. check whether something is selected #: ../src/ui/clipboard.cpp:261 msgid "Nothing was copied." @@ -12854,7 +12040,7 @@ msgid "Rearrange" msgstr "" #: ../src/ui/dialog/align-and-distribute.cpp:856 -#: ../src/widgets/toolbox.cpp:1726 +#: ../src/widgets/toolbox.cpp:1727 msgid "Nodes" msgstr "" @@ -12867,53 +12053,53 @@ msgid "_Treat selection as group: " msgstr "" #. Align -#: ../src/ui/dialog/align-and-distribute.cpp:877 ../src/verbs.cpp:2939 -#: ../src/verbs.cpp:2940 +#: ../src/ui/dialog/align-and-distribute.cpp:877 ../src/verbs.cpp:2941 +#: ../src/verbs.cpp:2942 msgid "Align right edges of objects to the left edge of the anchor" msgstr "" -#: ../src/ui/dialog/align-and-distribute.cpp:880 ../src/verbs.cpp:2941 -#: ../src/verbs.cpp:2942 +#: ../src/ui/dialog/align-and-distribute.cpp:880 ../src/verbs.cpp:2943 +#: ../src/verbs.cpp:2944 msgid "Align left edges" msgstr "" -#: ../src/ui/dialog/align-and-distribute.cpp:883 ../src/verbs.cpp:2943 -#: ../src/verbs.cpp:2944 +#: ../src/ui/dialog/align-and-distribute.cpp:883 ../src/verbs.cpp:2945 +#: ../src/verbs.cpp:2946 msgid "Center on vertical axis" msgstr "" -#: ../src/ui/dialog/align-and-distribute.cpp:886 ../src/verbs.cpp:2945 -#: ../src/verbs.cpp:2946 +#: ../src/ui/dialog/align-and-distribute.cpp:886 ../src/verbs.cpp:2947 +#: ../src/verbs.cpp:2948 msgid "Align right sides" msgstr "" -#: ../src/ui/dialog/align-and-distribute.cpp:889 ../src/verbs.cpp:2947 -#: ../src/verbs.cpp:2948 +#: ../src/ui/dialog/align-and-distribute.cpp:889 ../src/verbs.cpp:2949 +#: ../src/verbs.cpp:2950 msgid "Align left edges of objects to the right edge of the anchor" msgstr "" -#: ../src/ui/dialog/align-and-distribute.cpp:892 ../src/verbs.cpp:2949 -#: ../src/verbs.cpp:2950 +#: ../src/ui/dialog/align-and-distribute.cpp:892 ../src/verbs.cpp:2951 +#: ../src/verbs.cpp:2952 msgid "Align bottom edges of objects to the top edge of the anchor" msgstr "" -#: ../src/ui/dialog/align-and-distribute.cpp:895 ../src/verbs.cpp:2951 -#: ../src/verbs.cpp:2952 +#: ../src/ui/dialog/align-and-distribute.cpp:895 ../src/verbs.cpp:2953 +#: ../src/verbs.cpp:2954 msgid "Align top edges" msgstr "" -#: ../src/ui/dialog/align-and-distribute.cpp:898 ../src/verbs.cpp:2953 -#: ../src/verbs.cpp:2954 +#: ../src/ui/dialog/align-and-distribute.cpp:898 ../src/verbs.cpp:2955 +#: ../src/verbs.cpp:2956 msgid "Center on horizontal axis" msgstr "" -#: ../src/ui/dialog/align-and-distribute.cpp:901 ../src/verbs.cpp:2955 -#: ../src/verbs.cpp:2956 +#: ../src/ui/dialog/align-and-distribute.cpp:901 ../src/verbs.cpp:2957 +#: ../src/verbs.cpp:2958 msgid "Align bottom edges" msgstr "" -#: ../src/ui/dialog/align-and-distribute.cpp:904 ../src/verbs.cpp:2957 -#: ../src/verbs.cpp:2958 +#: ../src/ui/dialog/align-and-distribute.cpp:904 ../src/verbs.cpp:2959 +#: ../src/verbs.cpp:2960 msgid "Align top edges of objects to the bottom edge of the anchor" msgstr "" @@ -13796,283 +12982,283 @@ msgid "Release log messages" msgstr "" #: ../src/ui/dialog/document-metadata.cpp:88 -#: ../src/ui/dialog/document-properties.cpp:155 +#: ../src/ui/dialog/document-properties.cpp:156 msgid "Metadata" msgstr "" #: ../src/ui/dialog/document-metadata.cpp:89 -#: ../src/ui/dialog/document-properties.cpp:156 +#: ../src/ui/dialog/document-properties.cpp:157 msgid "License" msgstr "" #: ../src/ui/dialog/document-metadata.cpp:126 -#: ../src/ui/dialog/document-properties.cpp:966 +#: ../src/ui/dialog/document-properties.cpp:1002 msgid "Dublin Core Entities" msgstr "" #: ../src/ui/dialog/document-metadata.cpp:168 -#: ../src/ui/dialog/document-properties.cpp:1028 +#: ../src/ui/dialog/document-properties.cpp:1064 msgid "License" msgstr "" #. --------------------------------------------------------------- -#: ../src/ui/dialog/document-properties.cpp:108 +#: ../src/ui/dialog/document-properties.cpp:109 msgid "Show page _border" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:108 +#: ../src/ui/dialog/document-properties.cpp:109 msgid "If set, rectangular page border is shown" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:109 +#: ../src/ui/dialog/document-properties.cpp:110 msgid "Border on _top of drawing" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:109 +#: ../src/ui/dialog/document-properties.cpp:110 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:111 msgid "_Show border shadow" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:110 +#: ../src/ui/dialog/document-properties.cpp:111 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:112 msgid "Back_ground color:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:111 +#: ../src/ui/dialog/document-properties.cpp:112 msgid "" "Color of the page background. Note: transparency setting ignored while " "editing but used when exporting to bitmap." msgstr "" -#: ../src/ui/dialog/document-properties.cpp:112 +#: ../src/ui/dialog/document-properties.cpp:113 msgid "Border _color:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:112 +#: ../src/ui/dialog/document-properties.cpp:113 msgid "Page border color" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:112 +#: ../src/ui/dialog/document-properties.cpp:113 msgid "Color of the page border" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:113 +#: ../src/ui/dialog/document-properties.cpp:114 msgid "Default _units:" msgstr "" #. --------------------------------------------------------------- #. General snap options -#: ../src/ui/dialog/document-properties.cpp:117 +#: ../src/ui/dialog/document-properties.cpp:118 msgid "Show _guides" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:117 +#: ../src/ui/dialog/document-properties.cpp:118 msgid "Show or hide guides" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:118 +#: ../src/ui/dialog/document-properties.cpp:119 msgid "Guide co_lor:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:118 +#: ../src/ui/dialog/document-properties.cpp:119 msgid "Guideline color" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:118 +#: ../src/ui/dialog/document-properties.cpp:119 msgid "Color of guidelines" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:119 +#: ../src/ui/dialog/document-properties.cpp:120 msgid "_Highlight color:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:119 +#: ../src/ui/dialog/document-properties.cpp:120 msgid "Highlighted guideline color" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:119 +#: ../src/ui/dialog/document-properties.cpp:120 msgid "Color of a guideline when it is under mouse" msgstr "" #. --------------------------------------------------------------- -#: ../src/ui/dialog/document-properties.cpp:121 +#: ../src/ui/dialog/document-properties.cpp:122 msgid "Snap _distance" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:121 +#: ../src/ui/dialog/document-properties.cpp:122 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:122 +#: ../src/ui/dialog/document-properties.cpp:127 +#: ../src/ui/dialog/document-properties.cpp:132 msgid "Always snap" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:122 +#: ../src/ui/dialog/document-properties.cpp:123 msgid "Snapping distance, in screen pixels, for snapping to objects" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:122 +#: ../src/ui/dialog/document-properties.cpp:123 msgid "Always snap to objects, regardless of their distance" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:123 +#: ../src/ui/dialog/document-properties.cpp:124 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:127 msgid "Snap d_istance" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:126 +#: ../src/ui/dialog/document-properties.cpp:127 msgid "Snap only when c_loser than:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:127 +#: ../src/ui/dialog/document-properties.cpp:128 msgid "Snapping distance, in screen pixels, for snapping to grid" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:127 +#: ../src/ui/dialog/document-properties.cpp:128 msgid "Always snap to grids, regardless of the distance" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:128 +#: ../src/ui/dialog/document-properties.cpp:129 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:132 msgid "Snap dist_ance" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:131 +#: ../src/ui/dialog/document-properties.cpp:132 msgid "Snap only when close_r than:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:132 +#: ../src/ui/dialog/document-properties.cpp:133 msgid "Snapping distance, in screen pixels, for snapping to guides" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:132 +#: ../src/ui/dialog/document-properties.cpp:133 msgid "Always snap to guides, regardless of the distance" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:133 +#: ../src/ui/dialog/document-properties.cpp:134 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:137 msgid "Snap to clip paths" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:136 +#: ../src/ui/dialog/document-properties.cpp:137 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:138 msgid "Snap to mask paths" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:137 +#: ../src/ui/dialog/document-properties.cpp:138 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:139 msgid "Snap perpendicularly" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:138 +#: ../src/ui/dialog/document-properties.cpp:139 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:140 msgid "Snap tangentially" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:139 +#: ../src/ui/dialog/document-properties.cpp:140 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:143 msgctxt "Grid" msgid "_New" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:142 +#: ../src/ui/dialog/document-properties.cpp:143 msgid "Create new grid." msgstr "" -#: ../src/ui/dialog/document-properties.cpp:143 +#: ../src/ui/dialog/document-properties.cpp:144 msgctxt "Grid" msgid "_Remove" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:143 +#: ../src/ui/dialog/document-properties.cpp:144 msgid "Remove selected grid." msgstr "" -#: ../src/ui/dialog/document-properties.cpp:150 -#: ../src/widgets/toolbox.cpp:1833 +#: ../src/ui/dialog/document-properties.cpp:151 +#: ../src/widgets/toolbox.cpp:1834 msgid "Guides" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:152 ../src/verbs.cpp:2748 +#: ../src/ui/dialog/document-properties.cpp:153 ../src/verbs.cpp:2748 msgid "Snap" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:154 +#: ../src/ui/dialog/document-properties.cpp:155 msgid "Scripting" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:317 +#: ../src/ui/dialog/document-properties.cpp:318 msgid "General" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:319 +#: ../src/ui/dialog/document-properties.cpp:320 msgid "Color" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:321 +#: ../src/ui/dialog/document-properties.cpp:322 msgid "Border" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:323 +#: ../src/ui/dialog/document-properties.cpp:324 msgid "Page Size" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:356 +#: ../src/ui/dialog/document-properties.cpp:357 msgid "Guides" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:374 +#: ../src/ui/dialog/document-properties.cpp:375 msgid "Snap to objects" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:376 +#: ../src/ui/dialog/document-properties.cpp:377 msgid "Snap to grids" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:378 +#: ../src/ui/dialog/document-properties.cpp:379 msgid "Snap to guides" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:380 +#: ../src/ui/dialog/document-properties.cpp:381 msgid "Miscellaneous" msgstr "" @@ -14080,135 +13266,135 @@ msgstr "" #. Inkscape::GC::release(defsRepr); #. inform the document, so we can undo #. Color Management -#: ../src/ui/dialog/document-properties.cpp:493 ../src/verbs.cpp:2923 +#: ../src/ui/dialog/document-properties.cpp:494 ../src/verbs.cpp:2925 msgid "Link Color Profile" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:594 +#: ../src/ui/dialog/document-properties.cpp:595 msgid "Remove linked color profile" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:607 +#: ../src/ui/dialog/document-properties.cpp:608 msgid "Linked Color Profiles:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:609 +#: ../src/ui/dialog/document-properties.cpp:610 msgid "Available Color Profiles:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:611 +#: ../src/ui/dialog/document-properties.cpp:612 msgid "Link Profile" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:614 +#: ../src/ui/dialog/document-properties.cpp:621 msgid "Unlink Profile" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:692 +#: ../src/ui/dialog/document-properties.cpp:705 msgid "Profile Name" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:728 +#: ../src/ui/dialog/document-properties.cpp:741 msgid "External scripts" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:729 +#: ../src/ui/dialog/document-properties.cpp:742 msgid "Embedded scripts" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:734 +#: ../src/ui/dialog/document-properties.cpp:747 msgid "External script files:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:736 +#: ../src/ui/dialog/document-properties.cpp:749 msgid "Add the current file name or browse for a file" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:739 -#: ../src/ui/dialog/document-properties.cpp:817 +#: ../src/ui/dialog/document-properties.cpp:758 +#: ../src/ui/dialog/document-properties.cpp:847 #: ../src/ui/widget/selected-style.cpp:339 msgid "Remove" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:804 +#: ../src/ui/dialog/document-properties.cpp:828 msgid "Filename" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:812 +#: ../src/ui/dialog/document-properties.cpp:836 msgid "Embedded script files:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:814 +#: ../src/ui/dialog/document-properties.cpp:838 msgid "New" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:881 +#: ../src/ui/dialog/document-properties.cpp:917 msgid "Script id" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:887 +#: ../src/ui/dialog/document-properties.cpp:923 msgid "Content:" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1004 +#: ../src/ui/dialog/document-properties.cpp:1040 msgid "_Save as default" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1005 +#: ../src/ui/dialog/document-properties.cpp:1041 msgid "Save this metadata as the default metadata" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1006 +#: ../src/ui/dialog/document-properties.cpp:1042 msgid "Use _default" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1007 +#: ../src/ui/dialog/document-properties.cpp:1043 msgid "Use the previously saved default metadata here" msgstr "" #. inform the document, so we can undo -#: ../src/ui/dialog/document-properties.cpp:1080 +#: ../src/ui/dialog/document-properties.cpp:1116 msgid "Add external script..." msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1119 +#: ../src/ui/dialog/document-properties.cpp:1155 msgid "Select a script to load" msgstr "" #. inform the document, so we can undo -#: ../src/ui/dialog/document-properties.cpp:1147 +#: ../src/ui/dialog/document-properties.cpp:1183 msgid "Add embedded script..." msgstr "" #. inform the document, so we can undo -#: ../src/ui/dialog/document-properties.cpp:1178 +#: ../src/ui/dialog/document-properties.cpp:1214 msgid "Remove external script" msgstr "" #. inform the document, so we can undo -#: ../src/ui/dialog/document-properties.cpp:1212 +#: ../src/ui/dialog/document-properties.cpp:1248 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:1312 +#: ../src/ui/dialog/document-properties.cpp:1348 msgid "Edit embedded script" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1395 +#: ../src/ui/dialog/document-properties.cpp:1431 msgid "Creation" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1396 +#: ../src/ui/dialog/document-properties.cpp:1432 msgid "Defined grids" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1639 +#: ../src/ui/dialog/document-properties.cpp:1675 msgid "Remove grid" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:1707 +#: ../src/ui/dialog/document-properties.cpp:1743 msgid "Changed document unit" msgstr "" @@ -14314,9 +13500,9 @@ msgid "_Height:" msgstr "" #: ../src/ui/dialog/export.cpp:307 +#: ../src/ui/dialog/inkscape-preferences.cpp:1432 #: ../src/ui/dialog/inkscape-preferences.cpp:1436 -#: ../src/ui/dialog/inkscape-preferences.cpp:1439 -#: ../src/ui/dialog/inkscape-preferences.cpp:1451 +#: ../src/ui/dialog/inkscape-preferences.cpp:1460 msgid "dpi" msgstr "" @@ -14402,13 +13588,18 @@ msgstr "" msgid "Export aborted." msgstr "" +#: ../src/ui/dialog/export.cpp:1299 ../src/ui/dialog/input.cpp:1082 +#: ../src/verbs.cpp:2361 ../src/widgets/desktop-widget.cpp:1127 +msgid "_Save" +msgstr "" + #: ../src/ui/dialog/extension-editor.cpp:81 msgid "Information" msgstr "" #: ../src/ui/dialog/extension-editor.cpp:82 ../src/verbs.cpp:290 -#: ../src/verbs.cpp:309 ../share/extensions/color_custom.inx.h:7 -#: ../share/extensions/color_HSL_adjust.inx.h:11 +#: ../src/verbs.cpp:309 ../share/extensions/color_HSL_adjust.inx.h:11 +#: ../share/extensions/color_custom.inx.h:7 #: ../share/extensions/color_randomize.inx.h:6 #: ../share/extensions/dots.inx.h:7 #: ../share/extensions/draw_from_triangle.inx.h:35 @@ -14449,9 +13640,9 @@ msgstr "" #: ../share/extensions/radiusrand.inx.h:8 ../share/extensions/split.inx.h:8 #: ../share/extensions/voronoi2svg.inx.h:11 #: ../share/extensions/web-set-att.inx.h:25 +#: ../share/extensions/web-transmit-att.inx.h:23 #: ../share/extensions/webslicer_create_group.inx.h:11 #: ../share/extensions/webslicer_export.inx.h:6 -#: ../share/extensions/web-transmit-att.inx.h:23 msgid "Help" msgstr "" @@ -14584,10 +13775,6 @@ msgstr "" msgid "Antialias" msgstr "" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1628 -msgid "Destination" -msgstr "" - #: ../src/ui/dialog/filedialogimpl-win32.cpp:421 msgid "All Executable Files" msgstr "" @@ -15381,7 +14568,7 @@ msgstr "" msgid "Search spirals" msgstr "" -#: ../src/ui/dialog/find.cpp:102 ../src/widgets/toolbox.cpp:1734 +#: ../src/ui/dialog/find.cpp:102 ../src/widgets/toolbox.cpp:1735 msgid "Paths" msgstr "" @@ -16271,7 +15458,7 @@ msgctxt "Guides" msgid "_Y:" msgstr "" -#: ../src/ui/dialog/guides.cpp:50 ../src/ui/dialog/object-properties.cpp:62 +#: ../src/ui/dialog/guides.cpp:50 ../src/ui/dialog/object-properties.cpp:64 msgid "_Label:" msgstr "" @@ -16784,8 +15971,8 @@ msgstr "" #. Gradient #: ../src/ui/dialog/inkscape-preferences.cpp:478 -#: ../src/widgets/gradient-selector.cpp:151 -#: ../src/widgets/gradient-selector.cpp:303 +#: ../src/widgets/gradient-selector.cpp:152 +#: ../src/widgets/gradient-selector.cpp:320 msgid "Gradient" msgstr "" @@ -17393,8 +16580,8 @@ msgid "_Time of opacity change animation:" msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:703 -#: ../share/extensions/hpgl_output.inx.h:30 -#: ../share/extensions/plotter.inx.h:40 +#: ../share/extensions/hpgl_output.inx.h:34 +#: ../share/extensions/plotter.inx.h:50 msgid "Miscellaneous" msgstr "" @@ -18108,7 +17295,7 @@ msgstr "" #. Transforms options #: ../src/ui/dialog/inkscape-preferences.cpp:1169 -#: ../src/widgets/select-toolbar.cpp:577 +#: ../src/widgets/select-toolbar.cpp:578 msgid "Scale stroke width" msgstr "" @@ -18129,22 +17316,22 @@ msgid "Preserved" msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:1177 -#: ../src/widgets/select-toolbar.cpp:578 +#: ../src/widgets/select-toolbar.cpp:579 msgid "When scaling objects, scale the stroke width by the same proportion" msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:1179 -#: ../src/widgets/select-toolbar.cpp:589 +#: ../src/widgets/select-toolbar.cpp:590 msgid "When scaling rectangles, scale the radii of rounded corners" msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:1181 -#: ../src/widgets/select-toolbar.cpp:600 +#: ../src/widgets/select-toolbar.cpp:601 msgid "Move gradients (in fill or stroke) along with the objects" msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:1183 -#: ../src/widgets/select-toolbar.cpp:611 +#: ../src/widgets/select-toolbar.cpp:612 msgid "Move patterns (in fill or stroke) along with the objects" msgstr "" @@ -18547,7 +17734,7 @@ msgid "Number of _Threads:" msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:1362 -#: ../src/ui/dialog/inkscape-preferences.cpp:1880 +#: ../src/ui/dialog/inkscape-preferences.cpp:1889 msgid "(requires restart)" msgstr "" @@ -18638,119 +17825,112 @@ msgstr "" msgid "Rendering" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1423 -msgid "2x2" -msgstr "" - -#: ../src/ui/dialog/inkscape-preferences.cpp:1423 -msgid "4x4" +#. Note: /options/bitmapoversample removed with Cairo renderer +#: ../src/ui/dialog/inkscape-preferences.cpp:1423 ../src/verbs.cpp:156 +#: ../src/widgets/calligraphy-toolbar.cpp:643 +msgid "Edit" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1423 -msgid "8x8" +#: ../src/ui/dialog/inkscape-preferences.cpp:1424 +msgid "Automatically reload bitmaps" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1423 -msgid "16x16" +#: ../src/ui/dialog/inkscape-preferences.cpp:1426 +msgid "Automatically reload linked images when file is changed on disk" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1427 -msgid "Oversample bitmaps:" +#: ../src/ui/dialog/inkscape-preferences.cpp:1428 +msgid "_Bitmap editor:" msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:1430 -msgid "Automatically reload bitmaps" +#: ../share/extensions/guillotine.inx.h:5 +#: ../share/extensions/print_win32_vector.inx.h:2 +msgid "Export" msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:1432 -msgid "Automatically reload linked images when file is changed on disk" -msgstr "" - -#: ../src/ui/dialog/inkscape-preferences.cpp:1434 -msgid "_Bitmap editor:" -msgstr "" - -#: ../src/ui/dialog/inkscape-preferences.cpp:1436 msgid "Default export _resolution:" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1437 +#: ../src/ui/dialog/inkscape-preferences.cpp:1433 msgid "Default bitmap resolution (in dots per inch) in the Export dialog" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1439 -msgid "Resolution for Create Bitmap _Copy:" +#: ../src/ui/dialog/inkscape-preferences.cpp:1434 +#: ../src/ui/dialog/xml-tree.cpp:909 +msgid "Create" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1440 -msgid "Resolution used by the Create Bitmap Copy command" +#: ../src/ui/dialog/inkscape-preferences.cpp:1436 +msgid "Resolution for Create Bitmap _Copy:" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1442 -msgid "Always embed" +#: ../src/ui/dialog/inkscape-preferences.cpp:1437 +msgid "Resolution used by the Create Bitmap Copy command" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1442 -msgid "Always link" +#: ../src/ui/dialog/inkscape-preferences.cpp:1440 +msgid "Ask about linking and scaling when importing" msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:1442 -msgid "Ask" +msgid "Pop-up linking and scaling dialog when importing bitmap image." msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1445 -msgid "Bitmap import:" +#: ../src/ui/dialog/inkscape-preferences.cpp:1448 +msgid "Bitmap link:" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1448 -msgid "Bitmap import quality:" +#: ../src/ui/dialog/inkscape-preferences.cpp:1455 +msgid "Bitmap scale (image-rendering):" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1451 +#: ../src/ui/dialog/inkscape-preferences.cpp:1460 msgid "Default _import resolution:" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1452 +#: ../src/ui/dialog/inkscape-preferences.cpp:1461 msgid "Default bitmap resolution (in dots per inch) for bitmap import" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1453 +#: ../src/ui/dialog/inkscape-preferences.cpp:1462 msgid "Override file resolution" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1455 +#: ../src/ui/dialog/inkscape-preferences.cpp:1464 msgid "Use default bitmap resolution in favor of information from file" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1457 +#: ../src/ui/dialog/inkscape-preferences.cpp:1466 msgid "Bitmaps" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1469 +#: ../src/ui/dialog/inkscape-preferences.cpp:1478 msgid "" "Select a file of predefined shortcuts to use. Any customized shortcuts you " "create will be added seperately to " msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1472 +#: ../src/ui/dialog/inkscape-preferences.cpp:1481 msgid "Shortcut file:" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1475 -#: ../src/ui/dialog/template-load-tab.cpp:50 +#: ../src/ui/dialog/inkscape-preferences.cpp:1484 +#: ../src/ui/dialog/template-load-tab.cpp:49 msgid "Search:" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1487 +#: ../src/ui/dialog/inkscape-preferences.cpp:1496 msgid "Shortcut" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1488 +#: ../src/ui/dialog/inkscape-preferences.cpp:1497 #: ../src/ui/widget/page-sizer.cpp:260 msgid "Description" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1543 +#: ../src/ui/dialog/inkscape-preferences.cpp:1552 #: ../src/ui/dialog/pixelartdialog.cpp:268 #: ../src/ui/dialog/svg-fonts-dialog.cpp:698 #: ../src/ui/dialog/tracedialog.cpp:813 @@ -18758,178 +17938,178 @@ msgstr "" msgid "Reset" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1543 +#: ../src/ui/dialog/inkscape-preferences.cpp:1552 msgid "" "Remove all your customized keyboard shortcuts, and revert to the shortcuts " "in the shortcut file listed above" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1547 +#: ../src/ui/dialog/inkscape-preferences.cpp:1556 msgid "Import ..." msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1547 +#: ../src/ui/dialog/inkscape-preferences.cpp:1556 msgid "Import custom keyboard shortcuts from a file" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1550 +#: ../src/ui/dialog/inkscape-preferences.cpp:1559 msgid "Export ..." msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1550 +#: ../src/ui/dialog/inkscape-preferences.cpp:1559 msgid "Export custom keyboard shortcuts to a file" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1560 +#: ../src/ui/dialog/inkscape-preferences.cpp:1569 msgid "Keyboard Shortcuts" msgstr "" #. Find this group in the tree -#: ../src/ui/dialog/inkscape-preferences.cpp:1723 +#: ../src/ui/dialog/inkscape-preferences.cpp:1732 msgid "Misc" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1842 +#: ../src/ui/dialog/inkscape-preferences.cpp:1851 msgid "Set the main spell check language" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1845 +#: ../src/ui/dialog/inkscape-preferences.cpp:1854 msgid "Second language:" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1846 +#: ../src/ui/dialog/inkscape-preferences.cpp:1855 msgid "" "Set the second spell check language; checking will only stop on words " "unknown in ALL chosen languages" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1849 +#: ../src/ui/dialog/inkscape-preferences.cpp:1858 msgid "Third language:" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1850 +#: ../src/ui/dialog/inkscape-preferences.cpp:1859 msgid "" "Set the third spell check language; checking will only stop on words unknown " "in ALL chosen languages" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1852 +#: ../src/ui/dialog/inkscape-preferences.cpp:1861 msgid "Ignore words with digits" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1854 +#: ../src/ui/dialog/inkscape-preferences.cpp:1863 msgid "Ignore words containing digits, such as \"R2D2\"" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1856 +#: ../src/ui/dialog/inkscape-preferences.cpp:1865 msgid "Ignore words in ALL CAPITALS" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1858 +#: ../src/ui/dialog/inkscape-preferences.cpp:1867 msgid "Ignore words in all capitals, such as \"IUPAC\"" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1860 +#: ../src/ui/dialog/inkscape-preferences.cpp:1869 msgid "Spellcheck" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1880 +#: ../src/ui/dialog/inkscape-preferences.cpp:1889 msgid "Latency _skew:" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1881 +#: ../src/ui/dialog/inkscape-preferences.cpp:1890 msgid "" "Factor by which the event clock is skewed from the actual time (0.9766 on " "some systems)" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1883 +#: ../src/ui/dialog/inkscape-preferences.cpp:1892 msgid "Pre-render named icons" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1885 +#: ../src/ui/dialog/inkscape-preferences.cpp:1894 msgid "" "When on, named icons will be rendered before displaying the ui. This is for " "working around bugs in GTK+ named icon notification" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1893 +#: ../src/ui/dialog/inkscape-preferences.cpp:1902 msgid "System info" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1897 +#: ../src/ui/dialog/inkscape-preferences.cpp:1906 msgid "User config: " msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1897 +#: ../src/ui/dialog/inkscape-preferences.cpp:1906 msgid "Location of users configuration" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1901 +#: ../src/ui/dialog/inkscape-preferences.cpp:1910 msgid "User preferences: " msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1901 +#: ../src/ui/dialog/inkscape-preferences.cpp:1910 msgid "Location of the users preferences file" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1905 +#: ../src/ui/dialog/inkscape-preferences.cpp:1914 msgid "User extensions: " msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1905 +#: ../src/ui/dialog/inkscape-preferences.cpp:1914 msgid "Location of the users extensions" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1909 +#: ../src/ui/dialog/inkscape-preferences.cpp:1918 msgid "User cache: " msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1909 +#: ../src/ui/dialog/inkscape-preferences.cpp:1918 msgid "Location of users cache" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1917 +#: ../src/ui/dialog/inkscape-preferences.cpp:1926 msgid "Temporary files: " msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1917 +#: ../src/ui/dialog/inkscape-preferences.cpp:1926 msgid "Location of the temporary files used for autosave" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1921 +#: ../src/ui/dialog/inkscape-preferences.cpp:1930 msgid "Inkscape data: " msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1921 +#: ../src/ui/dialog/inkscape-preferences.cpp:1930 msgid "Location of Inkscape data" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1925 +#: ../src/ui/dialog/inkscape-preferences.cpp:1934 msgid "Inkscape extensions: " msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1925 +#: ../src/ui/dialog/inkscape-preferences.cpp:1934 msgid "Location of the Inkscape extensions" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1934 +#: ../src/ui/dialog/inkscape-preferences.cpp:1943 msgid "System data: " msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1934 +#: ../src/ui/dialog/inkscape-preferences.cpp:1943 msgid "Locations of system data" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1958 +#: ../src/ui/dialog/inkscape-preferences.cpp:1967 msgid "Icon theme: " msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1958 +#: ../src/ui/dialog/inkscape-preferences.cpp:1967 msgid "Locations of icon themes" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1960 +#: ../src/ui/dialog/inkscape-preferences.cpp:1969 msgid "System" msgstr "" @@ -18991,10 +18171,6 @@ msgstr "" msgid "_Use pressure-sensitive tablet (requires restart)" msgstr "" -#: ../src/ui/dialog/input.cpp:1082 ../src/verbs.cpp:2361 -msgid "_Save" -msgstr "" - #: ../src/ui/dialog/input.cpp:1086 msgid "Axes" msgstr "" @@ -19153,69 +18329,69 @@ msgstr "" msgid "Add path effect" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:113 +#: ../src/ui/dialog/livepatheffect-editor.cpp:119 msgid "Delete current path effect" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:117 +#: ../src/ui/dialog/livepatheffect-editor.cpp:129 msgid "Raise the current path effect" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:121 +#: ../src/ui/dialog/livepatheffect-editor.cpp:139 msgid "Lower the current path effect" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:289 +#: ../src/ui/dialog/livepatheffect-editor.cpp:313 msgid "Unknown effect is applied" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:292 +#: ../src/ui/dialog/livepatheffect-editor.cpp:316 msgid "Click button to add an effect" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:305 +#: ../src/ui/dialog/livepatheffect-editor.cpp:329 msgid "Click add button to convert clone" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:310 -#: ../src/ui/dialog/livepatheffect-editor.cpp:314 -#: ../src/ui/dialog/livepatheffect-editor.cpp:322 +#: ../src/ui/dialog/livepatheffect-editor.cpp:334 +#: ../src/ui/dialog/livepatheffect-editor.cpp:338 +#: ../src/ui/dialog/livepatheffect-editor.cpp:346 msgid "Select a path or shape" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:318 +#: ../src/ui/dialog/livepatheffect-editor.cpp:342 msgid "Only one item can be selected" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:350 +#: ../src/ui/dialog/livepatheffect-editor.cpp:374 msgid "Unknown effect" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:426 +#: ../src/ui/dialog/livepatheffect-editor.cpp:450 msgid "Create and apply path effect" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:461 +#: ../src/ui/dialog/livepatheffect-editor.cpp:485 msgid "Create and apply Clone original path effect" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:481 +#: ../src/ui/dialog/livepatheffect-editor.cpp:505 msgid "Remove path effect" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:498 +#: ../src/ui/dialog/livepatheffect-editor.cpp:522 msgid "Move path effect up" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:514 +#: ../src/ui/dialog/livepatheffect-editor.cpp:538 msgid "Move path effect down" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:553 +#: ../src/ui/dialog/livepatheffect-editor.cpp:577 msgid "Activate path effect" msgstr "" -#: ../src/ui/dialog/livepatheffect-editor.cpp:553 +#: ../src/ui/dialog/livepatheffect-editor.cpp:577 msgid "Deactivate path effect" msgstr "" @@ -19305,172 +18481,190 @@ msgid "URL:" msgstr "" #: ../src/ui/dialog/object-attributes.cpp:66 -#: ../src/ui/dialog/object-attributes.cpp:74 ../src/ui/dialog/tile.cpp:618 -#: ../src/widgets/desktop-widget.cpp:670 ../src/widgets/node-toolbar.cpp:593 +#: ../src/ui/dialog/object-attributes.cpp:75 ../src/ui/dialog/tile.cpp:618 +#: ../src/widgets/desktop-widget.cpp:670 ../src/widgets/node-toolbar.cpp:594 msgid "X:" msgstr "" #: ../src/ui/dialog/object-attributes.cpp:67 -#: ../src/ui/dialog/object-attributes.cpp:75 ../src/ui/dialog/tile.cpp:619 -#: ../src/widgets/desktop-widget.cpp:680 ../src/widgets/node-toolbar.cpp:611 +#: ../src/ui/dialog/object-attributes.cpp:76 ../src/ui/dialog/tile.cpp:619 +#: ../src/widgets/desktop-widget.cpp:680 ../src/widgets/node-toolbar.cpp:612 msgid "Y:" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:61 -#: ../src/ui/dialog/object-properties.cpp:362 -#: ../src/ui/dialog/object-properties.cpp:419 -#: ../src/ui/dialog/object-properties.cpp:426 -msgid "_ID:" +#: ../src/ui/dialog/object-attributes.cpp:70 +msgid "Image Rendering:" msgstr "" #: ../src/ui/dialog/object-properties.cpp:63 +#: ../src/ui/dialog/object-properties.cpp:398 +#: ../src/ui/dialog/object-properties.cpp:473 +#: ../src/ui/dialog/object-properties.cpp:480 +msgid "_ID:" +msgstr "" + +#: ../src/ui/dialog/object-properties.cpp:65 msgid "_Title:" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:64 +#: ../src/ui/dialog/object-properties.cpp:66 +msgid "_Image Rendering:" +msgstr "" + +#: ../src/ui/dialog/object-properties.cpp:67 msgid "_Description:" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:72 +#: ../src/ui/dialog/object-properties.cpp:75 msgid "_Hide" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:73 +#: ../src/ui/dialog/object-properties.cpp:76 msgid "L_ock" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:74 ../src/verbs.cpp:2636 +#: ../src/ui/dialog/object-properties.cpp:77 ../src/verbs.cpp:2636 #: ../src/verbs.cpp:2642 msgid "_Set" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:75 +#: ../src/ui/dialog/object-properties.cpp:78 msgid "_Interactivity" msgstr "" #. Create the entry box for the object id -#: ../src/ui/dialog/object-properties.cpp:153 +#: ../src/ui/dialog/object-properties.cpp:156 msgid "" "The id= attribute (only letters, digits, and the characters .-_: allowed)" msgstr "" #. Create the entry box for the object label -#: ../src/ui/dialog/object-properties.cpp:186 +#: ../src/ui/dialog/object-properties.cpp:189 msgid "A freeform label for the object" msgstr "" +#: ../src/ui/dialog/object-properties.cpp:272 +msgid "" +"The 'image-rendering' property can influence how a bitmap is up-scaled:\n" +"\t'auto' no preference;\n" +"\t'optimizeQuality' smooth;\n" +"\t'optimizeSpeed' blocky.\n" +"Note that this behaviour is not defined in the SVG 1.1 specification and not " +"all browsers follow this interpretation." +msgstr "" + #. Hide -#: ../src/ui/dialog/object-properties.cpp:257 +#: ../src/ui/dialog/object-properties.cpp:293 msgid "Check to make the object invisible" msgstr "" #. Lock #. TRANSLATORS: "Lock" is a verb here -#: ../src/ui/dialog/object-properties.cpp:273 +#: ../src/ui/dialog/object-properties.cpp:309 msgid "Check to make the object insensitive (not selectable by mouse)" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:349 -#: ../src/ui/dialog/object-properties.cpp:354 +#: ../src/ui/dialog/object-properties.cpp:385 +#: ../src/ui/dialog/object-properties.cpp:390 msgid "Ref" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:421 +#: ../src/ui/dialog/object-properties.cpp:475 msgid "Id invalid! " msgstr "" -#: ../src/ui/dialog/object-properties.cpp:423 +#: ../src/ui/dialog/object-properties.cpp:477 msgid "Id exists! " msgstr "" -#: ../src/ui/dialog/object-properties.cpp:429 +#: ../src/ui/dialog/object-properties.cpp:483 msgid "Set object ID" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:443 +#: ../src/ui/dialog/object-properties.cpp:497 msgid "Set object label" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:449 +#: ../src/ui/dialog/object-properties.cpp:503 msgid "Set object title" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:457 +#: ../src/ui/dialog/object-properties.cpp:511 msgid "Set object description" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:475 +#: ../src/ui/dialog/object-properties.cpp:555 msgid "Lock object" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:475 +#: ../src/ui/dialog/object-properties.cpp:555 msgid "Unlock object" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:492 +#: ../src/ui/dialog/object-properties.cpp:572 msgid "Hide object" msgstr "" -#: ../src/ui/dialog/object-properties.cpp:492 +#: ../src/ui/dialog/object-properties.cpp:572 msgid "Unhide object" msgstr "" -#: ../src/ui/dialog/ocaldialogs.cpp:713 +#: ../src/ui/dialog/ocaldialogs.cpp:715 msgid "Clipart found" msgstr "" -#: ../src/ui/dialog/ocaldialogs.cpp:762 +#: ../src/ui/dialog/ocaldialogs.cpp:764 msgid "Downloading image..." msgstr "" -#: ../src/ui/dialog/ocaldialogs.cpp:910 +#: ../src/ui/dialog/ocaldialogs.cpp:912 msgid "Could not download image" msgstr "" -#: ../src/ui/dialog/ocaldialogs.cpp:920 +#: ../src/ui/dialog/ocaldialogs.cpp:922 msgid "Clipart downloaded successfully" msgstr "" -#: ../src/ui/dialog/ocaldialogs.cpp:934 +#: ../src/ui/dialog/ocaldialogs.cpp:936 msgid "Could not download thumbnail file" msgstr "" -#: ../src/ui/dialog/ocaldialogs.cpp:1009 +#: ../src/ui/dialog/ocaldialogs.cpp:1011 msgid "No description" msgstr "" -#: ../src/ui/dialog/ocaldialogs.cpp:1077 +#: ../src/ui/dialog/ocaldialogs.cpp:1079 msgid "Searching clipart..." msgstr "" -#: ../src/ui/dialog/ocaldialogs.cpp:1097 ../src/ui/dialog/ocaldialogs.cpp:1118 +#: ../src/ui/dialog/ocaldialogs.cpp:1099 ../src/ui/dialog/ocaldialogs.cpp:1120 msgid "Could not connect to the Open Clip Art Library" msgstr "" -#: ../src/ui/dialog/ocaldialogs.cpp:1143 +#: ../src/ui/dialog/ocaldialogs.cpp:1145 msgid "Could not parse search results" msgstr "" -#: ../src/ui/dialog/ocaldialogs.cpp:1177 +#: ../src/ui/dialog/ocaldialogs.cpp:1179 msgid "No clipart named %1 was found." msgstr "" -#: ../src/ui/dialog/ocaldialogs.cpp:1179 +#: ../src/ui/dialog/ocaldialogs.cpp:1181 msgid "" "Please make sure all keywords are spelled correctly, or try again with " "different keywords." msgstr "" -#: ../src/ui/dialog/ocaldialogs.cpp:1231 +#: ../src/ui/dialog/ocaldialogs.cpp:1233 msgid "Search" msgstr "" -#: ../src/ui/dialog/ocaldialogs.cpp:1243 +#: ../src/ui/dialog/ocaldialogs.cpp:1245 msgid "Close" msgstr "" #: ../src/ui/dialog/pixelartdialog.cpp:162 -msgid "_Curves (multiplier)" +msgid "_Curves (multiplier):" msgstr "" #: ../src/ui/dialog/pixelartdialog.cpp:165 @@ -19478,7 +18672,7 @@ msgid "Favors connections that are part of a long curve" msgstr "" #: ../src/ui/dialog/pixelartdialog.cpp:176 -msgid "_Islands (weight)" +msgid "_Islands (weight):" msgstr "" #: ../src/ui/dialog/pixelartdialog.cpp:179 @@ -19490,7 +18684,7 @@ msgid "A constant vote value" msgstr "" #: ../src/ui/dialog/pixelartdialog.cpp:191 -msgid "Sparse pixels (window _radius)" +msgid "Sparse pixels (window _radius):" msgstr "" #: ../src/ui/dialog/pixelartdialog.cpp:200 @@ -19498,7 +18692,7 @@ msgid "The radius of the window analyzed" msgstr "" #: ../src/ui/dialog/pixelartdialog.cpp:201 -msgid "Sparse pixels (_multiplier)" +msgid "Sparse pixels (_multiplier):" msgstr "" #: ../src/ui/dialog/pixelartdialog.cpp:212 @@ -19562,8 +18756,8 @@ msgstr "" #: ../src/ui/dialog/pixelartdialog.cpp:376 msgid "" -"Image looks too big. Process may take a while and is wise to save your " -"document before continue.\n" +"Image looks too big. Process may take a while and it is wise to save your " +"document before continuing.\n" "\n" "Continue the procedure (without saving)?" msgstr "" @@ -19826,6 +19020,12 @@ msgstr "" msgid "Preview Text:" msgstr "" +#: ../src/ui/dialog/swatches.cpp:203 ../src/ui/tools/gradient-tool.cpp:369 +#: ../src/ui/tools/gradient-tool.cpp:467 +#: ../src/widgets/gradient-vector.cpp:814 +msgid "Add gradient stop" +msgstr "" + #. TRANSLATORS: An item in context menu on a colour in the swatches #: ../src/ui/dialog/swatches.cpp:258 msgid "Set fill" @@ -19956,6 +19156,11 @@ msgstr "" msgid "Text path offset" msgstr "" +#: ../src/ui/dialog/text-edit.cpp:588 ../src/ui/dialog/text-edit.cpp:662 +#: ../src/ui/tools/text-tool.cpp:1487 +msgid "Set text style" +msgstr "" + #: ../src/ui/dialog/tile.cpp:349 msgid "Arrange in a grid" msgstr "" @@ -20294,7 +19499,7 @@ msgid "A_ngle:" msgstr "" #: ../src/ui/dialog/transformation.cpp:84 -#: ../src/ui/dialog/transformation.cpp:1103 +#: ../src/ui/dialog/transformation.cpp:1104 msgid "Rotation angle (positive = counterclockwise)" msgstr "" @@ -20404,21 +19609,21 @@ msgstr "" msgid "Rotate in a clockwise direction" msgstr "" -#: ../src/ui/dialog/transformation.cpp:907 -#: ../src/ui/dialog/transformation.cpp:918 -#: ../src/ui/dialog/transformation.cpp:932 -#: ../src/ui/dialog/transformation.cpp:951 -#: ../src/ui/dialog/transformation.cpp:962 -#: ../src/ui/dialog/transformation.cpp:972 -#: ../src/ui/dialog/transformation.cpp:996 +#: ../src/ui/dialog/transformation.cpp:908 +#: ../src/ui/dialog/transformation.cpp:919 +#: ../src/ui/dialog/transformation.cpp:933 +#: ../src/ui/dialog/transformation.cpp:952 +#: ../src/ui/dialog/transformation.cpp:963 +#: ../src/ui/dialog/transformation.cpp:973 +#: ../src/ui/dialog/transformation.cpp:997 msgid "Transform matrix is singular, not used." msgstr "" -#: ../src/ui/dialog/transformation.cpp:1011 +#: ../src/ui/dialog/transformation.cpp:1012 msgid "Edit transformation matrix" msgstr "" -#: ../src/ui/dialog/transformation.cpp:1110 +#: ../src/ui/dialog/transformation.cpp:1111 msgid "Rotation angle (positive = clockwise)" msgstr "" @@ -20507,10 +19712,6 @@ msgstr "" msgid "Cancel" msgstr "" -#: ../src/ui/dialog/xml-tree.cpp:909 -msgid "Create" -msgstr "" - #: ../src/ui/dialog/xml-tree.cpp:940 msgid "Create new element node" msgstr "" @@ -20575,79 +19776,79 @@ msgstr "" msgid "Make segments curves" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:343 +#: ../src/ui/tool/multi-path-manipulator.cpp:344 msgid "Add nodes" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:348 +#: ../src/ui/tool/multi-path-manipulator.cpp:350 msgid "Add extremum nodes" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:354 +#: ../src/ui/tool/multi-path-manipulator.cpp:357 msgid "Duplicate nodes" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:416 -#: ../src/widgets/node-toolbar.cpp:420 +#: ../src/ui/tool/multi-path-manipulator.cpp:420 +#: ../src/widgets/node-toolbar.cpp:421 msgid "Join nodes" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:423 -#: ../src/widgets/node-toolbar.cpp:431 +#: ../src/ui/tool/multi-path-manipulator.cpp:427 +#: ../src/widgets/node-toolbar.cpp:432 msgid "Break nodes" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:430 +#: ../src/ui/tool/multi-path-manipulator.cpp:434 msgid "Delete nodes" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:760 +#: ../src/ui/tool/multi-path-manipulator.cpp:768 msgid "Move nodes" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:763 +#: ../src/ui/tool/multi-path-manipulator.cpp:771 msgid "Move nodes horizontally" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:767 +#: ../src/ui/tool/multi-path-manipulator.cpp:775 msgid "Move nodes vertically" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:771 -#: ../src/ui/tool/multi-path-manipulator.cpp:774 +#: ../src/ui/tool/multi-path-manipulator.cpp:779 +#: ../src/ui/tool/multi-path-manipulator.cpp:782 msgid "Rotate nodes" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:778 -#: ../src/ui/tool/multi-path-manipulator.cpp:784 +#: ../src/ui/tool/multi-path-manipulator.cpp:786 +#: ../src/ui/tool/multi-path-manipulator.cpp:792 msgid "Scale nodes uniformly" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:781 +#: ../src/ui/tool/multi-path-manipulator.cpp:789 msgid "Scale nodes" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:788 +#: ../src/ui/tool/multi-path-manipulator.cpp:796 msgid "Scale nodes horizontally" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:792 +#: ../src/ui/tool/multi-path-manipulator.cpp:800 msgid "Scale nodes vertically" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:796 +#: ../src/ui/tool/multi-path-manipulator.cpp:804 msgid "Skew nodes horizontally" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:800 +#: ../src/ui/tool/multi-path-manipulator.cpp:808 msgid "Skew nodes vertically" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:804 +#: ../src/ui/tool/multi-path-manipulator.cpp:812 msgid "Flip nodes horizontally" msgstr "" -#: ../src/ui/tool/multi-path-manipulator.cpp:807 +#: ../src/ui/tool/multi-path-manipulator.cpp:815 msgid "Flip nodes vertically" msgstr "" @@ -20800,57 +20001,6 @@ msgstr "" msgid "Auto-smooth node" msgstr "" -#: ../src/ui/tool/node-tool.cpp:553 -msgctxt "Node tool tip" -msgid "" -"Shift: drag to add nodes to the selection, click to toggle object " -"selection" -msgstr "" - -#: ../src/ui/tool/node-tool.cpp:557 -msgctxt "Node tool tip" -msgid "Shift: drag to add nodes to the selection" -msgstr "" - -#: ../src/ui/tool/node-tool.cpp:569 -#, c-format -msgid "%u of %u node selected." -msgid_plural "%u of %u nodes selected." -msgstr[0] "" -msgstr[1] "" - -#: ../src/ui/tool/node-tool.cpp:575 -#, c-format -msgctxt "Node tool tip" -msgid "%s Drag to select nodes, click to edit only this object (more: Shift)" -msgstr "" - -#: ../src/ui/tool/node-tool.cpp:581 -#, c-format -msgctxt "Node tool tip" -msgid "%s Drag to select nodes, click clear the selection" -msgstr "" - -#: ../src/ui/tool/node-tool.cpp:590 -msgctxt "Node tool tip" -msgid "Drag to select nodes, click to edit only this object" -msgstr "" - -#: ../src/ui/tool/node-tool.cpp:593 -msgctxt "Node tool tip" -msgid "Drag to select nodes, click to clear the selection" -msgstr "" - -#: ../src/ui/tool/node-tool.cpp:598 -msgctxt "Node tool tip" -msgid "Drag to select objects to edit, click to edit this object (more: Shift)" -msgstr "" - -#: ../src/ui/tool/node-tool.cpp:601 -msgctxt "Node tool tip" -msgid "Drag to select objects to edit" -msgstr "" - #: ../src/ui/tool/path-manipulator.cpp:821 msgid "Scale handle" msgstr "" @@ -20861,7 +20011,7 @@ msgstr "" #. We need to call MPM's method because it could have been our last node #: ../src/ui/tool/path-manipulator.cpp:1384 -#: ../src/widgets/node-toolbar.cpp:409 +#: ../src/widgets/node-toolbar.cpp:410 msgid "Delete node" msgstr "" @@ -20989,6 +20139,963 @@ msgctxt "Transform handle tip" msgid "Rotation center: drag to change the origin of transforms" msgstr "" +#: ../src/ui/tools/arc-tool.cpp:269 +msgid "" +"Ctrl: make circle or integer-ratio ellipse, snap arc/segment angle" +msgstr "" + +#: ../src/ui/tools/arc-tool.cpp:270 ../src/ui/tools/rect-tool.cpp:297 +msgid "Shift: draw around the starting point" +msgstr "" + +#: ../src/ui/tools/arc-tool.cpp:439 +#, c-format +msgid "" +"Ellipse: %s × %s (constrained to ratio %d:%d); with Shift " +"to draw around the starting point" +msgstr "" + +#: ../src/ui/tools/arc-tool.cpp:441 +#, c-format +msgid "" +"Ellipse: %s × %s; with Ctrl to make square or integer-" +"ratio ellipse; with Shift to draw around the starting point" +msgstr "" + +#: ../src/ui/tools/arc-tool.cpp:464 +msgid "Create ellipse" +msgstr "" + +#: ../src/ui/tools/box3d-tool.cpp:379 ../src/ui/tools/box3d-tool.cpp:386 +#: ../src/ui/tools/box3d-tool.cpp:393 ../src/ui/tools/box3d-tool.cpp:400 +#: ../src/ui/tools/box3d-tool.cpp:407 ../src/ui/tools/box3d-tool.cpp:414 +msgid "Change perspective (angle of PLs)" +msgstr "" + +#. status text +#: ../src/ui/tools/box3d-tool.cpp:592 +msgid "3D Box; with Shift to extrude along the Z axis" +msgstr "" + +#: ../src/ui/tools/box3d-tool.cpp:618 +msgid "Create 3D box" +msgstr "" + +#: ../src/ui/tools/calligraphic-tool.cpp:542 +msgid "" +"Guide path selected; start drawing along the guide with Ctrl" +msgstr "" + +#: ../src/ui/tools/calligraphic-tool.cpp:544 +msgid "Select a guide path to track with Ctrl" +msgstr "" + +#: ../src/ui/tools/calligraphic-tool.cpp:679 +msgid "Tracking: connection to guide path lost!" +msgstr "" + +#: ../src/ui/tools/calligraphic-tool.cpp:679 +msgid "Tracking a guide path" +msgstr "" + +#: ../src/ui/tools/calligraphic-tool.cpp:682 +msgid "Drawing a calligraphic stroke" +msgstr "" + +#: ../src/ui/tools/calligraphic-tool.cpp:983 +msgid "Draw calligraphic stroke" +msgstr "" + +#: ../src/ui/tools/connector-tool.cpp:547 +msgid "Creating new connector" +msgstr "" + +#: ../src/ui/tools/connector-tool.cpp:802 +msgid "Connector endpoint drag cancelled." +msgstr "" + +#: ../src/ui/tools/connector-tool.cpp:849 +msgid "Reroute connector" +msgstr "" + +#: ../src/ui/tools/connector-tool.cpp:1016 +msgid "Create connector" +msgstr "" + +#: ../src/ui/tools/connector-tool.cpp:1039 +msgid "Finishing connector" +msgstr "" + +#: ../src/ui/tools/connector-tool.cpp:1275 +msgid "Connector endpoint: drag to reroute or connect to new shapes" +msgstr "" + +#: ../src/ui/tools/connector-tool.cpp:1415 +msgid "Select at least one non-connector object." +msgstr "" + +#: ../src/ui/tools/connector-tool.cpp:1420 +#: ../src/widgets/connector-toolbar.cpp:326 +msgid "Make connectors avoid selected objects" +msgstr "" + +#: ../src/ui/tools/connector-tool.cpp:1421 +#: ../src/widgets/connector-toolbar.cpp:336 +msgid "Make connectors ignore selected objects" +msgstr "" + +#. alpha of color under cursor, to show in the statusbar +#. locale-sensitive printf is OK, since this goes to the UI, not into SVG +#: ../src/ui/tools/dropper-tool.cpp:283 +#, c-format +msgid " alpha %.3g" +msgstr "" + +#. where the color is picked, to show in the statusbar +#: ../src/ui/tools/dropper-tool.cpp:285 +#, c-format +msgid ", averaged with radius %d" +msgstr "" + +#: ../src/ui/tools/dropper-tool.cpp:285 +msgid " under cursor" +msgstr "" + +#. message, to show in the statusbar +#: ../src/ui/tools/dropper-tool.cpp:287 +msgid "Release mouse to set color." +msgstr "" + +#: ../src/ui/tools/dropper-tool.cpp:335 +msgid "Set picked color" +msgstr "" + +#: ../src/ui/tools/eraser-tool.cpp:437 +msgid "Drawing an eraser stroke" +msgstr "" + +#: ../src/ui/tools/eraser-tool.cpp:770 +msgid "Draw eraser stroke" +msgstr "" + +#: ../src/ui/tools/flood-tool.cpp:197 +msgid "Visible Colors" +msgstr "" + +#: ../src/ui/tools/flood-tool.cpp:215 +msgctxt "Flood autogap" +msgid "None" +msgstr "" + +#: ../src/ui/tools/flood-tool.cpp:216 +msgctxt "Flood autogap" +msgid "Small" +msgstr "" + +#: ../src/ui/tools/flood-tool.cpp:217 +msgctxt "Flood autogap" +msgid "Medium" +msgstr "" + +#: ../src/ui/tools/flood-tool.cpp:218 +msgctxt "Flood autogap" +msgid "Large" +msgstr "" + +#: ../src/ui/tools/flood-tool.cpp:440 +msgid "Too much inset, the result is empty." +msgstr "" + +#: ../src/ui/tools/flood-tool.cpp:481 +#, c-format +msgid "" +"Area filled, path with %d node created and unioned with selection." +msgid_plural "" +"Area filled, path with %d nodes created and unioned with selection." +msgstr[0] "" +msgstr[1] "" + +#: ../src/ui/tools/flood-tool.cpp:487 +#, c-format +msgid "Area filled, path with %d node created." +msgid_plural "Area filled, path with %d nodes created." +msgstr[0] "" +msgstr[1] "" + +#: ../src/ui/tools/flood-tool.cpp:755 ../src/ui/tools/flood-tool.cpp:1065 +msgid "Area is not bounded, cannot fill." +msgstr "" + +#: ../src/ui/tools/flood-tool.cpp:1070 +msgid "" +"Only the visible part of the bounded area was filled. If you want to " +"fill all of the area, undo, zoom out, and fill again." +msgstr "" + +#: ../src/ui/tools/flood-tool.cpp:1088 ../src/ui/tools/flood-tool.cpp:1239 +msgid "Fill bounded area" +msgstr "" + +#: ../src/ui/tools/flood-tool.cpp:1104 +msgid "Set style on object" +msgstr "" + +#: ../src/ui/tools/flood-tool.cpp:1164 +msgid "Draw over areas to add to fill, hold Alt for touch fill" +msgstr "" + +#. We hit green anchor, closing Green-Blue-Red +#: ../src/ui/tools/freehand-base.cpp:494 +msgid "Path is closed." +msgstr "" + +#. We hit bot start and end of single curve, closing paths +#: ../src/ui/tools/freehand-base.cpp:509 +msgid "Closing path." +msgstr "" + +#: ../src/ui/tools/freehand-base.cpp:611 +msgid "Draw path" +msgstr "" + +#: ../src/ui/tools/freehand-base.cpp:768 +msgid "Creating single dot" +msgstr "" + +#: ../src/ui/tools/freehand-base.cpp:769 +msgid "Create single dot" +msgstr "" + +#. TRANSLATORS: %s will be substituted with the point name (see previous messages); This is part of a compound message +#: ../src/ui/tools/gradient-tool.cpp:135 ../src/ui/tools/mesh-tool.cpp:132 +#, c-format +msgid "%s selected" +msgstr "" + +#. TRANSLATORS: Mind the space in front. This is part of a compound message +#: ../src/ui/tools/gradient-tool.cpp:137 ../src/ui/tools/gradient-tool.cpp:146 +#, c-format +msgid " out of %d gradient handle" +msgid_plural " out of %d gradient handles" +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATORS: Mind the space in front. (Refers to gradient handles selected). This is part of a compound message +#: ../src/ui/tools/gradient-tool.cpp:138 ../src/ui/tools/gradient-tool.cpp:147 +#: ../src/ui/tools/gradient-tool.cpp:154 ../src/ui/tools/mesh-tool.cpp:135 +#: ../src/ui/tools/mesh-tool.cpp:146 ../src/ui/tools/mesh-tool.cpp:154 +#, c-format +msgid " on %d selected object" +msgid_plural " on %d selected objects" +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATORS: This is a part of a compound message (out of two more indicating: grandint handle count & object count) +#: ../src/ui/tools/gradient-tool.cpp:144 ../src/ui/tools/mesh-tool.cpp:142 +#, c-format +msgid "" +"One handle merging %d stop (drag with Shift to separate) selected" +msgid_plural "" +"One handle merging %d stops (drag with Shift to separate) selected" +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATORS: The plural refers to number of selected gradient handles. This is part of a compound message (part two indicates selected object count) +#: ../src/ui/tools/gradient-tool.cpp:152 +#, c-format +msgid "%d gradient handle selected out of %d" +msgid_plural "%d gradient handles selected out of %d" +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATORS: The plural refers to number of selected objects +#: ../src/ui/tools/gradient-tool.cpp:159 +#, c-format +msgid "No gradient handles selected out of %d on %d selected object" +msgid_plural "" +"No gradient handles selected out of %d on %d selected objects" +msgstr[0] "" +msgstr[1] "" + +#: ../src/ui/tools/gradient-tool.cpp:442 +msgid "Simplify gradient" +msgstr "" + +#: ../src/ui/tools/gradient-tool.cpp:518 +msgid "Create default gradient" +msgstr "" + +#: ../src/ui/tools/gradient-tool.cpp:577 ../src/ui/tools/mesh-tool.cpp:572 +msgid "Draw around handles to select them" +msgstr "" + +#: ../src/ui/tools/gradient-tool.cpp:700 +msgid "Ctrl: snap gradient angle" +msgstr "" + +#: ../src/ui/tools/gradient-tool.cpp:701 +msgid "Shift: draw gradient around the starting point" +msgstr "" + +#: ../src/ui/tools/gradient-tool.cpp:955 ../src/ui/tools/mesh-tool.cpp:995 +#, c-format +msgid "Gradient for %d object; with Ctrl to snap angle" +msgid_plural "Gradient for %d objects; with Ctrl to snap angle" +msgstr[0] "" +msgstr[1] "" + +#: ../src/ui/tools/gradient-tool.cpp:959 ../src/ui/tools/mesh-tool.cpp:999 +msgid "Select objects on which to create gradient." +msgstr "" + +#: ../src/ui/tools/lpe-tool.cpp:209 +msgid "Choose a construction tool from the toolbar." +msgstr "" + +#. TRANSLATORS: Mind the space in front. This is part of a compound message +#: ../src/ui/tools/mesh-tool.cpp:134 ../src/ui/tools/mesh-tool.cpp:145 +#, c-format +msgid " out of %d mesh handle" +msgid_plural " out of %d mesh handles" +msgstr[0] "" +msgstr[1] "" + +#: ../src/ui/tools/mesh-tool.cpp:152 +#, c-format +msgid "%d mesh handle selected out of %d" +msgid_plural "%d mesh handles selected out of %d" +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATORS: The plural refers to number of selected objects +#: ../src/ui/tools/mesh-tool.cpp:159 +#, c-format +msgid "No mesh handles selected out of %d on %d selected object" +msgid_plural "No mesh handles selected out of %d on %d selected objects" +msgstr[0] "" +msgstr[1] "" + +#: ../src/ui/tools/mesh-tool.cpp:323 +msgid "Split mesh row/column" +msgstr "" + +#: ../src/ui/tools/mesh-tool.cpp:409 +msgid "Toggled mesh path type." +msgstr "" + +#: ../src/ui/tools/mesh-tool.cpp:413 +msgid "Approximated arc for mesh side." +msgstr "" + +#: ../src/ui/tools/mesh-tool.cpp:417 +msgid "Toggled mesh tensors." +msgstr "" + +#: ../src/ui/tools/mesh-tool.cpp:421 +msgid "Smoothed mesh corner color." +msgstr "" + +#: ../src/ui/tools/mesh-tool.cpp:425 +msgid "Picked mesh corner color." +msgstr "" + +#: ../src/ui/tools/mesh-tool.cpp:500 +msgid "Create default mesh" +msgstr "" + +#: ../src/ui/tools/mesh-tool.cpp:720 +msgid "FIXMECtrl: snap mesh angle" +msgstr "" + +#: ../src/ui/tools/mesh-tool.cpp:721 +msgid "FIXMEShift: draw mesh around the starting point" +msgstr "" + +#: ../src/ui/tools/node-tool.cpp:557 +msgctxt "Node tool tip" +msgid "" +"Shift: drag to add nodes to the selection, click to toggle object " +"selection" +msgstr "" + +#: ../src/ui/tools/node-tool.cpp:561 +msgctxt "Node tool tip" +msgid "Shift: drag to add nodes to the selection" +msgstr "" + +#: ../src/ui/tools/node-tool.cpp:573 +#, c-format +msgid "%u of %u node selected." +msgid_plural "%u of %u nodes selected." +msgstr[0] "" +msgstr[1] "" + +#: ../src/ui/tools/node-tool.cpp:579 +#, c-format +msgctxt "Node tool tip" +msgid "%s Drag to select nodes, click to edit only this object (more: Shift)" +msgstr "" + +#: ../src/ui/tools/node-tool.cpp:585 +#, c-format +msgctxt "Node tool tip" +msgid "%s Drag to select nodes, click clear the selection" +msgstr "" + +#: ../src/ui/tools/node-tool.cpp:594 +msgctxt "Node tool tip" +msgid "Drag to select nodes, click to edit only this object" +msgstr "" + +#: ../src/ui/tools/node-tool.cpp:597 +msgctxt "Node tool tip" +msgid "Drag to select nodes, click to clear the selection" +msgstr "" + +#: ../src/ui/tools/node-tool.cpp:602 +msgctxt "Node tool tip" +msgid "Drag to select objects to edit, click to edit this object (more: Shift)" +msgstr "" + +#: ../src/ui/tools/node-tool.cpp:605 +msgctxt "Node tool tip" +msgid "Drag to select objects to edit" +msgstr "" + +#: ../src/ui/tools/pen-tool.cpp:193 ../src/ui/tools/pencil-tool.cpp:504 +msgid "Drawing cancelled" +msgstr "" + +#: ../src/ui/tools/pen-tool.cpp:413 ../src/ui/tools/pencil-tool.cpp:229 +msgid "Continuing selected path" +msgstr "" + +#: ../src/ui/tools/pen-tool.cpp:423 ../src/ui/tools/pencil-tool.cpp:237 +msgid "Creating new path" +msgstr "" + +#: ../src/ui/tools/pen-tool.cpp:425 ../src/ui/tools/pencil-tool.cpp:240 +msgid "Appending to selected path" +msgstr "" + +#: ../src/ui/tools/pen-tool.cpp:585 +msgid "Click or click and drag to close and finish the path." +msgstr "" + +#: ../src/ui/tools/pen-tool.cpp:595 +msgid "" +"Click or click and drag to continue the path from this point." +msgstr "" + +#: ../src/ui/tools/pen-tool.cpp:1195 +#, c-format +msgid "" +"Curve segment: angle %3.2f°, distance %s; with Ctrl to " +"snap angle, Enter to finish the path" +msgstr "" + +#: ../src/ui/tools/pen-tool.cpp:1196 +#, c-format +msgid "" +"Line segment: angle %3.2f°, distance %s; with Ctrl to " +"snap angle, Enter to finish the path" +msgstr "" + +#: ../src/ui/tools/pen-tool.cpp:1213 +#, c-format +msgid "" +"Curve handle: angle %3.2f°, length %s; with Ctrl to snap " +"angle" +msgstr "" + +#: ../src/ui/tools/pen-tool.cpp:1235 +#, c-format +msgid "" +"Curve handle, symmetric: angle %3.2f°, length %s; with Ctrl to snap angle, with Shift to move this handle only" +msgstr "" + +#: ../src/ui/tools/pen-tool.cpp:1236 +#, c-format +msgid "" +"Curve handle: angle %3.2f°, length %s; with Ctrl to snap " +"angle, with Shift to move this handle only" +msgstr "" + +#: ../src/ui/tools/pen-tool.cpp:1282 +msgid "Drawing finished" +msgstr "" + +#: ../src/ui/tools/pencil-tool.cpp:345 +msgid "Release here to close and finish the path." +msgstr "" + +#: ../src/ui/tools/pencil-tool.cpp:351 +msgid "Drawing a freehand path" +msgstr "" + +#: ../src/ui/tools/pencil-tool.cpp:356 +msgid "Drag to continue the path from this point." +msgstr "" + +#. Write curves to object +#: ../src/ui/tools/pencil-tool.cpp:448 +msgid "Finishing freehand" +msgstr "" + +#: ../src/ui/tools/pencil-tool.cpp:554 +msgid "" +"Sketch mode: holding Alt interpolates between sketched paths. " +"Release Alt to finalize." +msgstr "" + +#: ../src/ui/tools/pencil-tool.cpp:582 +msgid "Finishing freehand sketch" +msgstr "" + +#: ../src/ui/tools/rect-tool.cpp:296 +msgid "" +"Ctrl: make square or integer-ratio rect, lock a rounded corner " +"circular" +msgstr "" + +#: ../src/ui/tools/rect-tool.cpp:457 +#, c-format +msgid "" +"Rectangle: %s × %s (constrained to ratio %d:%d); with Shift to draw around the starting point" +msgstr "" + +#: ../src/ui/tools/rect-tool.cpp:460 +#, c-format +msgid "" +"Rectangle: %s × %s (constrained to golden ratio 1.618 : 1); with " +"Shift to draw around the starting point" +msgstr "" + +#: ../src/ui/tools/rect-tool.cpp:462 +#, c-format +msgid "" +"Rectangle: %s × %s (constrained to golden ratio 1 : 1.618); with " +"Shift to draw around the starting point" +msgstr "" + +#: ../src/ui/tools/rect-tool.cpp:466 +#, c-format +msgid "" +"Rectangle: %s × %s; with Ctrl to make square or integer-" +"ratio rectangle; with Shift to draw around the starting point" +msgstr "" + +#: ../src/ui/tools/rect-tool.cpp:489 +msgid "Create rectangle" +msgstr "" + +#: ../src/ui/tools/select-tool.cpp:170 +msgid "Click selection to toggle scale/rotation handles" +msgstr "" + +#: ../src/ui/tools/select-tool.cpp:171 +msgid "" +"No objects selected. Click, Shift+click, Alt+scroll mouse on top of objects, " +"or drag around objects to select." +msgstr "" + +#: ../src/ui/tools/select-tool.cpp:224 +msgid "Move canceled." +msgstr "" + +#: ../src/ui/tools/select-tool.cpp:232 +msgid "Selection canceled." +msgstr "" + +#: ../src/ui/tools/select-tool.cpp:649 +msgid "" +"Draw over objects to select them; release Alt to switch to " +"rubberband selection" +msgstr "" + +#: ../src/ui/tools/select-tool.cpp:651 +msgid "" +"Drag around objects to select them; press Alt to switch to " +"touch selection" +msgstr "" + +#: ../src/ui/tools/select-tool.cpp:941 +msgid "Ctrl: click to select in groups; drag to move hor/vert" +msgstr "" + +#: ../src/ui/tools/select-tool.cpp:942 +msgid "Shift: click to toggle select; drag for rubberband selection" +msgstr "" + +#: ../src/ui/tools/select-tool.cpp:943 +msgid "" +"Alt: click to select under; scroll mouse-wheel to cycle-select; drag " +"to move selected or select by touch" +msgstr "" + +#: ../src/ui/tools/select-tool.cpp:1151 +msgid "Selected object is not a group. Cannot enter." +msgstr "" + +#: ../src/ui/tools/spiral-tool.cpp:267 +msgid "Ctrl: snap angle" +msgstr "" + +#: ../src/ui/tools/spiral-tool.cpp:269 +msgid "Alt: lock spiral radius" +msgstr "" + +#: ../src/ui/tools/spiral-tool.cpp:408 +#, c-format +msgid "" +"Spiral: radius %s, angle %5g°; with Ctrl to snap angle" +msgstr "" + +#: ../src/ui/tools/spiral-tool.cpp:429 +msgid "Create spiral" +msgstr "" + +#: ../src/ui/tools/spray-tool.cpp:192 ../src/ui/tools/tweak-tool.cpp:174 +#, c-format +msgid "%i object selected" +msgid_plural "%i objects selected" +msgstr[0] "" +msgstr[1] "" + +#: ../src/ui/tools/spray-tool.cpp:194 ../src/ui/tools/tweak-tool.cpp:176 +msgid "Nothing selected" +msgstr "" + +#: ../src/ui/tools/spray-tool.cpp:199 +#, c-format +msgid "" +"%s. Drag, click or click and scroll to spray copies of the initial " +"selection." +msgstr "" + +#: ../src/ui/tools/spray-tool.cpp:202 +#, c-format +msgid "" +"%s. Drag, click or click and scroll to spray clones of the initial " +"selection." +msgstr "" + +#: ../src/ui/tools/spray-tool.cpp:205 +#, c-format +msgid "" +"%s. Drag, click or click and scroll to spray in a single path of the " +"initial selection." +msgstr "" + +#: ../src/ui/tools/spray-tool.cpp:645 +msgid "Nothing selected! Select objects to spray." +msgstr "" + +#: ../src/ui/tools/spray-tool.cpp:720 ../src/widgets/spray-toolbar.cpp:178 +msgid "Spray with copies" +msgstr "" + +#: ../src/ui/tools/spray-tool.cpp:724 ../src/widgets/spray-toolbar.cpp:185 +msgid "Spray with clones" +msgstr "" + +#: ../src/ui/tools/spray-tool.cpp:728 +msgid "Spray in single path" +msgstr "" + +#: ../src/ui/tools/star-tool.cpp:281 +msgid "Ctrl: snap angle; keep rays radial" +msgstr "" + +#: ../src/ui/tools/star-tool.cpp:427 +#, c-format +msgid "" +"Polygon: radius %s, angle %5g°; with Ctrl to snap angle" +msgstr "" + +#: ../src/ui/tools/star-tool.cpp:428 +#, c-format +msgid "Star: radius %s, angle %5g°; with Ctrl to snap angle" +msgstr "" + +#: ../src/ui/tools/star-tool.cpp:456 +msgid "Create star" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:392 +msgid "Click to edit the text, drag to select part of the text." +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:394 +msgid "" +"Click to edit the flowed text, drag to select part of the text." +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:448 +msgid "Create text" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:473 +msgid "Non-printable character" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:488 +msgid "Insert Unicode character" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:523 +#, c-format +msgid "Unicode (Enter to finish): %s: %s" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:525 ../src/ui/tools/text-tool.cpp:832 +msgid "Unicode (Enter to finish): " +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:608 +#, c-format +msgid "Flowed text frame: %s × %s" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:666 +msgid "Type text; Enter to start new line." +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:677 +msgid "Flowed text is created." +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:679 +msgid "Create flowed text" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:681 +msgid "" +"The frame is too small for the current font size. Flowed text not " +"created." +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:817 +msgid "No-break space" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:819 +msgid "Insert no-break space" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:856 +msgid "Make bold" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:874 +msgid "Make italic" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:913 +msgid "New line" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:955 +msgid "Backspace" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:1011 +msgid "Kern to the left" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:1036 +msgid "Kern to the right" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:1061 +msgid "Kern up" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:1086 +msgid "Kern down" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:1162 +msgid "Rotate counterclockwise" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:1183 +msgid "Rotate clockwise" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:1200 +msgid "Contract line spacing" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:1207 +msgid "Contract letter spacing" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:1225 +msgid "Expand line spacing" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:1232 +msgid "Expand letter spacing" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:1362 +msgid "Paste text" +msgstr "" + +#: ../src/ui/tools/text-tool.cpp:1616 +#, c-format +msgid "" +"Type or edit flowed text (%d character%s); Enter to start new " +"paragraph." +msgid_plural "" +"Type or edit flowed text (%d characters%s); Enter to start new " +"paragraph." +msgstr[0] "" +msgstr[1] "" + +#: ../src/ui/tools/text-tool.cpp:1618 +#, c-format +msgid "Type or edit text (%d character%s); Enter to start new line." +msgid_plural "" +"Type or edit text (%d characters%s); Enter to start new line." +msgstr[0] "" +msgstr[1] "" + +#: ../src/ui/tools/text-tool.cpp:1728 +msgid "Type text" +msgstr "" + +#: ../src/ui/tools/tool-base.cpp:697 +msgid "Space+mouse move to pan canvas" +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:181 +#, c-format +msgid "%s. Drag to move." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:185 +#, c-format +msgid "%s. Drag or click to move in; with Shift to move out." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:193 +#, c-format +msgid "%s. Drag or click to move randomly." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:197 +#, c-format +msgid "%s. Drag or click to scale down; with Shift to scale up." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:205 +#, c-format +msgid "" +"%s. Drag or click to rotate clockwise; with Shift, " +"counterclockwise." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:213 +#, c-format +msgid "%s. Drag or click to duplicate; with Shift, delete." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:221 +#, c-format +msgid "%s. Drag to push paths." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:225 +#, c-format +msgid "%s. Drag or click to inset paths; with Shift to outset." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:233 +#, c-format +msgid "%s. Drag or click to attract paths; with Shift to repel." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:241 +#, c-format +msgid "%s. Drag or click to roughen paths." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:245 +#, c-format +msgid "%s. Drag or click to paint objects with color." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:249 +#, c-format +msgid "%s. Drag or click to randomize colors." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:253 +#, c-format +msgid "" +"%s. Drag or click to increase blur; with Shift to decrease." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1200 +msgid "Nothing selected! Select objects to tweak." +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1234 +msgid "Move tweak" +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1238 +msgid "Move in/out tweak" +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1242 +msgid "Move jitter tweak" +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1246 +msgid "Scale tweak" +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1250 +msgid "Rotate tweak" +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1254 +msgid "Duplicate/delete tweak" +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1258 +msgid "Push path tweak" +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1262 +msgid "Shrink/grow path tweak" +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1266 +msgid "Attract/repel path tweak" +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1270 +msgid "Roughen path tweak" +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1274 +msgid "Color paint tweak" +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1278 +msgid "Color jitter tweak" +msgstr "" + +#: ../src/ui/tools/tweak-tool.cpp:1282 +msgid "Blur tweak" +msgstr "" + #: ../src/ui/widget/filter-effect-chooser.cpp:27 msgid "Blur (%)" msgstr "" @@ -21268,7 +21375,7 @@ msgstr "" #: ../src/ui/widget/selected-style.cpp:180 #: ../src/ui/widget/selected-style.cpp:1088 #: ../src/ui/widget/selected-style.cpp:1089 -#: ../src/widgets/gradient-toolbar.cpp:177 +#: ../src/widgets/gradient-toolbar.cpp:178 msgid "Nothing selected" msgstr "" @@ -21664,10 +21771,6 @@ msgstr[1] "" msgid "File" msgstr "" -#: ../src/verbs.cpp:156 ../src/widgets/calligraphy-toolbar.cpp:643 -msgid "Edit" -msgstr "" - #: ../src/verbs.cpp:232 msgid "Context" msgstr "" @@ -21834,19 +21937,19 @@ msgstr "" msgid "tutorial-tips.svg" msgstr "" -#: ../src/verbs.cpp:2325 ../src/verbs.cpp:2915 +#: ../src/verbs.cpp:2325 ../src/verbs.cpp:2917 msgid "Unlock all objects in the current layer" msgstr "" -#: ../src/verbs.cpp:2329 ../src/verbs.cpp:2917 +#: ../src/verbs.cpp:2329 ../src/verbs.cpp:2919 msgid "Unlock all objects in all layers" msgstr "" -#: ../src/verbs.cpp:2333 ../src/verbs.cpp:2919 +#: ../src/verbs.cpp:2333 ../src/verbs.cpp:2921 msgid "Unhide all objects in the current layer" msgstr "" -#: ../src/verbs.cpp:2337 ../src/verbs.cpp:2921 +#: ../src/verbs.cpp:2337 ../src/verbs.cpp:2923 msgid "Unhide all objects in all layers" msgstr "" @@ -23527,405 +23630,407 @@ msgid "" "properties..." msgstr "" -#: ../src/verbs.cpp:2818 +#. FIXME: Probably better to either use something from the icon naming spec or ship our own "select-font" icon +#: ../src/verbs.cpp:2819 msgid "Gl_yphs..." msgstr "" -#: ../src/verbs.cpp:2819 +#: ../src/verbs.cpp:2820 msgid "Select characters from a glyphs palette" msgstr "" +#. FIXME: Probably better to either use something from the icon naming spec or ship our own "select-color" icon #. TRANSLATORS: "Swatches" means: color samples -#: ../src/verbs.cpp:2821 +#: ../src/verbs.cpp:2823 msgid "S_watches..." msgstr "" -#: ../src/verbs.cpp:2822 +#: ../src/verbs.cpp:2824 msgid "Select colors from a swatches palette" msgstr "" -#: ../src/verbs.cpp:2823 +#: ../src/verbs.cpp:2825 msgid "S_ymbols..." msgstr "" -#: ../src/verbs.cpp:2824 +#: ../src/verbs.cpp:2826 msgid "Select symbol from a symbols palette" msgstr "" -#: ../src/verbs.cpp:2825 +#: ../src/verbs.cpp:2827 msgid "Transfor_m..." msgstr "" -#: ../src/verbs.cpp:2826 +#: ../src/verbs.cpp:2828 msgid "Precisely control objects' transformations" msgstr "" -#: ../src/verbs.cpp:2827 +#: ../src/verbs.cpp:2829 msgid "_Align and Distribute..." msgstr "" -#: ../src/verbs.cpp:2828 +#: ../src/verbs.cpp:2830 msgid "Align and distribute objects" msgstr "" -#: ../src/verbs.cpp:2829 +#: ../src/verbs.cpp:2831 msgid "_Spray options..." msgstr "" -#: ../src/verbs.cpp:2830 +#: ../src/verbs.cpp:2832 msgid "Some options for the spray" msgstr "" -#: ../src/verbs.cpp:2831 +#: ../src/verbs.cpp:2833 msgid "Undo _History..." msgstr "" -#: ../src/verbs.cpp:2832 +#: ../src/verbs.cpp:2834 msgid "Undo History" msgstr "" -#: ../src/verbs.cpp:2834 +#: ../src/verbs.cpp:2836 msgid "View and select font family, font size and other text properties" msgstr "" -#: ../src/verbs.cpp:2835 +#: ../src/verbs.cpp:2837 msgid "_XML Editor..." msgstr "" -#: ../src/verbs.cpp:2836 +#: ../src/verbs.cpp:2838 msgid "View and edit the XML tree of the document" msgstr "" -#: ../src/verbs.cpp:2837 +#: ../src/verbs.cpp:2839 msgid "_Find/Replace..." msgstr "" -#: ../src/verbs.cpp:2838 +#: ../src/verbs.cpp:2840 msgid "Find objects in document" msgstr "" -#: ../src/verbs.cpp:2839 +#: ../src/verbs.cpp:2841 msgid "Find and _Replace Text..." msgstr "" -#: ../src/verbs.cpp:2840 +#: ../src/verbs.cpp:2842 msgid "Find and replace text in document" msgstr "" -#: ../src/verbs.cpp:2842 +#: ../src/verbs.cpp:2844 msgid "Check spelling of text in document" msgstr "" -#: ../src/verbs.cpp:2843 +#: ../src/verbs.cpp:2845 msgid "_Messages..." msgstr "" -#: ../src/verbs.cpp:2844 +#: ../src/verbs.cpp:2846 msgid "View debug messages" msgstr "" -#: ../src/verbs.cpp:2845 +#: ../src/verbs.cpp:2847 msgid "Show/Hide D_ialogs" msgstr "" -#: ../src/verbs.cpp:2846 +#: ../src/verbs.cpp:2848 msgid "Show or hide all open dialogs" msgstr "" -#: ../src/verbs.cpp:2847 +#: ../src/verbs.cpp:2849 msgid "Create Tiled Clones..." msgstr "" -#: ../src/verbs.cpp:2848 +#: ../src/verbs.cpp:2850 msgid "" "Create multiple clones of selected object, arranging them into a pattern or " "scattering" msgstr "" -#: ../src/verbs.cpp:2849 +#: ../src/verbs.cpp:2851 msgid "_Object attributes..." msgstr "" -#: ../src/verbs.cpp:2850 +#: ../src/verbs.cpp:2852 msgid "Edit the object attributes..." msgstr "" -#: ../src/verbs.cpp:2852 +#: ../src/verbs.cpp:2854 msgid "Edit the ID, locked and visible status, and other object properties" msgstr "" -#: ../src/verbs.cpp:2853 +#: ../src/verbs.cpp:2855 msgid "_Input Devices..." msgstr "" -#: ../src/verbs.cpp:2854 +#: ../src/verbs.cpp:2856 msgid "Configure extended input devices, such as a graphics tablet" msgstr "" -#: ../src/verbs.cpp:2855 +#: ../src/verbs.cpp:2857 msgid "_Extensions..." msgstr "" -#: ../src/verbs.cpp:2856 +#: ../src/verbs.cpp:2858 msgid "Query information about extensions" msgstr "" -#: ../src/verbs.cpp:2857 +#: ../src/verbs.cpp:2859 msgid "Layer_s..." msgstr "" -#: ../src/verbs.cpp:2858 +#: ../src/verbs.cpp:2860 msgid "View Layers" msgstr "" -#: ../src/verbs.cpp:2859 +#: ../src/verbs.cpp:2861 msgid "Path E_ffects ..." msgstr "" -#: ../src/verbs.cpp:2860 +#: ../src/verbs.cpp:2862 msgid "Manage, edit, and apply path effects" msgstr "" -#: ../src/verbs.cpp:2861 +#: ../src/verbs.cpp:2863 msgid "Filter _Editor..." msgstr "" -#: ../src/verbs.cpp:2862 +#: ../src/verbs.cpp:2864 msgid "Manage, edit, and apply SVG filters" msgstr "" -#: ../src/verbs.cpp:2863 +#: ../src/verbs.cpp:2865 msgid "SVG Font Editor..." msgstr "" -#: ../src/verbs.cpp:2864 +#: ../src/verbs.cpp:2866 msgid "Edit SVG fonts" msgstr "" -#: ../src/verbs.cpp:2865 +#: ../src/verbs.cpp:2867 msgid "Print Colors..." msgstr "" -#: ../src/verbs.cpp:2866 +#: ../src/verbs.cpp:2868 msgid "" "Select which color separations to render in Print Colors Preview rendermode" msgstr "" -#: ../src/verbs.cpp:2867 +#: ../src/verbs.cpp:2869 msgid "_Export PNG Image..." msgstr "" -#: ../src/verbs.cpp:2868 +#: ../src/verbs.cpp:2870 msgid "Export this document or a selection as a PNG image" msgstr "" #. Help -#: ../src/verbs.cpp:2870 +#: ../src/verbs.cpp:2872 msgid "About E_xtensions" msgstr "" -#: ../src/verbs.cpp:2871 +#: ../src/verbs.cpp:2873 msgid "Information on Inkscape extensions" msgstr "" -#: ../src/verbs.cpp:2872 +#: ../src/verbs.cpp:2874 msgid "About _Memory" msgstr "" -#: ../src/verbs.cpp:2873 +#: ../src/verbs.cpp:2875 msgid "Memory usage information" msgstr "" -#: ../src/verbs.cpp:2874 +#: ../src/verbs.cpp:2876 msgid "_About Inkscape" msgstr "" -#: ../src/verbs.cpp:2875 +#: ../src/verbs.cpp:2877 msgid "Inkscape version, authors, license" msgstr "" #. new HelpVerb(SP_VERB_SHOW_LICENSE, "ShowLicense", N_("_License"), #. N_("Distribution terms"), /*"show_license"*/"inkscape_options"), #. Tutorials -#: ../src/verbs.cpp:2880 +#: ../src/verbs.cpp:2882 msgid "Inkscape: _Basic" msgstr "" -#: ../src/verbs.cpp:2881 +#: ../src/verbs.cpp:2883 msgid "Getting started with Inkscape" msgstr "" #. "tutorial_basic" -#: ../src/verbs.cpp:2882 +#: ../src/verbs.cpp:2884 msgid "Inkscape: _Shapes" msgstr "" -#: ../src/verbs.cpp:2883 +#: ../src/verbs.cpp:2885 msgid "Using shape tools to create and edit shapes" msgstr "" -#: ../src/verbs.cpp:2884 +#: ../src/verbs.cpp:2886 msgid "Inkscape: _Advanced" msgstr "" -#: ../src/verbs.cpp:2885 +#: ../src/verbs.cpp:2887 msgid "Advanced Inkscape topics" msgstr "" #. "tutorial_advanced" #. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize) -#: ../src/verbs.cpp:2887 +#: ../src/verbs.cpp:2889 msgid "Inkscape: T_racing" msgstr "" -#: ../src/verbs.cpp:2888 +#: ../src/verbs.cpp:2890 msgid "Using bitmap tracing" msgstr "" #. "tutorial_tracing" -#: ../src/verbs.cpp:2889 +#: ../src/verbs.cpp:2891 msgid "Inkscape: Tracing Pixel Art" msgstr "" -#: ../src/verbs.cpp:2890 +#: ../src/verbs.cpp:2892 msgid "Using Trace Pixel Art dialog" msgstr "" -#: ../src/verbs.cpp:2891 +#: ../src/verbs.cpp:2893 msgid "Inkscape: _Calligraphy" msgstr "" -#: ../src/verbs.cpp:2892 +#: ../src/verbs.cpp:2894 msgid "Using the Calligraphy pen tool" msgstr "" -#: ../src/verbs.cpp:2893 +#: ../src/verbs.cpp:2895 msgid "Inkscape: _Interpolate" msgstr "" -#: ../src/verbs.cpp:2894 +#: ../src/verbs.cpp:2896 msgid "Using the interpolate extension" msgstr "" #. "tutorial_interpolate" -#: ../src/verbs.cpp:2895 +#: ../src/verbs.cpp:2897 msgid "_Elements of Design" msgstr "" -#: ../src/verbs.cpp:2896 +#: ../src/verbs.cpp:2898 msgid "Principles of design in the tutorial form" msgstr "" #. "tutorial_design" -#: ../src/verbs.cpp:2897 +#: ../src/verbs.cpp:2899 msgid "_Tips and Tricks" msgstr "" -#: ../src/verbs.cpp:2898 +#: ../src/verbs.cpp:2900 msgid "Miscellaneous tips and tricks" msgstr "" #. "tutorial_tips" #. Effect -- renamed Extension -#: ../src/verbs.cpp:2901 +#: ../src/verbs.cpp:2903 msgid "Previous Exte_nsion" msgstr "" -#: ../src/verbs.cpp:2902 +#: ../src/verbs.cpp:2904 msgid "Repeat the last extension with the same settings" msgstr "" -#: ../src/verbs.cpp:2903 +#: ../src/verbs.cpp:2905 msgid "_Previous Extension Settings..." msgstr "" -#: ../src/verbs.cpp:2904 +#: ../src/verbs.cpp:2906 msgid "Repeat the last extension with new settings" msgstr "" -#: ../src/verbs.cpp:2908 +#: ../src/verbs.cpp:2910 msgid "Fit the page to the current selection" msgstr "" -#: ../src/verbs.cpp:2910 +#: ../src/verbs.cpp:2912 msgid "Fit the page to the drawing" msgstr "" -#: ../src/verbs.cpp:2912 +#: ../src/verbs.cpp:2914 msgid "" "Fit the page to the current selection or the drawing if there is no selection" msgstr "" #. LockAndHide -#: ../src/verbs.cpp:2914 +#: ../src/verbs.cpp:2916 msgid "Unlock All" msgstr "" -#: ../src/verbs.cpp:2916 +#: ../src/verbs.cpp:2918 msgid "Unlock All in All Layers" msgstr "" -#: ../src/verbs.cpp:2918 +#: ../src/verbs.cpp:2920 msgid "Unhide All" msgstr "" -#: ../src/verbs.cpp:2920 +#: ../src/verbs.cpp:2922 msgid "Unhide All in All Layers" msgstr "" -#: ../src/verbs.cpp:2924 +#: ../src/verbs.cpp:2926 msgid "Link an ICC color profile" msgstr "" -#: ../src/verbs.cpp:2925 +#: ../src/verbs.cpp:2927 msgid "Remove Color Profile" msgstr "" -#: ../src/verbs.cpp:2926 +#: ../src/verbs.cpp:2928 msgid "Remove a linked ICC color profile" msgstr "" -#: ../src/verbs.cpp:2929 +#: ../src/verbs.cpp:2931 msgid "Add External Script" msgstr "" -#: ../src/verbs.cpp:2929 +#: ../src/verbs.cpp:2931 msgid "Add an external script" msgstr "" -#: ../src/verbs.cpp:2931 +#: ../src/verbs.cpp:2933 msgid "Add Embedded Script" msgstr "" -#: ../src/verbs.cpp:2931 +#: ../src/verbs.cpp:2933 msgid "Add an embedded script" msgstr "" -#: ../src/verbs.cpp:2933 +#: ../src/verbs.cpp:2935 msgid "Edit Embedded Script" msgstr "" -#: ../src/verbs.cpp:2933 +#: ../src/verbs.cpp:2935 msgid "Edit an embedded script" msgstr "" -#: ../src/verbs.cpp:2935 +#: ../src/verbs.cpp:2937 msgid "Remove External Script" msgstr "" -#: ../src/verbs.cpp:2935 +#: ../src/verbs.cpp:2937 msgid "Remove an external script" msgstr "" -#: ../src/verbs.cpp:2937 +#: ../src/verbs.cpp:2939 msgid "Remove Embedded Script" msgstr "" -#: ../src/verbs.cpp:2937 +#: ../src/verbs.cpp:2939 msgid "Remove an embedded script" msgstr "" -#: ../src/verbs.cpp:2959 ../src/verbs.cpp:2960 +#: ../src/verbs.cpp:2961 ../src/verbs.cpp:2962 msgid "Center on horizontal and vertical axis" msgstr "" @@ -24621,129 +24726,128 @@ msgstr "" msgid "Font size:" msgstr "" -#: ../src/widgets/gradient-selector.cpp:208 +#: ../src/widgets/gradient-selector.cpp:214 msgid "Create a duplicate gradient" msgstr "" -#: ../src/widgets/gradient-selector.cpp:218 +#: ../src/widgets/gradient-selector.cpp:230 msgid "Edit gradient" msgstr "" -#: ../src/widgets/gradient-selector.cpp:289 +#: ../src/widgets/gradient-selector.cpp:306 #: ../src/widgets/paint-selector.cpp:244 msgid "Swatch" msgstr "" -#: ../src/widgets/gradient-selector.cpp:339 +#: ../src/widgets/gradient-selector.cpp:356 msgid "Rename gradient" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:171 -#: ../src/widgets/gradient-toolbar.cpp:184 -#: ../src/widgets/gradient-toolbar.cpp:776 -#: ../src/widgets/gradient-toolbar.cpp:1111 -#: ../src/widgets/gradient-toolbar.cpp:1158 +#: ../src/widgets/gradient-toolbar.cpp:172 +#: ../src/widgets/gradient-toolbar.cpp:185 +#: ../src/widgets/gradient-toolbar.cpp:777 +#: ../src/widgets/gradient-toolbar.cpp:1112 msgid "No gradient" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:190 +#: ../src/widgets/gradient-toolbar.cpp:191 msgid "Multiple gradients" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:696 +#: ../src/widgets/gradient-toolbar.cpp:697 msgid "Multiple stops" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:794 +#: ../src/widgets/gradient-toolbar.cpp:795 #: ../src/widgets/gradient-vector.cpp:629 msgid "No stops in gradient" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:947 +#: ../src/widgets/gradient-toolbar.cpp:948 msgid "Assign gradient to object" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:969 +#: ../src/widgets/gradient-toolbar.cpp:970 msgid "Set gradient repeat" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1007 +#: ../src/widgets/gradient-toolbar.cpp:1008 #: ../src/widgets/gradient-vector.cpp:740 msgid "Change gradient stop offset" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1051 +#: ../src/widgets/gradient-toolbar.cpp:1052 msgid "linear" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1051 +#: ../src/widgets/gradient-toolbar.cpp:1052 msgid "Create linear gradient" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1055 +#: ../src/widgets/gradient-toolbar.cpp:1056 msgid "radial" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1055 +#: ../src/widgets/gradient-toolbar.cpp:1056 msgid "Create radial (elliptic or circular) gradient" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1058 +#: ../src/widgets/gradient-toolbar.cpp:1059 #: ../src/widgets/mesh-toolbar.cpp:211 msgid "New:" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1081 +#: ../src/widgets/gradient-toolbar.cpp:1082 #: ../src/widgets/mesh-toolbar.cpp:234 msgid "fill" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1081 +#: ../src/widgets/gradient-toolbar.cpp:1082 #: ../src/widgets/mesh-toolbar.cpp:234 msgid "Create gradient in the fill" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1085 +#: ../src/widgets/gradient-toolbar.cpp:1086 #: ../src/widgets/mesh-toolbar.cpp:238 msgid "stroke" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1085 +#: ../src/widgets/gradient-toolbar.cpp:1086 #: ../src/widgets/mesh-toolbar.cpp:238 msgid "Create gradient in the stroke" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1088 +#: ../src/widgets/gradient-toolbar.cpp:1089 #: ../src/widgets/mesh-toolbar.cpp:241 msgid "on:" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1113 +#: ../src/widgets/gradient-toolbar.cpp:1114 msgid "Select" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1113 +#: ../src/widgets/gradient-toolbar.cpp:1114 msgid "Choose a gradient" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1114 +#: ../src/widgets/gradient-toolbar.cpp:1115 msgid "Select:" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1132 +#: ../src/widgets/gradient-toolbar.cpp:1133 msgid "Reflected" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1135 +#: ../src/widgets/gradient-toolbar.cpp:1136 msgid "Direct" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1137 +#: ../src/widgets/gradient-toolbar.cpp:1138 msgid "Repeat" msgstr "" #. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/pservers.html#LinearGradientSpreadMethodAttribute -#: ../src/widgets/gradient-toolbar.cpp:1139 +#: ../src/widgets/gradient-toolbar.cpp:1140 msgid "" "Whether to fill with flat color beyond the ends of the gradient vector " "(spreadMethod=\"pad\"), or repeat the gradient in the same direction " @@ -24751,50 +24855,54 @@ msgid "" "directions (spreadMethod=\"reflect\")" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1144 +#: ../src/widgets/gradient-toolbar.cpp:1145 msgid "Repeat:" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1160 +#: ../src/widgets/gradient-toolbar.cpp:1159 +msgid "No stops" +msgstr "" + +#: ../src/widgets/gradient-toolbar.cpp:1161 msgid "Stops" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1160 +#: ../src/widgets/gradient-toolbar.cpp:1161 msgid "Select a stop for the current gradient" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1161 +#: ../src/widgets/gradient-toolbar.cpp:1162 msgid "Stops:" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1173 +#: ../src/widgets/gradient-toolbar.cpp:1174 msgid "Offset of selected stop" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1191 #: ../src/widgets/gradient-toolbar.cpp:1192 +#: ../src/widgets/gradient-toolbar.cpp:1193 msgid "Insert new stop" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1205 #: ../src/widgets/gradient-toolbar.cpp:1206 +#: ../src/widgets/gradient-toolbar.cpp:1207 #: ../src/widgets/gradient-vector.cpp:908 msgid "Delete stop" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1219 +#: ../src/widgets/gradient-toolbar.cpp:1220 msgid "Reverse" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1220 +#: ../src/widgets/gradient-toolbar.cpp:1221 msgid "Reverse the direction of the gradient" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1234 +#: ../src/widgets/gradient-toolbar.cpp:1235 msgid "Link gradients" msgstr "" -#: ../src/widgets/gradient-toolbar.cpp:1235 +#: ../src/widgets/gradient-toolbar.cpp:1236 msgid "Link gradients to change all related gradients" msgstr "" @@ -24838,56 +24946,56 @@ msgstr "" msgid "Change gradient stop color" msgstr "" -#: ../src/widgets/lpe-toolbar.cpp:317 +#: ../src/widgets/lpe-toolbar.cpp:319 msgid "All inactive" msgstr "" -#: ../src/widgets/lpe-toolbar.cpp:318 +#: ../src/widgets/lpe-toolbar.cpp:320 msgid "No geometric tool is active" msgstr "" -#: ../src/widgets/lpe-toolbar.cpp:351 +#: ../src/widgets/lpe-toolbar.cpp:353 msgid "Show limiting bounding box" msgstr "" -#: ../src/widgets/lpe-toolbar.cpp:352 +#: ../src/widgets/lpe-toolbar.cpp:354 msgid "Show bounding box (used to cut infinite lines)" msgstr "" -#: ../src/widgets/lpe-toolbar.cpp:363 +#: ../src/widgets/lpe-toolbar.cpp:365 msgid "Get limiting bounding box from selection" msgstr "" -#: ../src/widgets/lpe-toolbar.cpp:364 +#: ../src/widgets/lpe-toolbar.cpp:366 msgid "" "Set limiting bounding box (used to cut infinite lines) to the bounding box " "of current selection" msgstr "" -#: ../src/widgets/lpe-toolbar.cpp:376 +#: ../src/widgets/lpe-toolbar.cpp:378 msgid "Choose a line segment type" msgstr "" -#: ../src/widgets/lpe-toolbar.cpp:392 +#: ../src/widgets/lpe-toolbar.cpp:394 msgid "Display measuring info" msgstr "" -#: ../src/widgets/lpe-toolbar.cpp:393 +#: ../src/widgets/lpe-toolbar.cpp:395 msgid "Display measuring info for selected items" msgstr "" #. Add the units menu. -#: ../src/widgets/lpe-toolbar.cpp:403 ../src/widgets/node-toolbar.cpp:625 +#: ../src/widgets/lpe-toolbar.cpp:405 ../src/widgets/node-toolbar.cpp:626 #: ../src/widgets/paintbucket-toolbar.cpp:187 -#: ../src/widgets/rect-toolbar.cpp:382 ../src/widgets/select-toolbar.cpp:543 +#: ../src/widgets/rect-toolbar.cpp:382 ../src/widgets/select-toolbar.cpp:544 msgid "Units" msgstr "" -#: ../src/widgets/lpe-toolbar.cpp:413 +#: ../src/widgets/lpe-toolbar.cpp:415 msgid "Open LPE dialog" msgstr "" -#: ../src/widgets/lpe-toolbar.cpp:414 +#: ../src/widgets/lpe-toolbar.cpp:416 msgid "Open LPE dialog (to adapt parameters numerically)" msgstr "" @@ -24966,7 +25074,7 @@ msgstr "" msgid "Edit stroke mesh" msgstr "" -#: ../src/widgets/mesh-toolbar.cpp:317 ../src/widgets/node-toolbar.cpp:533 +#: ../src/widgets/mesh-toolbar.cpp:317 ../src/widgets/node-toolbar.cpp:534 msgid "Show Handles" msgstr "" @@ -24974,247 +25082,196 @@ msgstr "" msgid "Show side and tensor handles" msgstr "" -#: ../src/widgets/node-toolbar.cpp:353 +#: ../src/widgets/node-toolbar.cpp:354 msgid "Insert node" msgstr "" -#: ../src/widgets/node-toolbar.cpp:354 +#: ../src/widgets/node-toolbar.cpp:355 msgid "Insert new nodes into selected segments" msgstr "" -#: ../src/widgets/node-toolbar.cpp:357 +#: ../src/widgets/node-toolbar.cpp:358 msgid "Insert" msgstr "" -#: ../src/widgets/node-toolbar.cpp:368 +#: ../src/widgets/node-toolbar.cpp:369 msgid "Insert node at min X" msgstr "" -#: ../src/widgets/node-toolbar.cpp:369 +#: ../src/widgets/node-toolbar.cpp:370 msgid "Insert new nodes at min X into selected segments" msgstr "" -#: ../src/widgets/node-toolbar.cpp:372 +#: ../src/widgets/node-toolbar.cpp:373 msgid "Insert min X" msgstr "" -#: ../src/widgets/node-toolbar.cpp:378 +#: ../src/widgets/node-toolbar.cpp:379 msgid "Insert node at max X" msgstr "" -#: ../src/widgets/node-toolbar.cpp:379 +#: ../src/widgets/node-toolbar.cpp:380 msgid "Insert new nodes at max X into selected segments" msgstr "" -#: ../src/widgets/node-toolbar.cpp:382 +#: ../src/widgets/node-toolbar.cpp:383 msgid "Insert max X" msgstr "" -#: ../src/widgets/node-toolbar.cpp:388 +#: ../src/widgets/node-toolbar.cpp:389 msgid "Insert node at min Y" msgstr "" -#: ../src/widgets/node-toolbar.cpp:389 +#: ../src/widgets/node-toolbar.cpp:390 msgid "Insert new nodes at min Y into selected segments" msgstr "" -#: ../src/widgets/node-toolbar.cpp:392 +#: ../src/widgets/node-toolbar.cpp:393 msgid "Insert min Y" msgstr "" -#: ../src/widgets/node-toolbar.cpp:398 +#: ../src/widgets/node-toolbar.cpp:399 msgid "Insert node at max Y" msgstr "" -#: ../src/widgets/node-toolbar.cpp:399 +#: ../src/widgets/node-toolbar.cpp:400 msgid "Insert new nodes at max Y into selected segments" msgstr "" -#: ../src/widgets/node-toolbar.cpp:402 +#: ../src/widgets/node-toolbar.cpp:403 msgid "Insert max Y" msgstr "" -#: ../src/widgets/node-toolbar.cpp:410 +#: ../src/widgets/node-toolbar.cpp:411 msgid "Delete selected nodes" msgstr "" -#: ../src/widgets/node-toolbar.cpp:421 +#: ../src/widgets/node-toolbar.cpp:422 msgid "Join selected nodes" msgstr "" -#: ../src/widgets/node-toolbar.cpp:424 +#: ../src/widgets/node-toolbar.cpp:425 msgid "Join" msgstr "" -#: ../src/widgets/node-toolbar.cpp:432 +#: ../src/widgets/node-toolbar.cpp:433 msgid "Break path at selected nodes" msgstr "" -#: ../src/widgets/node-toolbar.cpp:442 +#: ../src/widgets/node-toolbar.cpp:443 msgid "Join with segment" msgstr "" -#: ../src/widgets/node-toolbar.cpp:443 +#: ../src/widgets/node-toolbar.cpp:444 msgid "Join selected endnodes with a new segment" msgstr "" -#: ../src/widgets/node-toolbar.cpp:452 +#: ../src/widgets/node-toolbar.cpp:453 msgid "Delete segment" msgstr "" -#: ../src/widgets/node-toolbar.cpp:453 +#: ../src/widgets/node-toolbar.cpp:454 msgid "Delete segment between two non-endpoint nodes" msgstr "" -#: ../src/widgets/node-toolbar.cpp:462 +#: ../src/widgets/node-toolbar.cpp:463 msgid "Node Cusp" msgstr "" -#: ../src/widgets/node-toolbar.cpp:463 +#: ../src/widgets/node-toolbar.cpp:464 msgid "Make selected nodes corner" msgstr "" -#: ../src/widgets/node-toolbar.cpp:472 +#: ../src/widgets/node-toolbar.cpp:473 msgid "Node Smooth" msgstr "" -#: ../src/widgets/node-toolbar.cpp:473 +#: ../src/widgets/node-toolbar.cpp:474 msgid "Make selected nodes smooth" msgstr "" -#: ../src/widgets/node-toolbar.cpp:482 +#: ../src/widgets/node-toolbar.cpp:483 msgid "Node Symmetric" msgstr "" -#: ../src/widgets/node-toolbar.cpp:483 +#: ../src/widgets/node-toolbar.cpp:484 msgid "Make selected nodes symmetric" msgstr "" -#: ../src/widgets/node-toolbar.cpp:492 +#: ../src/widgets/node-toolbar.cpp:493 msgid "Node Auto" msgstr "" -#: ../src/widgets/node-toolbar.cpp:493 +#: ../src/widgets/node-toolbar.cpp:494 msgid "Make selected nodes auto-smooth" msgstr "" -#: ../src/widgets/node-toolbar.cpp:502 +#: ../src/widgets/node-toolbar.cpp:503 msgid "Node Line" msgstr "" -#: ../src/widgets/node-toolbar.cpp:503 +#: ../src/widgets/node-toolbar.cpp:504 msgid "Make selected segments lines" msgstr "" -#: ../src/widgets/node-toolbar.cpp:512 +#: ../src/widgets/node-toolbar.cpp:513 msgid "Node Curve" msgstr "" -#: ../src/widgets/node-toolbar.cpp:513 +#: ../src/widgets/node-toolbar.cpp:514 msgid "Make selected segments curves" msgstr "" -#: ../src/widgets/node-toolbar.cpp:522 +#: ../src/widgets/node-toolbar.cpp:523 msgid "Show Transform Handles" msgstr "" -#: ../src/widgets/node-toolbar.cpp:523 +#: ../src/widgets/node-toolbar.cpp:524 msgid "Show transformation handles for selected nodes" msgstr "" -#: ../src/widgets/node-toolbar.cpp:534 +#: ../src/widgets/node-toolbar.cpp:535 msgid "Show Bezier handles of selected nodes" msgstr "" -#: ../src/widgets/node-toolbar.cpp:544 +#: ../src/widgets/node-toolbar.cpp:545 msgid "Show Outline" msgstr "" -#: ../src/widgets/node-toolbar.cpp:545 +#: ../src/widgets/node-toolbar.cpp:546 msgid "Show path outline (without path effects)" msgstr "" -#: ../src/widgets/node-toolbar.cpp:567 +#: ../src/widgets/node-toolbar.cpp:568 msgid "Edit clipping paths" msgstr "" -#: ../src/widgets/node-toolbar.cpp:568 +#: ../src/widgets/node-toolbar.cpp:569 msgid "Show clipping path(s) of selected object(s)" msgstr "" -#: ../src/widgets/node-toolbar.cpp:578 -msgid "Edit masks" -msgstr "" - #: ../src/widgets/node-toolbar.cpp:579 -msgid "Show mask(s) of selected object(s)" -msgstr "" - -#: ../src/widgets/node-toolbar.cpp:593 -msgid "X coordinate:" -msgstr "" - -#: ../src/widgets/node-toolbar.cpp:593 -msgid "X coordinate of selected node(s)" -msgstr "" - -#: ../src/widgets/node-toolbar.cpp:611 -msgid "Y coordinate:" -msgstr "" - -#: ../src/widgets/node-toolbar.cpp:611 -msgid "Y coordinate of selected node(s)" -msgstr "" - -#: ../src/widgets/paintbucket-toolbar.cpp:154 -msgid "Fill by" -msgstr "" - -#: ../src/widgets/paintbucket-toolbar.cpp:155 -msgid "Fill by:" -msgstr "" - -#: ../src/widgets/paintbucket-toolbar.cpp:167 -msgid "Fill Threshold" -msgstr "" - -#: ../src/widgets/paintbucket-toolbar.cpp:168 -msgid "" -"The maximum allowed difference between the clicked pixel and the neighboring " -"pixels to be counted in the fill" -msgstr "" - -#: ../src/widgets/paintbucket-toolbar.cpp:195 -msgid "Grow/shrink by" -msgstr "" - -#: ../src/widgets/paintbucket-toolbar.cpp:195 -msgid "Grow/shrink by:" +msgid "Edit masks" msgstr "" - -#: ../src/widgets/paintbucket-toolbar.cpp:196 -msgid "" -"The amount to grow (positive) or shrink (negative) the created fill path" + +#: ../src/widgets/node-toolbar.cpp:580 +msgid "Show mask(s) of selected object(s)" msgstr "" -#: ../src/widgets/paintbucket-toolbar.cpp:221 -msgid "Close gaps" +#: ../src/widgets/node-toolbar.cpp:594 +msgid "X coordinate:" msgstr "" -#: ../src/widgets/paintbucket-toolbar.cpp:222 -msgid "Close gaps:" +#: ../src/widgets/node-toolbar.cpp:594 +msgid "X coordinate of selected node(s)" msgstr "" -#: ../src/widgets/paintbucket-toolbar.cpp:233 -#: ../src/widgets/pencil-toolbar.cpp:322 ../src/widgets/spiral-toolbar.cpp:300 -#: ../src/widgets/star-toolbar.cpp:572 -msgid "Defaults" +#: ../src/widgets/node-toolbar.cpp:612 +msgid "Y coordinate:" msgstr "" -#: ../src/widgets/paintbucket-toolbar.cpp:234 -msgid "" -"Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools " -"to change defaults)" +#: ../src/widgets/node-toolbar.cpp:612 +msgid "Y coordinate of selected node(s)" msgstr "" #: ../src/widgets/paint-selector.cpp:234 @@ -25294,6 +25351,57 @@ msgstr "" msgid "Swatch fill" msgstr "" +#: ../src/widgets/paintbucket-toolbar.cpp:154 +msgid "Fill by" +msgstr "" + +#: ../src/widgets/paintbucket-toolbar.cpp:155 +msgid "Fill by:" +msgstr "" + +#: ../src/widgets/paintbucket-toolbar.cpp:167 +msgid "Fill Threshold" +msgstr "" + +#: ../src/widgets/paintbucket-toolbar.cpp:168 +msgid "" +"The maximum allowed difference between the clicked pixel and the neighboring " +"pixels to be counted in the fill" +msgstr "" + +#: ../src/widgets/paintbucket-toolbar.cpp:195 +msgid "Grow/shrink by" +msgstr "" + +#: ../src/widgets/paintbucket-toolbar.cpp:195 +msgid "Grow/shrink by:" +msgstr "" + +#: ../src/widgets/paintbucket-toolbar.cpp:196 +msgid "" +"The amount to grow (positive) or shrink (negative) the created fill path" +msgstr "" + +#: ../src/widgets/paintbucket-toolbar.cpp:221 +msgid "Close gaps" +msgstr "" + +#: ../src/widgets/paintbucket-toolbar.cpp:222 +msgid "Close gaps:" +msgstr "" + +#: ../src/widgets/paintbucket-toolbar.cpp:233 +#: ../src/widgets/pencil-toolbar.cpp:322 ../src/widgets/spiral-toolbar.cpp:300 +#: ../src/widgets/star-toolbar.cpp:572 +msgid "Defaults" +msgstr "" + +#: ../src/widgets/paintbucket-toolbar.cpp:234 +msgid "" +"Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools " +"to change defaults)" +msgstr "" + #: ../src/widgets/pencil-toolbar.cpp:125 msgid "Bezier" msgstr "" @@ -25464,128 +25572,128 @@ msgstr "" msgid "Maximum size of the ruler" msgstr "" -#: ../src/widgets/select-toolbar.cpp:267 +#: ../src/widgets/select-toolbar.cpp:268 msgid "Transform by toolbar" msgstr "" -#: ../src/widgets/select-toolbar.cpp:346 +#: ../src/widgets/select-toolbar.cpp:347 msgid "Now stroke width is scaled when objects are scaled." msgstr "" -#: ../src/widgets/select-toolbar.cpp:348 +#: ../src/widgets/select-toolbar.cpp:349 msgid "Now stroke width is not scaled when objects are scaled." msgstr "" -#: ../src/widgets/select-toolbar.cpp:359 +#: ../src/widgets/select-toolbar.cpp:360 msgid "" "Now rounded rectangle corners are scaled when rectangles are " "scaled." msgstr "" -#: ../src/widgets/select-toolbar.cpp:361 +#: ../src/widgets/select-toolbar.cpp:362 msgid "" "Now rounded rectangle corners are not scaled when rectangles " "are scaled." msgstr "" -#: ../src/widgets/select-toolbar.cpp:372 +#: ../src/widgets/select-toolbar.cpp:373 msgid "" "Now gradients are transformed along with their objects when " "those are transformed (moved, scaled, rotated, or skewed)." msgstr "" -#: ../src/widgets/select-toolbar.cpp:374 +#: ../src/widgets/select-toolbar.cpp:375 msgid "" "Now gradients remain fixed when objects are transformed " "(moved, scaled, rotated, or skewed)." msgstr "" -#: ../src/widgets/select-toolbar.cpp:385 +#: ../src/widgets/select-toolbar.cpp:386 msgid "" "Now patterns are transformed along with their objects when " "those are transformed (moved, scaled, rotated, or skewed)." msgstr "" -#: ../src/widgets/select-toolbar.cpp:387 +#: ../src/widgets/select-toolbar.cpp:388 msgid "" "Now patterns remain fixed when objects are transformed (moved, " "scaled, rotated, or skewed)." msgstr "" #. four spinbuttons -#: ../src/widgets/select-toolbar.cpp:505 +#: ../src/widgets/select-toolbar.cpp:506 msgctxt "Select toolbar" msgid "X position" msgstr "" -#: ../src/widgets/select-toolbar.cpp:505 +#: ../src/widgets/select-toolbar.cpp:506 msgctxt "Select toolbar" msgid "X:" msgstr "" -#: ../src/widgets/select-toolbar.cpp:507 +#: ../src/widgets/select-toolbar.cpp:508 msgid "Horizontal coordinate of selection" msgstr "" -#: ../src/widgets/select-toolbar.cpp:511 +#: ../src/widgets/select-toolbar.cpp:512 msgctxt "Select toolbar" msgid "Y position" msgstr "" -#: ../src/widgets/select-toolbar.cpp:511 +#: ../src/widgets/select-toolbar.cpp:512 msgctxt "Select toolbar" msgid "Y:" msgstr "" -#: ../src/widgets/select-toolbar.cpp:513 +#: ../src/widgets/select-toolbar.cpp:514 msgid "Vertical coordinate of selection" msgstr "" -#: ../src/widgets/select-toolbar.cpp:517 +#: ../src/widgets/select-toolbar.cpp:518 msgctxt "Select toolbar" msgid "Width" msgstr "" -#: ../src/widgets/select-toolbar.cpp:517 +#: ../src/widgets/select-toolbar.cpp:518 msgctxt "Select toolbar" msgid "W:" msgstr "" -#: ../src/widgets/select-toolbar.cpp:519 +#: ../src/widgets/select-toolbar.cpp:520 msgid "Width of selection" msgstr "" -#: ../src/widgets/select-toolbar.cpp:526 +#: ../src/widgets/select-toolbar.cpp:527 msgid "Lock width and height" msgstr "" -#: ../src/widgets/select-toolbar.cpp:527 +#: ../src/widgets/select-toolbar.cpp:528 msgid "When locked, change both width and height by the same proportion" msgstr "" -#: ../src/widgets/select-toolbar.cpp:536 +#: ../src/widgets/select-toolbar.cpp:537 msgctxt "Select toolbar" msgid "Height" msgstr "" -#: ../src/widgets/select-toolbar.cpp:536 +#: ../src/widgets/select-toolbar.cpp:537 msgctxt "Select toolbar" msgid "H:" msgstr "" -#: ../src/widgets/select-toolbar.cpp:538 +#: ../src/widgets/select-toolbar.cpp:539 msgid "Height of selection" msgstr "" -#: ../src/widgets/select-toolbar.cpp:588 +#: ../src/widgets/select-toolbar.cpp:589 msgid "Scale rounded corners" msgstr "" -#: ../src/widgets/select-toolbar.cpp:599 +#: ../src/widgets/select-toolbar.cpp:600 msgid "Move gradients" msgstr "" -#: ../src/widgets/select-toolbar.cpp:610 +#: ../src/widgets/select-toolbar.cpp:611 msgid "Move patterns" msgstr "" @@ -25733,6 +25841,14 @@ msgstr "" msgid "Unnamed" msgstr "" +#: ../src/widgets/sp-xmlview-attr-list.cpp:64 +msgid "Value" +msgstr "" + +#: ../src/widgets/sp-xmlview-content.cpp:179 +msgid "Type text in a text node" +msgstr "" + #: ../src/widgets/spiral-toolbar.cpp:111 msgid "Change spiral" msgstr "" @@ -25957,14 +26073,6 @@ msgid "" "the original object" msgstr "" -#: ../src/widgets/sp-xmlview-attr-list.cpp:64 -msgid "Value" -msgstr "" - -#: ../src/widgets/sp-xmlview-content.cpp:179 -msgid "Type text in a text node" -msgstr "" - #: ../src/widgets/star-toolbar.cpp:110 msgid "Star: Change number of corners" msgstr "" @@ -26471,175 +26579,175 @@ msgstr "" msgid "Character rotation (degrees)" msgstr "" -#: ../src/widgets/toolbox.cpp:181 +#: ../src/widgets/toolbox.cpp:182 msgid "Color/opacity used for color tweaking" msgstr "" -#: ../src/widgets/toolbox.cpp:189 +#: ../src/widgets/toolbox.cpp:190 msgid "Style of new stars" msgstr "" -#: ../src/widgets/toolbox.cpp:191 +#: ../src/widgets/toolbox.cpp:192 msgid "Style of new rectangles" msgstr "" -#: ../src/widgets/toolbox.cpp:193 +#: ../src/widgets/toolbox.cpp:194 msgid "Style of new 3D boxes" msgstr "" -#: ../src/widgets/toolbox.cpp:195 +#: ../src/widgets/toolbox.cpp:196 msgid "Style of new ellipses" msgstr "" -#: ../src/widgets/toolbox.cpp:197 +#: ../src/widgets/toolbox.cpp:198 msgid "Style of new spirals" msgstr "" -#: ../src/widgets/toolbox.cpp:199 +#: ../src/widgets/toolbox.cpp:200 msgid "Style of new paths created by Pencil" msgstr "" -#: ../src/widgets/toolbox.cpp:201 +#: ../src/widgets/toolbox.cpp:202 msgid "Style of new paths created by Pen" msgstr "" -#: ../src/widgets/toolbox.cpp:203 +#: ../src/widgets/toolbox.cpp:204 msgid "Style of new calligraphic strokes" msgstr "" -#: ../src/widgets/toolbox.cpp:205 ../src/widgets/toolbox.cpp:207 +#: ../src/widgets/toolbox.cpp:206 ../src/widgets/toolbox.cpp:208 msgid "TBD" msgstr "" -#: ../src/widgets/toolbox.cpp:219 +#: ../src/widgets/toolbox.cpp:220 msgid "Style of Paint Bucket fill objects" msgstr "" -#: ../src/widgets/toolbox.cpp:1680 +#: ../src/widgets/toolbox.cpp:1681 msgid "Bounding box" msgstr "" -#: ../src/widgets/toolbox.cpp:1680 +#: ../src/widgets/toolbox.cpp:1681 msgid "Snap bounding boxes" msgstr "" -#: ../src/widgets/toolbox.cpp:1689 +#: ../src/widgets/toolbox.cpp:1690 msgid "Bounding box edges" msgstr "" -#: ../src/widgets/toolbox.cpp:1689 +#: ../src/widgets/toolbox.cpp:1690 msgid "Snap to edges of a bounding box" msgstr "" -#: ../src/widgets/toolbox.cpp:1698 +#: ../src/widgets/toolbox.cpp:1699 msgid "Bounding box corners" msgstr "" -#: ../src/widgets/toolbox.cpp:1698 +#: ../src/widgets/toolbox.cpp:1699 msgid "Snap bounding box corners" msgstr "" -#: ../src/widgets/toolbox.cpp:1707 +#: ../src/widgets/toolbox.cpp:1708 msgid "BBox Edge Midpoints" msgstr "" -#: ../src/widgets/toolbox.cpp:1707 +#: ../src/widgets/toolbox.cpp:1708 msgid "Snap midpoints of bounding box edges" msgstr "" -#: ../src/widgets/toolbox.cpp:1717 +#: ../src/widgets/toolbox.cpp:1718 msgid "BBox Centers" msgstr "" -#: ../src/widgets/toolbox.cpp:1717 +#: ../src/widgets/toolbox.cpp:1718 msgid "Snapping centers of bounding boxes" msgstr "" -#: ../src/widgets/toolbox.cpp:1726 +#: ../src/widgets/toolbox.cpp:1727 msgid "Snap nodes, paths, and handles" msgstr "" -#: ../src/widgets/toolbox.cpp:1734 +#: ../src/widgets/toolbox.cpp:1735 msgid "Snap to paths" msgstr "" -#: ../src/widgets/toolbox.cpp:1743 +#: ../src/widgets/toolbox.cpp:1744 msgid "Path intersections" msgstr "" -#: ../src/widgets/toolbox.cpp:1743 +#: ../src/widgets/toolbox.cpp:1744 msgid "Snap to path intersections" msgstr "" -#: ../src/widgets/toolbox.cpp:1752 +#: ../src/widgets/toolbox.cpp:1753 msgid "To nodes" msgstr "" -#: ../src/widgets/toolbox.cpp:1752 +#: ../src/widgets/toolbox.cpp:1753 msgid "Snap cusp nodes, incl. rectangle corners" msgstr "" -#: ../src/widgets/toolbox.cpp:1761 +#: ../src/widgets/toolbox.cpp:1762 msgid "Smooth nodes" msgstr "" -#: ../src/widgets/toolbox.cpp:1761 +#: ../src/widgets/toolbox.cpp:1762 msgid "Snap smooth nodes, incl. quadrant points of ellipses" msgstr "" -#: ../src/widgets/toolbox.cpp:1770 +#: ../src/widgets/toolbox.cpp:1771 msgid "Line Midpoints" msgstr "" -#: ../src/widgets/toolbox.cpp:1770 +#: ../src/widgets/toolbox.cpp:1771 msgid "Snap midpoints of line segments" msgstr "" -#: ../src/widgets/toolbox.cpp:1779 +#: ../src/widgets/toolbox.cpp:1780 msgid "Others" msgstr "" -#: ../src/widgets/toolbox.cpp:1779 +#: ../src/widgets/toolbox.cpp:1780 msgid "Snap other points (centers, guide origins, gradient handles, etc.)" msgstr "" -#: ../src/widgets/toolbox.cpp:1787 +#: ../src/widgets/toolbox.cpp:1788 msgid "Object Centers" msgstr "" -#: ../src/widgets/toolbox.cpp:1787 +#: ../src/widgets/toolbox.cpp:1788 msgid "Snap centers of objects" msgstr "" -#: ../src/widgets/toolbox.cpp:1796 +#: ../src/widgets/toolbox.cpp:1797 msgid "Rotation Centers" msgstr "" -#: ../src/widgets/toolbox.cpp:1796 +#: ../src/widgets/toolbox.cpp:1797 msgid "Snap an item's rotation center" msgstr "" -#: ../src/widgets/toolbox.cpp:1805 +#: ../src/widgets/toolbox.cpp:1806 msgid "Text baseline" msgstr "" -#: ../src/widgets/toolbox.cpp:1805 +#: ../src/widgets/toolbox.cpp:1806 msgid "Snap text anchors and baselines" msgstr "" -#: ../src/widgets/toolbox.cpp:1815 +#: ../src/widgets/toolbox.cpp:1816 msgid "Page border" msgstr "" -#: ../src/widgets/toolbox.cpp:1815 +#: ../src/widgets/toolbox.cpp:1816 msgid "Snap to the page border" msgstr "" -#: ../src/widgets/toolbox.cpp:1824 +#: ../src/widgets/toolbox.cpp:1825 msgid "Snap to grids" msgstr "" -#: ../src/widgets/toolbox.cpp:1833 +#: ../src/widgets/toolbox.cpp:1834 msgid "Snap guides" msgstr "" @@ -27206,19 +27314,27 @@ msgstr "" msgid "The sliced bitmaps have been saved as:" msgstr "" -#: ../share/extensions/hpgl_input.py:58 -msgid "" -"The HPGL data contained unknown (unsupported) commands, there is a " -"possibility that the drawing is missing some content." +#: ../share/extensions/hpgl_decoder.py:44 +msgid "Movements" +msgstr "" + +#: ../share/extensions/hpgl_decoder.py:45 +msgid "Pen #" msgstr "" #. issue error if no hpgl data found -#: ../share/extensions/hpgl_input.py:64 +#: ../share/extensions/hpgl_input.py:59 msgid "No HPGL data found." msgstr "" +#: ../share/extensions/hpgl_input.py:67 +msgid "" +"The HPGL data contained unknown (unsupported) commands, there is a " +"possibility that the drawing is missing some content." +msgstr "" + #. issue error if no paths found -#: ../share/extensions/hpgl_output.py:59 +#: ../share/extensions/hpgl_output.py:62 msgid "" "No paths where found. Please convert all objects you want to save into paths." msgstr "" @@ -27485,19 +27601,19 @@ msgid "" "Try using the procedure Path->Object to Path." msgstr "" -#: ../share/extensions/plotter.py:62 -msgid "pySerial is not installed." -msgstr "" - #. issue error if no paths found -#: ../share/extensions/plotter.py:75 +#: ../share/extensions/plotter.py:70 msgid "" "No paths where found. Please convert all objects you want to plot into paths." msgstr "" -#: ../share/extensions/plotter.py:111 +#: ../share/extensions/plotter.py:131 +msgid "pySerial is not installed." +msgstr "" + +#: ../share/extensions/plotter.py:151 msgid "" -"Could not send data. Please check that your plotter is running, connected " +"Could not open port. Please check that your plotter is running, connected " "and the settings are correct." msgstr "" @@ -27806,6 +27922,49 @@ msgstr "" msgid "Open presentation exchange files saved in Corel DRAW (UC)" msgstr "" +#: ../share/extensions/color_HSL_adjust.inx.h:1 +msgid "HSL Adjust" +msgstr "" + +#: ../share/extensions/color_HSL_adjust.inx.h:3 +msgid "Hue (°)" +msgstr "" + +#: ../share/extensions/color_HSL_adjust.inx.h:4 +msgid "Random hue" +msgstr "" + +#: ../share/extensions/color_HSL_adjust.inx.h:6 +#, no-c-format +msgid "Saturation (%)" +msgstr "" + +#: ../share/extensions/color_HSL_adjust.inx.h:7 +msgid "Random saturation" +msgstr "" + +#: ../share/extensions/color_HSL_adjust.inx.h:9 +#, no-c-format +msgid "Lightness (%)" +msgstr "" + +#: ../share/extensions/color_HSL_adjust.inx.h:10 +msgid "Random lightness" +msgstr "" + +#: ../share/extensions/color_HSL_adjust.inx.h:13 +#, no-c-format +msgid "" +"Adjusts hue, saturation and lightness in the HSL representation of the " +"selected objects's color.\n" +"Options:\n" +" * Hue: rotate by degrees (wraps around).\n" +" * Saturation: add/subtract % (min=-100, max=100).\n" +" * Lightness: add/subtract % (min=-100, max=100).\n" +" * Random Hue/Saturation/Lightness: randomize the parameter's value.\n" +" " +msgstr "" + #: ../share/extensions/color_blackandwhite.inx.h:1 msgid "Black and White" msgstr "" @@ -27860,49 +28019,6 @@ msgstr "" msgid "Grayscale" msgstr "" -#: ../share/extensions/color_HSL_adjust.inx.h:1 -msgid "HSL Adjust" -msgstr "" - -#: ../share/extensions/color_HSL_adjust.inx.h:3 -msgid "Hue (°)" -msgstr "" - -#: ../share/extensions/color_HSL_adjust.inx.h:4 -msgid "Random hue" -msgstr "" - -#: ../share/extensions/color_HSL_adjust.inx.h:6 -#, no-c-format -msgid "Saturation (%)" -msgstr "" - -#: ../share/extensions/color_HSL_adjust.inx.h:7 -msgid "Random saturation" -msgstr "" - -#: ../share/extensions/color_HSL_adjust.inx.h:9 -#, no-c-format -msgid "Lightness (%)" -msgstr "" - -#: ../share/extensions/color_HSL_adjust.inx.h:10 -msgid "Random lightness" -msgstr "" - -#: ../share/extensions/color_HSL_adjust.inx.h:13 -#, no-c-format -msgid "" -"Adjusts hue, saturation and lightness in the HSL representation of the " -"selected objects's color.\n" -"Options:\n" -" * Hue: rotate by degrees (wraps around).\n" -" * Saturation: add/subtract % (min=-100, max=100).\n" -" * Lightness: add/subtract % (min=-100, max=100).\n" -" * Random Hue/Saturation/Lightness: randomize the parameter's value.\n" -" " -msgstr "" - #: ../share/extensions/color_lesshue.inx.h:1 msgid "Less Hue" msgstr "" @@ -28483,6 +28599,18 @@ msgstr "" msgid "Embed Selected Images" msgstr "" +#: ../share/extensions/empty_page.inx.h:1 +msgid "Empty Page" +msgstr "" + +#: ../share/extensions/empty_page.inx.h:2 +msgid "Page size:" +msgstr "" + +#: ../share/extensions/empty_page.inx.h:3 +msgid "Page orientation:" +msgstr "" + #: ../share/extensions/eps_input.inx.h:1 msgid "EPS Input" msgstr "" @@ -29704,11 +29832,6 @@ msgstr "" msgid "Ignore these settings and use export hints" msgstr "" -#: ../share/extensions/guillotine.inx.h:5 -#: ../share/extensions/print_win32_vector.inx.h:2 -msgid "Export" -msgstr "" - #: ../share/extensions/handles.inx.h:1 msgid "Draw Handles" msgstr "" @@ -29729,11 +29852,11 @@ msgid "Text:" msgstr "" #: ../share/extensions/hershey.inx.h:4 -msgid " Action" +msgid " Action: " msgstr "" #: ../share/extensions/hershey.inx.h:5 -msgid " Font face " +msgid " Font face: " msgstr "" #: ../share/extensions/hershey.inx.h:6 @@ -29871,40 +29994,40 @@ msgid "" msgstr "" #: ../share/extensions/hpgl_input.inx.h:3 -#: ../share/extensions/hpgl_output.inx.h:6 -#: ../share/extensions/plotter.inx.h:16 +#: ../share/extensions/hpgl_output.inx.h:4 +#: ../share/extensions/plotter.inx.h:20 msgid "Resolution X (dpi)" msgstr "" #: ../share/extensions/hpgl_input.inx.h:4 -msgid "The amount of steps in one inch on the X axis (Default: 1016.0)" +msgid "The amount of steps in one inch on the X axis. (Default: 1016.0)" msgstr "" #: ../share/extensions/hpgl_input.inx.h:5 -#: ../share/extensions/hpgl_output.inx.h:8 -#: ../share/extensions/plotter.inx.h:18 +#: ../share/extensions/hpgl_output.inx.h:6 +#: ../share/extensions/plotter.inx.h:22 msgid "Resolution Y (dpi)" msgstr "" #: ../share/extensions/hpgl_input.inx.h:6 -msgid "The amount of steps in one inch on the Y axis (Default: 1016.0)" +msgid "The amount of steps in one inch on the Y axis. (Default: 1016.0)" msgstr "" #: ../share/extensions/hpgl_input.inx.h:7 -msgid "Show Movements between paths" +msgid "Show movements between paths" msgstr "" #: ../share/extensions/hpgl_input.inx.h:8 -msgid "Check this to show movements between paths (Default: Unchecked)" +msgid "Check this to show movements between paths. (Default: Unchecked)" msgstr "" #: ../share/extensions/hpgl_input.inx.h:9 -#: ../share/extensions/hpgl_output.inx.h:36 +#: ../share/extensions/hpgl_output.inx.h:42 msgid "HP Graphics Language file (*.hpgl)" msgstr "" #: ../share/extensions/hpgl_input.inx.h:10 -msgid "Import HP Graphics Language file" +msgid "Import an HP Graphics Language file" msgstr "" #: ../share/extensions/hpgl_output.inx.h:1 @@ -29919,182 +30042,214 @@ msgid "" msgstr "" #: ../share/extensions/hpgl_output.inx.h:3 -#: ../share/extensions/plotter.inx.h:13 +#: ../share/extensions/plotter.inx.h:19 msgid "Plotter Settings" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:4 -#: ../share/extensions/plotter.inx.h:14 -msgid "Pen number" -msgstr "" - #: ../share/extensions/hpgl_output.inx.h:5 -#: ../share/extensions/plotter.inx.h:15 -msgid "The number of the pen (tool) to use, on most plotters 1 (Standard: '1')" +#: ../share/extensions/plotter.inx.h:21 +msgid "" +"The amount of steps the cutter moves if it moves for 1 inch on the X axis. " +"(Default: 1016.0)" msgstr "" #: ../share/extensions/hpgl_output.inx.h:7 -#: ../share/extensions/plotter.inx.h:17 +#: ../share/extensions/plotter.inx.h:23 msgid "" -"The amount of steps the cutter moves if it moves for 1 inch on the X axis - " -"Try different settings to find the one that fits your plotter (Default: " -"1016.0)" +"The amount of steps the cutter moves if it moves for 1 inch on the Y axis. " +"(Default: 1016.0)" +msgstr "" + +#: ../share/extensions/hpgl_output.inx.h:8 +#: ../share/extensions/plotter.inx.h:24 +msgid "Pen number" msgstr "" #: ../share/extensions/hpgl_output.inx.h:9 -#: ../share/extensions/plotter.inx.h:19 -msgid "" -"The amount of steps the cutter moves if it moves for 1 inch on the Y axis - " -"Try different settings to find the one that fits your plotter (Default: " -"1016.0)" +#: ../share/extensions/plotter.inx.h:25 +msgid "The number of the pen (tool) to use. (Standard: '1')" msgstr "" #: ../share/extensions/hpgl_output.inx.h:10 -#: ../share/extensions/plotter.inx.h:20 -msgid "Mirror X-axis" +#: ../share/extensions/plotter.inx.h:26 +msgid "Pen force (g)" msgstr "" #: ../share/extensions/hpgl_output.inx.h:11 +#: ../share/extensions/plotter.inx.h:27 msgid "" -"Check this to mirror the X axis - Try different settings to find the one " -"that fits your plotter (Default: Unchecked)" +"The amount of force pushing down the pen in grams, set to 0 to omit command. " +"Most plotters ignore this command. (Default: 24)" msgstr "" #: ../share/extensions/hpgl_output.inx.h:12 -#: ../share/extensions/plotter.inx.h:22 -msgid "Mirror Y-axis" +#: ../share/extensions/plotter.inx.h:28 +msgid "Pen speed (cm/s)" msgstr "" #: ../share/extensions/hpgl_output.inx.h:13 -#: ../share/extensions/plotter.inx.h:23 +#: ../share/extensions/plotter.inx.h:29 msgid "" -"Check this to mirror the Y axis - Try different settings to find the one " -"that fits your plotter (Default: Unchecked)" +"The speed the pen will move with in centimetres per second, set to 0 to omit " +"command. Most plotters ignore this command. (Default: 20)" msgstr "" #: ../share/extensions/hpgl_output.inx.h:14 -#: ../share/extensions/plotter.inx.h:24 +#: ../share/extensions/plotter.inx.h:30 msgid "Rotation (Clockwise)" msgstr "" #: ../share/extensions/hpgl_output.inx.h:15 -msgid "" -"Rotation of the drawing - Try different settings to find the one that fits " -"your plotter (Default: 0°)" +#: ../share/extensions/plotter.inx.h:31 +msgid "Rotation of the plot. (Default: 0°)" +msgstr "" + +#: ../share/extensions/hpgl_output.inx.h:16 +#: ../share/extensions/plotter.inx.h:32 +msgid "Mirror X axis" +msgstr "" + +#: ../share/extensions/hpgl_output.inx.h:17 +#: ../share/extensions/plotter.inx.h:33 +msgid "Check this to mirror the X axis. (Default: Unchecked)" +msgstr "" + +#: ../share/extensions/hpgl_output.inx.h:18 +#: ../share/extensions/plotter.inx.h:34 +msgid "Mirror Y axis" +msgstr "" + +#: ../share/extensions/hpgl_output.inx.h:19 +#: ../share/extensions/plotter.inx.h:35 +msgid "Check this to mirror the Y axis. (Default: Unchecked)" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:16 -#: ../share/extensions/plotter.inx.h:26 +#: ../share/extensions/hpgl_output.inx.h:20 +#: ../share/extensions/plotter.inx.h:36 msgid "Center zero point" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:17 -#: ../share/extensions/plotter.inx.h:27 +#: ../share/extensions/hpgl_output.inx.h:21 +#: ../share/extensions/plotter.inx.h:37 msgid "" -"Check this if your plotter uses a centered zero point - Try different " -"settings to find the one that fits your plotter (Default: Unchecked)" +"Check this if your plotter uses a centered zero point. (Default: Unchecked)" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:18 -#: ../share/extensions/plotter.inx.h:28 +#: ../share/extensions/hpgl_output.inx.h:22 +#: ../share/extensions/plotter.inx.h:38 msgid "Overcut & Tool Offset" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:19 -#: ../share/extensions/plotter.inx.h:29 +#: ../share/extensions/hpgl_output.inx.h:23 +#: ../share/extensions/plotter.inx.h:39 msgid "Use overcut" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:20 -#: ../share/extensions/plotter.inx.h:30 +#: ../share/extensions/hpgl_output.inx.h:24 +#: ../share/extensions/plotter.inx.h:40 msgid "" -"Check this to use the overcut, if not checked the 'Overcut' parameter is " -"unused (Default: Checked)" +"Check this to use overcut, if not checked the 'Overcut' parameter is unused. " +"(Default: Checked)" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:21 -#: ../share/extensions/plotter.inx.h:31 +#: ../share/extensions/hpgl_output.inx.h:25 +#: ../share/extensions/plotter.inx.h:41 msgid "Overcut (mm)" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:22 -#: ../share/extensions/plotter.inx.h:32 +#: ../share/extensions/hpgl_output.inx.h:26 +#: ../share/extensions/plotter.inx.h:42 msgid "" "The distance in mm that will be cut over the starting point of the path to " -"prevent open paths (Default: 1.00)" +"prevent open paths. (Default: 1.00)" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:23 -#: ../share/extensions/plotter.inx.h:33 +#: ../share/extensions/hpgl_output.inx.h:27 +#: ../share/extensions/plotter.inx.h:43 msgid "Use tool offset correction" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:24 -#: ../share/extensions/plotter.inx.h:34 +#: ../share/extensions/hpgl_output.inx.h:28 +#: ../share/extensions/plotter.inx.h:44 msgid "" "Check this to use the tool offset correction, if not checked the 'Tool " -"offset' and 'Precut' parameters are unused (Default: Checked)" +"offset' and 'Precut' parameters are unused. (Default: Checked)" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:25 -#: ../share/extensions/plotter.inx.h:35 +#: ../share/extensions/hpgl_output.inx.h:29 +#: ../share/extensions/plotter.inx.h:45 msgid "Tool offset (mm)" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:26 -#: ../share/extensions/plotter.inx.h:36 -msgid "The offset from the tool tip to the tool axis in mm (Default: 0.25)" +#: ../share/extensions/hpgl_output.inx.h:30 +#: ../share/extensions/plotter.inx.h:46 +msgid "The offset from the tool tip to the tool axis in mm. (Default: 0.25)" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:27 -#: ../share/extensions/plotter.inx.h:37 +#: ../share/extensions/hpgl_output.inx.h:31 +#: ../share/extensions/plotter.inx.h:47 msgid "Use precut" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:28 -#: ../share/extensions/plotter.inx.h:38 +#: ../share/extensions/hpgl_output.inx.h:32 +#: ../share/extensions/plotter.inx.h:48 msgid "" -"Check this to cut a small line before the real drawing to align the tool " -"orientation for the first cut (Default: Checked)" +"Check this to plot a small line before the real plot to align the tool " +"orientation for the first real plot. (Default: Checked)" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:29 -#: ../share/extensions/plotter.inx.h:39 +#: ../share/extensions/hpgl_output.inx.h:33 +#: ../share/extensions/plotter.inx.h:49 msgid "" "Please note that using the tool offset correction will move your plot away " -"from the zero point by the length in mm specified by the tool offset." +"from the zero point by one tool offset length." msgstr "" -#: ../share/extensions/hpgl_output.inx.h:31 -#: ../share/extensions/plotter.inx.h:41 +#: ../share/extensions/hpgl_output.inx.h:35 +#: ../share/extensions/plotter.inx.h:51 msgid "Curve flatness" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:32 -#: ../share/extensions/plotter.inx.h:42 +#: ../share/extensions/hpgl_output.inx.h:36 +#: ../share/extensions/plotter.inx.h:52 msgid "" "Curves are divided into lines, this number controls how fine the curves will " -"be reproduced, the smaller the finer (Default: '1.2')" +"be reproduced, the smaller the finer. (Default: '1.2')" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:33 -#: ../share/extensions/plotter.inx.h:43 +#: ../share/extensions/hpgl_output.inx.h:37 +#: ../share/extensions/plotter.inx.h:53 msgid "X offset (mm)" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:34 +#: ../share/extensions/hpgl_output.inx.h:38 +#: ../share/extensions/plotter.inx.h:54 msgid "" -"The offset to shift your plot away from the zero point in mm (Default: " -"'0.00')" +"The offset to move your plot away from the zero point on the X axis in mm. " +"(Default: '0.00')" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:35 -#: ../share/extensions/plotter.inx.h:45 +#: ../share/extensions/hpgl_output.inx.h:39 +#: ../share/extensions/plotter.inx.h:55 msgid "Y offset (mm)" msgstr "" -#: ../share/extensions/hpgl_output.inx.h:37 -msgid "Export to an HP Graphics Language file" +#: ../share/extensions/hpgl_output.inx.h:40 +#: ../share/extensions/plotter.inx.h:56 +msgid "" +"The offset to move your plot away from the zero point on the Y axis in mm. " +"(Default: '0.00')" +msgstr "" + +#: ../share/extensions/hpgl_output.inx.h:41 +#: ../share/extensions/plotter.inx.h:59 +msgid "" +"All these settings depend on the plotter you use, for more information " +"please consult the manual or homepage for your plotter." +msgstr "" + +#: ../share/extensions/hpgl_output.inx.h:43 +msgid "Export an HP Graphics Language file" msgstr "" #: ../share/extensions/ink2canvas.inx.h:1 @@ -30170,6 +30325,26 @@ msgstr "" msgid "SVG 1.1 Specification" msgstr "" +#: ../share/extensions/interp.inx.h:1 +msgid "Interpolate" +msgstr "" + +#: ../share/extensions/interp.inx.h:3 +msgid "Interpolation steps:" +msgstr "" + +#: ../share/extensions/interp.inx.h:4 +msgid "Interpolation method:" +msgstr "" + +#: ../share/extensions/interp.inx.h:5 +msgid "Duplicate endpaths" +msgstr "" + +#: ../share/extensions/interp.inx.h:6 +msgid "Interpolate style" +msgstr "" + #: ../share/extensions/interp_att_g.inx.h:1 msgid "Interpolate Attribute in a group" msgstr "" @@ -30257,26 +30432,6 @@ msgid "" "selection." msgstr "" -#: ../share/extensions/interp.inx.h:1 -msgid "Interpolate" -msgstr "" - -#: ../share/extensions/interp.inx.h:3 -msgid "Interpolation steps:" -msgstr "" - -#: ../share/extensions/interp.inx.h:4 -msgid "Interpolation method:" -msgstr "" - -#: ../share/extensions/interp.inx.h:5 -msgid "Duplicate endpaths" -msgstr "" - -#: ../share/extensions/interp.inx.h:6 -msgid "Interpolate style" -msgstr "" - #: ../share/extensions/jessyInk_autoTexts.inx.h:1 msgid "Auto-texts" msgstr "" @@ -31329,21 +31484,21 @@ msgid "Connection" msgstr "" #: ../share/extensions/plotter.inx.h:4 -msgid "Serial Port" +msgid "Serial port" msgstr "" #: ../share/extensions/plotter.inx.h:5 msgid "" "The port of your serial connection, on Windows something like 'COM1', on " -"Linux something like: '/dev/ttyUSB0' (Default: COM1)" +"Linux something like: '/dev/ttyUSB0'. (Default: COM1)" msgstr "" #: ../share/extensions/plotter.inx.h:6 -msgid "Serial Baud rate" +msgid "Serial baud rate" msgstr "" #: ../share/extensions/plotter.inx.h:7 -msgid "The Baud rate of your serial connection (Default: 9600)" +msgid "The Baud rate of your serial connection. (Default: 9600)" msgstr "" #: ../share/extensions/plotter.inx.h:8 @@ -31352,41 +31507,57 @@ msgstr "" #: ../share/extensions/plotter.inx.h:9 msgid "" -"Software / Hardware flow control - Try different settings to find the one " -"that fits your plotter (Default: None)" +"The Software / Hardware flow control of your serial connection. (Default: " +"Software)" msgstr "" #: ../share/extensions/plotter.inx.h:10 -msgid "" -"This can be a physical serial connection or a USB-to-Serial bridge. Ask your " -"plotter manufacturer for drivers if needed." +msgid "Command language" msgstr "" #: ../share/extensions/plotter.inx.h:11 -msgid "Please note that Parallel (LPT) connections are not supported." +msgid "The command language to use. (Default: HPGL)" msgstr "" #: ../share/extensions/plotter.inx.h:12 -msgid "" -"Please note that only the HPGL command language is supported at the moment." +msgid "Software (XON/XOFF)" msgstr "" -#: ../share/extensions/plotter.inx.h:21 -msgid "Check this to mirror the X axis (Default: Unchecked)" +#: ../share/extensions/plotter.inx.h:13 +msgid "Hardware (RTS/CTS)" msgstr "" -#: ../share/extensions/plotter.inx.h:25 +#: ../share/extensions/plotter.inx.h:14 +msgid "Hardware (DSR/DTR + RTS/CTS)" +msgstr "" + +#: ../share/extensions/plotter.inx.h:16 msgid "" -"Rotation of the plot - Try different settings to find the one that fits your " -"plotter (Default: 0°)" +"Using wrong settings can under certain circumstances cause Inkscape to " +"freeze. Always save your work before plotting." msgstr "" -#: ../share/extensions/plotter.inx.h:44 +#: ../share/extensions/plotter.inx.h:17 +msgid "" +"This can be a physical serial connection or a USB-to-Serial bridge. Ask your " +"plotter manufacturer for drivers if needed." +msgstr "" + +#: ../share/extensions/plotter.inx.h:18 +msgid "Parallel (LPT) connections are not supported." +msgstr "" + +#: ../share/extensions/plotter.inx.h:57 +msgid "Show debug information" +msgstr "" + +#: ../share/extensions/plotter.inx.h:58 msgid "" -"The offset to move your plot away from the zero point in mm (Default: '0.00')" +"Check this to get verbose information about the plot without actually " +"sending something to the plotter (A.k.a. data dump). (Default: Unchecked)" msgstr "" -#: ../share/extensions/plotter.inx.h:46 +#: ../share/extensions/plotter.inx.h:60 msgid "Plotter" msgstr "" @@ -31619,6 +31790,10 @@ msgstr "" msgid "View Previous Glyph" msgstr "" +#: ../share/extensions/print_win32_vector.inx.h:1 +msgid "Win32 Vector Print" +msgstr "" + #: ../share/extensions/printing_marks.inx.h:1 msgid "Printing Marks" msgstr "" @@ -31663,10 +31838,6 @@ msgstr "" msgid "Bleed Margin" msgstr "" -#: ../share/extensions/print_win32_vector.inx.h:1 -msgid "Win32 Vector Print" -msgstr "" - #: ../share/extensions/ps_input.inx.h:1 msgid "PostScript Input" msgstr "" @@ -31705,39 +31876,39 @@ msgstr "" msgid "Alphabet Soup" msgstr "" -#: ../share/extensions/render_barcode_datamatrix.inx.h:1 -msgid "Datamatrix" +#: ../share/extensions/render_barcode.inx.h:1 +msgid "Classic" msgstr "" -#: ../share/extensions/render_barcode_datamatrix.inx.h:3 -#: ../share/extensions/render_barcode_qrcode.inx.h:4 -msgid "Size, in unit squares:" +#: ../share/extensions/render_barcode.inx.h:2 +msgid "Barcode Type:" msgstr "" -#: ../share/extensions/render_barcode_datamatrix.inx.h:4 -msgid "Square Size (px):" +#: ../share/extensions/render_barcode.inx.h:3 +msgid "Barcode Data:" +msgstr "" + +#: ../share/extensions/render_barcode.inx.h:4 +msgid "Bar Height:" msgstr "" -#: ../share/extensions/render_barcode_datamatrix.inx.h:6 #: ../share/extensions/render_barcode.inx.h:6 +#: ../share/extensions/render_barcode_datamatrix.inx.h:6 #: ../share/extensions/render_barcode_qrcode.inx.h:19 msgid "Barcode" msgstr "" -#: ../share/extensions/render_barcode.inx.h:1 -msgid "Classic" -msgstr "" - -#: ../share/extensions/render_barcode.inx.h:2 -msgid "Barcode Type:" +#: ../share/extensions/render_barcode_datamatrix.inx.h:1 +msgid "Datamatrix" msgstr "" -#: ../share/extensions/render_barcode.inx.h:3 -msgid "Barcode Data:" +#: ../share/extensions/render_barcode_datamatrix.inx.h:3 +#: ../share/extensions/render_barcode_qrcode.inx.h:4 +msgid "Size, in unit squares:" msgstr "" -#: ../share/extensions/render_barcode.inx.h:4 -msgid "Bar Height:" +#: ../share/extensions/render_barcode_datamatrix.inx.h:4 +msgid "Square Size (px):" msgstr "" #: ../share/extensions/render_barcode_qrcode.inx.h:1 @@ -32749,13 +32920,49 @@ msgid "" msgstr "" #: ../share/extensions/web-set-att.inx.h:29 +#: ../share/extensions/web-transmit-att.inx.h:27 #: ../share/extensions/webslicer_create_group.inx.h:13 #: ../share/extensions/webslicer_create_rect.inx.h:41 #: ../share/extensions/webslicer_export.inx.h:8 -#: ../share/extensions/web-transmit-att.inx.h:27 msgid "Web" msgstr "" +#: ../share/extensions/web-transmit-att.inx.h:1 +msgid "Transmit Attributes" +msgstr "" + +#: ../share/extensions/web-transmit-att.inx.h:3 +msgid "Attribute to transmit:" +msgstr "" + +#: ../share/extensions/web-transmit-att.inx.h:4 +msgid "When to transmit:" +msgstr "" + +#: ../share/extensions/web-transmit-att.inx.h:6 +msgid "Source and destination of transmitting:" +msgstr "" + +#: ../share/extensions/web-transmit-att.inx.h:21 +msgid "All selected ones transmit to the last one" +msgstr "" + +#: ../share/extensions/web-transmit-att.inx.h:22 +msgid "The first selected transmits to all others" +msgstr "" + +#: ../share/extensions/web-transmit-att.inx.h:25 +msgid "" +"This effect transmits one or more attributes from the first selected element " +"to the second when an event occurs." +msgstr "" + +#: ../share/extensions/web-transmit-att.inx.h:26 +msgid "" +"If you want to transmit more than one attribute, you should separate this " +"with a space, and only with a space." +msgstr "" + #: ../share/extensions/webslicer_create_group.inx.h:1 msgid "Set a layout group" msgstr "" @@ -32958,42 +33165,6 @@ msgid "" "configured and saved to one directory." msgstr "" -#: ../share/extensions/web-transmit-att.inx.h:1 -msgid "Transmit Attributes" -msgstr "" - -#: ../share/extensions/web-transmit-att.inx.h:3 -msgid "Attribute to transmit:" -msgstr "" - -#: ../share/extensions/web-transmit-att.inx.h:4 -msgid "When to transmit:" -msgstr "" - -#: ../share/extensions/web-transmit-att.inx.h:6 -msgid "Source and destination of transmitting:" -msgstr "" - -#: ../share/extensions/web-transmit-att.inx.h:21 -msgid "All selected ones transmit to the last one" -msgstr "" - -#: ../share/extensions/web-transmit-att.inx.h:22 -msgid "The first selected transmits to all others" -msgstr "" - -#: ../share/extensions/web-transmit-att.inx.h:25 -msgid "" -"This effect transmits one or more attributes from the first selected element " -"to the second when an event occurs." -msgstr "" - -#: ../share/extensions/web-transmit-att.inx.h:26 -msgid "" -"If you want to transmit more than one attribute, you should separate this " -"with a space, and only with a space." -msgstr "" - #: ../share/extensions/whirl.inx.h:1 msgid "Whirl" msgstr "" -- cgit v1.2.3 From 4ee20736b036d231f0a87a825967ad4ed6ee0aa0 Mon Sep 17 00:00:00 2001 From: Martin Owens Date: Wed, 8 Jan 2014 11:01:45 -0500 Subject: Language pseudo class should be case-insenstivie Fixed bugs: - https://launchpad.net/bugs/1267118 (bzr r12887) --- src/libcroco/cr-sel-eng.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/libcroco/cr-sel-eng.c b/src/libcroco/cr-sel-eng.c index 5bc58a96c..77bf5b177 100644 --- a/src/libcroco/cr-sel-eng.c +++ b/src/libcroco/cr-sel-eng.c @@ -150,9 +150,7 @@ lang_pseudo_class_handler (CRSelEng *const a_this, for (; node; node = get_next_parent_element_node (node_iface, node)) { char *val = node_iface->getProp (node, "lang"); if (val) { - if (!strqcmp (val, - a_sel->content.pseudo->extra->stryng->str, - a_sel->content.pseudo->extra->stryng->len)) { + if (!strcasecmp(val, a_sel->content.pseudo->extra->stryng->str)) { result = TRUE; break; } -- cgit v1.2.3 From dbb015d16d99e2a455dadb0262a19355bcfd69d6 Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Wed, 8 Jan 2014 18:54:22 +0100 Subject: fix bug (and add parens so we don't rely on operator precedence) (bzr r12888) --- src/display/snap-indicator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/display/snap-indicator.cpp b/src/display/snap-indicator.cpp index f21b6c81c..627bfb2ab 100644 --- a/src/display/snap-indicator.cpp +++ b/src/display/snap-indicator.cpp @@ -262,7 +262,7 @@ SnapIndicator::set_new_snaptarget(Inkscape::SnappedPoint const &p, bool pre_snap // Display the tooltip, which reveals the type of snap source and the type of snap target gchar *tooltip_str = NULL; - if (p.getSource() != SNAPSOURCE_GRID_PITCH && p.getTarget() != SNAPSOURCE_UNDEFINED) { + if ( (p.getSource() != SNAPSOURCE_GRID_PITCH) && (p.getTarget() != SNAPTARGET_UNDEFINED) ) { tooltip_str = g_strconcat(source_name, _(" to "), target_name, NULL); } else if (p.getSource() != SNAPSOURCE_UNDEFINED) { tooltip_str = g_strdup(source_name); -- cgit v1.2.3 From ff715dd493c9bef771513c5384809c6ce00d1efe Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Wed, 8 Jan 2014 20:35:36 +0100 Subject: glyph drawing: improve code (bzr r12889) --- src/display/drawing-text.cpp | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/src/display/drawing-text.cpp b/src/display/drawing-text.cpp index f37f4d3c4..f652a2970 100644 --- a/src/display/drawing-text.cpp +++ b/src/display/drawing-text.cpp @@ -67,13 +67,11 @@ unsigned DrawingGlyphs::_updateItem(Geom::IntRect const &/*area*/, UpdateContext _pick_bbox = Geom::IntRect(); _bbox = Geom::IntRect(); - Geom::OptRect b; - /* orignally it did the one line below, but it did not handle ws characters at all, and it had problems with scaling for overline/underline. Replaced with the section below, which seems to be much more stable. - b = bounds_exact_transformed(*_font->PathVector(_glyph), ctx.ctm); + Geom::OptRect b = bounds_exact_transformed(*_font->PathVector(_glyph), ctx.ctm); */ /* Make a bounding box that is a little taller and lower (currently 10% extra) than the font's drawing box. Extra space is to hold overline or underline, if present. All characters in a font use the same ascent and descent, @@ -81,37 +79,37 @@ unsigned DrawingGlyphs::_updateItem(Geom::IntRect const &/*area*/, UpdateContext the bounding box is limited to the box surrounding the drawn parts of visible glyphs only, and draws outside are ignored. */ - float scale = 1.0; - if(_transform){ scale /= _transform->descrim(); } - - Geom::Rect bigbox(Geom::Point(0.0, _asc*scale*1.1),Geom::Point(_width*scale, -_dsc*scale*1.1)); - b = bigbox * ctx.ctm; + float scale_bigbox = 1.0; + if (_transform) { + scale_bigbox /= _transform->descrim(); + } - if (b && (ggroup->_nrstyle.stroke.type != NRStyle::PAINT_NONE)) { - float width, scale; + Geom::Rect bigbox(Geom::Point(0.0, _asc*scale_bigbox*1.1),Geom::Point(_width*scale_bigbox, -_dsc*scale_bigbox*1.1)); + Geom::Rect b = bigbox * ctx.ctm; + if (ggroup->_nrstyle.stroke.type != NRStyle::PAINT_NONE) { // this expands the selection box for cases where the stroke is "thick" - scale = ctx.ctm.descrim(); + float scale = ctx.ctm.descrim(); if (_transform) { scale /= _transform->descrim(); // FIXME temporary hack } - width = MAX(0.125, ggroup->_nrstyle.stroke_width * scale); + float width = MAX(0.125, ggroup->_nrstyle.stroke_width * scale); if ( fabs(ggroup->_nrstyle.stroke_width * scale) > 0.01 ) { // FIXME: this is always true - b->expandBy(0.5 * width); + b.expandBy(0.5 * width); } // save bbox without miters for picking - _pick_bbox = b->roundOutwards(); + _pick_bbox = b.roundOutwards(); float miterMax = width * ggroup->_nrstyle.miter_limit; if ( miterMax > 0.01 ) { // grunt mode. we should compute the various miters instead // (one for each point on the curve) - b->expandBy(miterMax); + b.expandBy(miterMax); } - _bbox = b->roundOutwards(); - } else if (b) { - _bbox = b->roundOutwards(); + _bbox = b.roundOutwards(); + } else { + _bbox = b.roundOutwards(); _pick_bbox = *_bbox; } /* -- cgit v1.2.3 From aca448b6fe669666c3528ea1834b4b552dd3f22f Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Wed, 8 Jan 2014 21:29:39 +0100 Subject: fix "set but ununused" warning (bzr r12890) --- src/livarot/ShapeRaster.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/livarot/ShapeRaster.cpp b/src/livarot/ShapeRaster.cpp index 4c5bdc1ac..2b35c9666 100644 --- a/src/livarot/ShapeRaster.cpp +++ b/src/livarot/ShapeRaster.cpp @@ -1241,8 +1241,8 @@ void Shape::QuickScan(float &pos, int &curP, float to, FloatLigne* line, float s if ( nbQRas > 1 ) { int curW = 0; - float lastX = 0; - float lastY = 0; + // float lastX = 0; + // float lastY = 0; int lastGuess = -1; int lastB = -1; @@ -1270,8 +1270,8 @@ void Shape::QuickScan(float &pos, int &curP, float to, FloatLigne* line, float s } else if ( curW%2 != 0 && oW%2 == 0 ) { - lastX = swrData[cb].curX; - lastY = swrData[cb].curY; + // lastX = swrData[cb].curX; + // lastY = swrData[cb].curY; lastB = cb; swrData[cb].guess = -1; -- cgit v1.2.3 From 68c1ef5d80c60fcca9364b551067773d5375774f Mon Sep 17 00:00:00 2001 From: Martin Owens Date: Wed, 8 Jan 2014 15:43:58 -0500 Subject: Make damn sure the item hasn't been deleted before adding it. Fixed bugs: - https://launchpad.net/bugs/168695 (bzr r12891) --- src/ui/tools/select-tool.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ui/tools/select-tool.cpp b/src/ui/tools/select-tool.cpp index 498882417..94f700ebb 100644 --- a/src/ui/tools/select-tool.cpp +++ b/src/ui/tools/select-tool.cpp @@ -692,7 +692,8 @@ bool SelectTool::root_handler(GdkEvent* event) { } } else { // simple or shift click, no previous selection _seltrans->resetState(); - selection->set(this->item); + if(this->item && this->item->document) + selection->set(this->item); } } -- cgit v1.2.3 From 491555339ce6b2f699d89f1bb3a6651d57a5d6cb Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Wed, 8 Jan 2014 21:50:21 +0100 Subject: warning cleanup (bzr r12892) --- src/sp-string.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sp-string.cpp b/src/sp-string.cpp index be450b248..08755a5fc 100644 --- a/src/sp-string.cpp +++ b/src/sp-string.cpp @@ -108,7 +108,7 @@ void SPString::read_content() { object->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); } -void SPString::update(SPCtx *ctx, unsigned flags) { +void SPString::update(SPCtx * /*ctx*/, unsigned /*flags*/) { // SPObject::onUpdate(ctx, flags); // if (flags & (SP_OBJECT_STYLE_MODIFIED_FLAG | SP_OBJECT_MODIFIED_FLAG)) { -- cgit v1.2.3 From 0ae7da361c98ca8a2119a933c543a76970f2dbef Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Wed, 8 Jan 2014 21:52:42 +0100 Subject: Prevent infinite loop with bad input. (bzr r12893) --- src/helper-fns.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/helper-fns.h b/src/helper-fns.h index 95de4a1b0..699fbbe11 100644 --- a/src/helper-fns.h +++ b/src/helper-fns.h @@ -107,6 +107,7 @@ inline std::vector helperfns_read_vector(const gchar* value){ // We could leave this out, too. If strtod can't convert // anything, it will return zero. ret = 0; + break; } v.push_back(ret); -- cgit v1.2.3 From 4f797dec1d4a48a21509ae83562f5521467bc6ac Mon Sep 17 00:00:00 2001 From: Martin Owens Date: Wed, 8 Jan 2014 15:57:01 -0500 Subject: Change my mind on the solution to the bug, protect all selection additions. Fixed bugs: - https://launchpad.net/bugs/168695 (bzr r12894) --- src/selection.cpp | 1 + src/ui/tools/select-tool.cpp | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/selection.cpp b/src/selection.cpp index 7c696daf0..17b7253f2 100644 --- a/src/selection.cpp +++ b/src/selection.cpp @@ -154,6 +154,7 @@ bool Selection::includes(SPObject *obj) const { void Selection::add(SPObject *obj, bool persist_selection_context/* = false */) { g_return_if_fail(obj != NULL); g_return_if_fail(SP_IS_OBJECT(obj)); + g_return_if_fail(obj->document != NULL); if (includes(obj)) { return; diff --git a/src/ui/tools/select-tool.cpp b/src/ui/tools/select-tool.cpp index 94f700ebb..498882417 100644 --- a/src/ui/tools/select-tool.cpp +++ b/src/ui/tools/select-tool.cpp @@ -692,8 +692,7 @@ bool SelectTool::root_handler(GdkEvent* event) { } } else { // simple or shift click, no previous selection _seltrans->resetState(); - if(this->item && this->item->document) - selection->set(this->item); + selection->set(this->item); } } -- cgit v1.2.3 From bd7ce1e72dae8f5c93e7845dd4b81524ef3db9a5 Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Wed, 8 Jan 2014 21:57:27 +0100 Subject: small code clarification, doesn't change anything, but makes intent more clear (bzr r12895) --- src/ui/widget/selected-style.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/widget/selected-style.cpp b/src/ui/widget/selected-style.cpp index aa617353c..d29554c41 100644 --- a/src/ui/widget/selected-style.cpp +++ b/src/ui/widget/selected-style.cpp @@ -107,7 +107,7 @@ typedef enum { // pointers/types used need to be read-only. So until we correct the using // code, those warnings are actually desired. They say "Hey! Fix this". We // definitely don't want to hide/ignore them. --JonCruz -static GtkTargetEntry ui_drop_target_entries [] = { +static const GtkTargetEntry ui_drop_target_entries [] = { {"application/x-color", 0, APP_X_COLOR} }; -- cgit v1.2.3 From 0adad6cc5da5e601747f3311485532a342d4a164 Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Wed, 8 Jan 2014 22:04:22 +0100 Subject: fix warning, update comments (bzr r12896) --- src/helper/geom.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/helper/geom.cpp b/src/helper/geom.cpp index df0e4fcf2..c9148a634 100644 --- a/src/helper/geom.cpp +++ b/src/helper/geom.cpp @@ -495,13 +495,13 @@ pathv_to_linear_and_cubic_beziers( Geom::PathVector const &pathv ) /* * Converts all segments in all paths to Geom::LineSegment. There is an intermediate * stage where some may be converted to beziers. maxdisp is the maximum displacement from - * the line segment to the bezier curve. + * the line segment to the bezier curve; ** maxdisp is not used at this moment **. * * This is NOT a terribly fast method, but it should give a solution close to the one with the * fewest points. */ Geom::PathVector -pathv_to_linear( Geom::PathVector const &pathv, double maxdisp) +pathv_to_linear( Geom::PathVector const &pathv, double /*maxdisp*/) { Geom::PathVector output; Geom::PathVector tmppath = pathv_to_linear_and_cubic_beziers(pathv); @@ -536,12 +536,11 @@ pathv_to_linear( Geom::PathVector const &pathv, double maxdisp) pointlist, 0); pointlist.push_back(D); - Geom::Point r0; Geom::Point r1 = pointlist[0]; for (unsigned int i=1; i Date: Wed, 8 Jan 2014 22:06:32 +0100 Subject: fix warnings (bzr r12897) --- src/extension/internal/wmf-inout.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/extension/internal/wmf-inout.cpp b/src/extension/internal/wmf-inout.cpp index 3f37e4402..870e4061c 100644 --- a/src/extension/internal/wmf-inout.cpp +++ b/src/extension/internal/wmf-inout.cpp @@ -321,7 +321,7 @@ Wmf::save(Inkscape::Extension::Output *mod, SPDocument *doc, gchar const *filena /* WMF has no worldTransform, so this always returns 1.0. Retain it to keep WMF and WMF in sync as much as possible.*/ -double Wmf::current_scale(PWMF_CALLBACK_DATA d){ +double Wmf::current_scale(PWMF_CALLBACK_DATA /*d*/){ return 1.0; } @@ -341,7 +341,7 @@ std::string Wmf::current_matrix(PWMF_CALLBACK_DATA d, double x, double y, int us } /* WMF has no worldTransform, so this always returns 0. Retain it to keep WMF and WMF in sync as much as possible.*/ -double Wmf::current_rotation(PWMF_CALLBACK_DATA d){ +double Wmf::current_rotation(PWMF_CALLBACK_DATA /*d*/){ return 0.0; } @@ -1025,7 +1025,7 @@ Wmf::_pix_y_to_point(PWMF_CALLBACK_DATA d, double py) double -Wmf::pix_to_x_point(PWMF_CALLBACK_DATA d, double px, double py) +Wmf::pix_to_x_point(PWMF_CALLBACK_DATA d, double px, double /*py*/) { double x = _pix_x_to_point(d, px); @@ -1033,7 +1033,7 @@ Wmf::pix_to_x_point(PWMF_CALLBACK_DATA d, double px, double py) } double -Wmf::pix_to_y_point(PWMF_CALLBACK_DATA d, double px, double py) +Wmf::pix_to_y_point(PWMF_CALLBACK_DATA d, double /*px*/, double py) { double y = _pix_y_to_point(d, py); -- cgit v1.2.3 From eac5f8d4970e2087a3cd3eb1fa921df5fb08114e Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Wed, 8 Jan 2014 22:07:58 +0100 Subject: comment-out unused code (bzr r12898) --- src/dom/ucd.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/dom/ucd.cpp b/src/dom/ucd.cpp index f9c36ad19..f74af3956 100644 --- a/src/dom/ucd.cpp +++ b/src/dom/ucd.cpp @@ -2308,6 +2308,8 @@ typedef struct int map[3]; } CaseMapEntry; +/* + static CaseMapEntry caseMap[] = { { 0x1fc2, 2, { 0xffff, 0x0159 } }, @@ -2426,7 +2428,7 @@ static CaseMapEntry caseMap[] = }; - +*/ -- cgit v1.2.3 From 964833fe5836e90e821012542419963e448c7ca7 Mon Sep 17 00:00:00 2001 From: Martin Owens Date: Wed, 8 Jan 2014 16:29:51 -0500 Subject: Add id switch to unsymbol to stop clones from being deleted. Fixed bugs: - https://launchpad.net/bugs/1192023 (bzr r12899) --- src/selection-chemistry.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp index aa8c1d222..f9649d62f 100644 --- a/src/selection-chemistry.cpp +++ b/src/selection-chemistry.cpp @@ -3072,8 +3072,9 @@ void sp_selection_unsymbol(SPDesktop *desktop) // Need to delete ; all other elements that referenced should // auto-magically reference . - symbol->deleteObject(true); + symbol->setAttribute("id","todelete"); group->setAttribute("id",id.c_str()); // After we delete symbol with same id. + symbol->deleteObject(true); parent->getRepr()->appendChild(group); SPItem *group_item = static_cast(sp_desktop_document(desktop)->getObjectByRepr(group)); -- cgit v1.2.3 From 4aaff709f6ceebac5903502da1ff55be55871cdc Mon Sep 17 00:00:00 2001 From: Martin Owens Date: Wed, 8 Jan 2014 16:54:06 -0500 Subject: Rebuild symbols collection if opening or closing documents. (bzr r12900) --- src/ui/dialog/symbols.cpp | 9 +++++++++ src/ui/dialog/symbols.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/ui/dialog/symbols.cpp b/src/ui/dialog/symbols.cpp index 6427eb9cc..f5d275c90 100644 --- a/src/ui/dialog/symbols.cpp +++ b/src/ui/dialog/symbols.cpp @@ -271,6 +271,10 @@ SymbolsDialog::SymbolsDialog( gchar const* prefsPath ) : sigc::mem_fun(*this, &SymbolsDialog::selectionChanged)); instanceConns.push_back(selectionChangedConn); + sigc::connection documentReplacedConn = currentDesktop->connectDocumentReplaced( + sigc::mem_fun(*this, &SymbolsDialog::documentReplaced)); + instanceConns.push_back(documentReplacedConn); + get_symbols(); draw_symbols( currentDocument ); /* Defaults to current document */ @@ -378,6 +382,11 @@ void SymbolsDialog::selectionChanged(Inkscape::Selection *selection) { } } +void SymbolsDialog::documentReplaced(SPDesktop *desktop, SPDocument *document) +{ + rebuild(); +} + SPDocument* SymbolsDialog::selectedSymbols() { /* OK, we know symbol name... now we need to copy it to clipboard, bon chance! */ Glib::ustring symbolSetString = symbolSet->get_active_text(); diff --git a/src/ui/dialog/symbols.h b/src/ui/dialog/symbols.h index 54b1a3ab0..074af6764 100644 --- a/src/ui/dialog/symbols.h +++ b/src/ui/dialog/symbols.h @@ -72,6 +72,7 @@ private: void revertSymbol(); void defsModified(SPObject *object, guint flags); void selectionChanged(Inkscape::Selection *selection); + void documentReplaced(SPDesktop *desktop, SPDocument *document); SPDocument* selectedSymbols(); Glib::ustring selectedSymbolId(); void iconChanged(); -- cgit v1.2.3 From fce7ccf7030326652921aa230aff7e995a5306f2 Mon Sep 17 00:00:00 2001 From: Kris De Gussem Date: Thu, 9 Jan 2014 00:47:21 +0100 Subject: suppress compiler warnings (bzr r12901) --- src/ui/dialog/symbols.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/dialog/symbols.cpp b/src/ui/dialog/symbols.cpp index f5d275c90..fb353fec1 100644 --- a/src/ui/dialog/symbols.cpp +++ b/src/ui/dialog/symbols.cpp @@ -382,7 +382,7 @@ void SymbolsDialog::selectionChanged(Inkscape::Selection *selection) { } } -void SymbolsDialog::documentReplaced(SPDesktop *desktop, SPDocument *document) +void SymbolsDialog::documentReplaced(SPDesktop */*desktop*/, SPDocument */*document*/) { rebuild(); } -- cgit v1.2.3 From 04a1254e7a88d0bb7e2fd5f68779d086bf93e4b3 Mon Sep 17 00:00:00 2001 From: Kris De Gussem Date: Thu, 9 Jan 2014 00:52:26 +0100 Subject: add null check: should fix bug #1163241 (inkscape crashed with SIGSEGV in Inkscape::Preferences::_getNode()) (bzr r12902) --- src/preferences.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/preferences.cpp b/src/preferences.cpp index 0dcebbb90..b4b873dc8 100644 --- a/src/preferences.cpp +++ b/src/preferences.cpp @@ -668,6 +668,9 @@ Inkscape::XML::Node *Preferences::_getNode(Glib::ustring const &pref_key, bool c // No longer necessary, can cause problems with input devices which have a dot in the name // g_assert( pref_key.find('.') == Glib::ustring::npos ); + if (_prefs_doc == NULL){ + return NULL; + } Inkscape::XML::Node *node = _prefs_doc->root(); Inkscape::XML::Node *child = NULL; gchar **splits = g_strsplit(pref_key.c_str(), "/", 0); -- cgit v1.2.3 From a24ee5c086e294133abe65bd7fab9cd22ad4d5a5 Mon Sep 17 00:00:00 2001 From: Kris De Gussem Date: Thu, 9 Jan 2014 08:09:43 +0100 Subject: null check: fix regression Bug #1258815 (crash after using Edit nodes icon twice (rev >= 12730)) (bzr r12903) --- src/widgets/node-toolbar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/node-toolbar.cpp b/src/widgets/node-toolbar.cpp index 6a0968424..a4ea52287 100644 --- a/src/widgets/node-toolbar.cpp +++ b/src/widgets/node-toolbar.cpp @@ -244,7 +244,7 @@ static void sp_node_toolbox_coord_changed(gpointer /*shape_editor*/, GObject *tb Unit const *unit = tracker->getActiveUnit(); NodeTool *nt = get_node_tool(); - if (!nt || nt->_selected_nodes->empty()) { + if (!nt || !(nt->_selected_nodes) ||nt->_selected_nodes->empty()) { // no path selected gtk_action_set_sensitive(xact, FALSE); gtk_action_set_sensitive(yact, FALSE); -- cgit v1.2.3 From 8ca92d6dc9627620a6ab6aed17cbc60e76211c11 Mon Sep 17 00:00:00 2001 From: Nicolas Dufour Date: Thu, 9 Jan 2014 15:56:08 +0100 Subject: Fix for bug #1266113 (xcf export only allows 90 dpi). Fixed bugs: - https://launchpad.net/bugs/1266113 (bzr r12904) --- share/extensions/gimp_xcf.inx | 2 ++ share/extensions/gimp_xcf.py | 11 +++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/share/extensions/gimp_xcf.inx b/share/extensions/gimp_xcf.inx index 1f5f65949..10bcef627 100644 --- a/share/extensions/gimp_xcf.inx +++ b/share/extensions/gimp_xcf.inx @@ -11,12 +11,14 @@ false false false + 90 <_param name="instructions" type="description" xml:space="preserve">This extension exports the document to Gimp XCF format according to the following options: * Save Guides: convert all guides to Gimp guides. * Save Grid: convert the first rectangular grid to a Gimp grid (note that the default Inkscape grid is very narrow when shown in Gimp). * Save Background: add the document background to each converted layer. + * File Resolution: XCF file resolution, in DPI. Each first level layer is converted to a Gimp layer. Sublayers are concatenated and converted with their first level parent layer into a single Gimp layer. diff --git a/share/extensions/gimp_xcf.py b/share/extensions/gimp_xcf.py index 35d0bbd4c..c2a8cb274 100755 --- a/share/extensions/gimp_xcf.py +++ b/share/extensions/gimp_xcf.py @@ -61,6 +61,10 @@ class MyEffect(inkex.Effect): action="store", type="inkbool", dest="layerBackground", default=False, help="Add background color to each layer") + self.OptionParser.add_option("-i", "--dpi", + action="store", type="string", + dest="resolution", default="90", + help="File resolution") def output(self): pass @@ -132,6 +136,8 @@ class MyEffect(inkex.Effect): # Layers area = '--export-area-page' opacity = '--export-background-opacity=' + resolution = '--export-dpi=' + self.options.resolution + if self.options.layerBackground: opacity += "1" else: @@ -149,7 +155,7 @@ class MyEffect(inkex.Effect): else: name = id filename = os.path.join(self.tmp_dir, "%s.png" % id) - command = "inkscape -i \"%s\" -j %s %s -e \"%s\" %s " % (id, area, opacity, filename, svg_file) + command = "inkscape -i \"%s\" -j %s %s -e \"%s\" %s %s" % (id, area, opacity, filename, svg_file, resolution) p = Popen(command, shell=True, stdin=PIPE, stdout=PIPE, stderr=PIPE) return_code = p.wait() @@ -193,6 +199,7 @@ class MyEffect(inkex.Effect): ( (img (car (gimp-image-new 200 200 RGB))) ) + (gimp-image-set-resolution img %s %s) (gimp-image-undo-disable img) (for-each (lambda (names) @@ -223,7 +230,7 @@ class MyEffect(inkex.Effect): (gimp-image-undo-enable img) (gimp-file-save RUN-NONINTERACTIVE img (car (gimp-image-get-active-layer img)) "%s" "%s")) (gimp-quit 0) - """ % (filelist, namelist, hGList, vGList, gridSpacingFunc, gridOriginFunc, xcf, xcf) + """ % (self.options.resolution, self.options.resolution, filelist, namelist, hGList, vGList, gridSpacingFunc, gridOriginFunc, xcf, xcf) junk = os.path.join(self.tmp_dir, 'junk_from_gimp.txt') command = 'gimp -i --batch-interpreter plug-in-script-fu-eval -b - > %s 2>&1' % junk -- cgit v1.2.3