From b24b02a0474d6bdaba2e5a77fe91e285217abccd Mon Sep 17 00:00:00 2001 From: Adrian Boguszewski Date: Sun, 15 May 2016 21:47:09 +0200 Subject: Added normalized path to flowtext Fixed bugs: - https://launchpad.net/bugs/1555152 (bzr r14889) --- src/sp-flowtext.h | 5 +++++ src/splivarot.cpp | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/sp-flowtext.h b/src/sp-flowtext.h index 9e6046469..9ee676893 100644 --- a/src/sp-flowtext.h +++ b/src/sp-flowtext.h @@ -49,6 +49,11 @@ public: bool _optimizeScaledText; + /** Converts the text object to its component curves */ + SPCurve *getNormalizedBpath() const { + return layout.convertToCurves(); + } + /** Optimize scaled flow text on next set_transform. */ void optimizeScaledText() {_optimizeScaledText = true;} diff --git a/src/splivarot.cpp b/src/splivarot.cpp index c37df151c..1bc6da3e1 100644 --- a/src/splivarot.cpp +++ b/src/splivarot.cpp @@ -1776,11 +1776,14 @@ sp_selected_path_do_offset(SPDesktop *desktop, bool expand, double prefOffset) SPItem *item = *l; SPCurve *curve = NULL; - if (!SP_IS_SHAPE(item) && !SP_IS_TEXT(item)) + if (!SP_IS_SHAPE(item) && !SP_IS_TEXT(item) && !SP_IS_FLOWTEXT(item)) continue; else if (SP_IS_SHAPE(item)) { curve = SP_SHAPE(item)->getCurve(); } + else if (SP_IS_FLOWTEXT(item)) { + curve = SP_FLOWTEXT(item)->getNormalizedBpath(); + } else { // Item must be SP_TEXT curve = SP_TEXT(item)->getNormalizedBpath(); } -- cgit v1.2.3 From fa0599a0d660f2eadfb563d16750dafdbfdb584d Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Sun, 15 May 2016 22:14:30 +0200 Subject: GTK3: Give names to many widgets. Useful for debugging and for using CSS. (bzr r14890) --- src/ui/widget/dock.cpp | 1 + src/widgets/desktop-widget.cpp | 39 +++++++++++++++++++++++++++++---------- src/widgets/toolbox.cpp | 5 +++++ 3 files changed, 35 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/ui/widget/dock.cpp b/src/ui/widget/dock.cpp index c5e14d4f0..fda647182 100644 --- a/src/ui/widget/dock.cpp +++ b/src/ui/widget/dock.cpp @@ -56,6 +56,7 @@ Dock::Dock(Gtk::Orientation orientation) #endif _scrolled_window (Gtk::manage(new Gtk::ScrolledWindow)) { + _scrolled_window->set_name("Dock"); #if WITH_GDL_3_6 gtk_orientable_set_orientation(GTK_ORIENTABLE(_gdl_dock_bar), static_cast(orientation)); diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 1a4fcccf4..4bd32daca 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -346,6 +346,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) /* Main table */ #if GTK_CHECK_VERSION(3,0,0) dtw->vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); + gtk_widget_set_name(dtw->vbox, "DesktopMainTable"); #else dtw->vbox = gtk_vbox_new (FALSE, 0); #endif @@ -353,6 +354,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) #if GTK_CHECK_VERSION(3,0,0) dtw->statusbar = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); + gtk_widget_set_name(dtw->statusbar, "DesktopStatusBar"); #else dtw->statusbar = gtk_hbox_new (FALSE, 0); #endif @@ -364,7 +366,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) dtw->panels = new SwatchesPanel("/embedded/swatches" /*false*/); dtw->panels->setOrientation(SP_ANCHOR_SOUTH); - + dtw->panels->set_name("SwatchesPanel"); #if GTK_CHECK_VERSION(3,0,0) dtw->panels->set_vexpand(false); #endif @@ -374,6 +376,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) #if GTK_CHECK_VERSION(3,0,0) dtw->hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); + gtk_widget_set_name(dtw->hbox, "DesktopHbox"); #else dtw->hbox = gtk_hbox_new(FALSE, 0); #endif @@ -404,7 +407,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) Glib::RefPtr guides_lock_style_provider = Gtk::CssProvider::create(); guides_lock_style_provider->load_from_data("GtkWidget { padding-left: 0; padding-right: 0; padding-top: 0; padding-bottom: 0; }"); Gtk::Widget * wnd = Glib::wrap(dtw->guides_lock); - wnd->set_name("guides_lock"); + wnd->set_name("LockGuides"); Glib::RefPtr context = wnd->get_style_context(); context->add_provider(guides_lock_style_provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); #endif @@ -412,6 +415,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) /* Horizontal ruler */ GtkWidget *eventbox = gtk_event_box_new (); dtw->hruler = sp_ruler_new(GTK_ORIENTATION_HORIZONTAL); + gtk_widget_set_name(dtw->hruler, "HorizontalRuler"); dtw->hruler_box = eventbox; Inkscape::Util::Unit const *pt = unit_table.getUnit("pt"); sp_ruler_set_unit(SP_RULER(dtw->hruler), pt); @@ -422,13 +426,15 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) g_signal_connect (G_OBJECT (eventbox), "motion_notify_event", G_CALLBACK (sp_dt_hruler_event), dtw); #if GTK_CHECK_VERSION(3,0,0) - GtkWidget *tbl = gtk_grid_new(); + GtkWidget *tbl_wrapper = gtk_grid_new(); // Is this widget really needed? + gtk_widget_set_name(tbl_wrapper, "CanvasTableWrapper"); dtw->canvas_tbl = gtk_grid_new(); + gtk_widget_set_name(dtw->canvas_tbl, "CanvasTable"); gtk_grid_attach(GTK_GRID(dtw->canvas_tbl), dtw->guides_lock, 0, 0, 1, 1); gtk_grid_attach(GTK_GRID(dtw->canvas_tbl), eventbox, 1, 0, 1, 1); #else - GtkWidget *tbl = gtk_table_new(2, 3, FALSE); + GtkWidget *tbl_wrapper = gtk_table_new(2, 3, FALSE); dtw->canvas_tbl = gtk_table_new(3, 3, FALSE); gtk_table_attach(GTK_TABLE(dtw->canvas_tbl), @@ -443,11 +449,12 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) 0, 0); #endif g_signal_connect (G_OBJECT (dtw->guides_lock), "toggled", G_CALLBACK (sp_update_guides_lock), dtw); - gtk_box_pack_start( GTK_BOX(dtw->hbox), tbl, TRUE, TRUE, 1 ); + gtk_box_pack_start( GTK_BOX(dtw->hbox), tbl_wrapper, TRUE, TRUE, 1 ); /* Vertical ruler */ eventbox = gtk_event_box_new (); dtw->vruler = sp_ruler_new(GTK_ORIENTATION_VERTICAL); + gtk_widget_set_name(dtw->vruler, "VerticalRuler"); /* Vertical ruler */ dtw->vruler_box = eventbox; @@ -477,6 +484,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) #if GTK_CHECK_VERSION(3,0,0) dtw->hscrollbar = gtk_scrollbar_new(GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (dtw->hadj)); + gtk_widget_set_name(dtw->hscrollbar, "HorizontalScrollbar"); gtk_grid_attach(GTK_GRID(dtw->canvas_tbl), dtw->hscrollbar, 1, 2, 1, 1); dtw->vscrollbar_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); #else @@ -493,6 +501,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) NULL, INKSCAPE_ICON("zoom-original"), _("Zoom drawing if window size changes")); + gtk_widget_set_name(dtw->sticky_zoom, "StickyZoom"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dtw->sticky_zoom), prefs->getBool("/options/stickyzoom/value")); gtk_box_pack_start (GTK_BOX (dtw->vscrollbar_box), dtw->sticky_zoom, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (dtw->sticky_zoom), "toggled", G_CALLBACK (sp_dtw_sticky_zoom_toggled), dtw); @@ -502,6 +511,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) #if GTK_CHECK_VERSION(3,0,0) dtw->vscrollbar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT(dtw->vadj)); + gtk_widget_set_name(dtw->vscrollbar, "VerticalScrollbar"); #else dtw->vscrollbar = gtk_vscrollbar_new (GTK_ADJUSTMENT (dtw->vadj)); #endif @@ -529,6 +539,8 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) NULL, INKSCAPE_ICON("color-management"), tip ); + gtk_widget_set_name(dtw->cms_adjust, "CMS_Adjust"); + #if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2) { Glib::ustring current = prefs->getString("/options/displayprofile/uri"); @@ -608,9 +620,9 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) if (create_dock) { dtw->dock = new Inkscape::UI::Widget::Dock(); - #if WITH_GTKMM_3_0 Gtk::Paned *paned = new Gtk::Paned(); + paned->set_name("Canvas_and_Dock"); #else Gtk::HPaned *paned = new Gtk::HPaned(); #endif @@ -627,9 +639,9 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) #if GTK_CHECK_VERSION(3,0,0) gtk_widget_set_hexpand(GTK_WIDGET(paned->gobj()), TRUE); gtk_widget_set_vexpand(GTK_WIDGET(paned->gobj()), TRUE); - gtk_grid_attach(GTK_GRID(tbl), GTK_WIDGET (paned->gobj()), 1, 1, 1, 1); + gtk_grid_attach(GTK_GRID(tbl_wrapper), GTK_WIDGET (paned->gobj()), 1, 1, 1, 1); #else - gtk_table_attach (GTK_TABLE (tbl), GTK_WIDGET (paned->gobj()), 1, 2, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), + gtk_table_attach (GTK_TABLE (tbl_wrapper), GTK_WIDGET (paned->gobj()), 1, 2, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), 0, 0); #endif @@ -637,9 +649,9 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) #if GTK_CHECK_VERSION(3,0,0) gtk_widget_set_hexpand(GTK_WIDGET(dtw->canvas_tbl), TRUE); gtk_widget_set_vexpand(GTK_WIDGET(dtw->canvas_tbl), TRUE); - gtk_grid_attach(GTK_GRID(tbl), GTK_WIDGET (dtw->canvas_tbl), 1, 1, 1, 1); + gtk_grid_attach(GTK_GRID(tbl_wrapper), GTK_WIDGET (dtw->canvas_tbl), 1, 1, 1, 1); #else - gtk_table_attach (GTK_TABLE (tbl), GTK_WIDGET (dtw->canvas_tbl), 1, 2, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), + gtk_table_attach (GTK_TABLE (tbl_wrapper), GTK_WIDGET (dtw->canvas_tbl), 1, 2, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), 0, 0); #endif } @@ -661,10 +673,12 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) g_signal_connect (G_OBJECT (dtw->vadj), "value-changed", G_CALLBACK (sp_desktop_widget_adjustment_value_changed), dtw); GtkWidget *statusbar_tail=gtk_statusbar_new(); + gtk_widget_set_name(statusbar_tail, "StatusBarTail"); gtk_box_pack_end (GTK_BOX (dtw->statusbar), statusbar_tail, FALSE, FALSE, 0); // zoom status spinbutton dtw->zoom_status = gtk_spin_button_new_with_range (log(SP_DESKTOP_ZOOM_MIN)/log(2), log(SP_DESKTOP_ZOOM_MAX)/log(2), 0.1); + gtk_widget_set_name(dtw->zoom_status, "ZoomStatus"); gtk_widget_set_tooltip_text (dtw->zoom_status, _("Zoom")); gtk_widget_set_size_request (dtw->zoom_status, STATUS_ZOOM_WIDTH, -1); gtk_entry_set_width_chars (GTK_ENTRY (dtw->zoom_status), 6); @@ -681,6 +695,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) // cursor coordinates #if GTK_CHECK_VERSION(3,0,0) dtw->coord_status = gtk_grid_new(); + gtk_widget_set_name(dtw->coord_status, "CoordinateStatus"); gtk_grid_set_row_spacing(GTK_GRID(dtw->coord_status), 0); gtk_grid_set_column_spacing(GTK_GRID(dtw->coord_status), 2); GtkWidget* sep = gtk_separator_new(GTK_ORIENTATION_VERTICAL); @@ -721,6 +736,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) gtk_label_set_markup( GTK_LABEL(dtw->coord_status_y), " 0.00 " ); GtkWidget* label_z = gtk_label_new(_("Z:")); + gtk_widget_set_name(label_z, "ZLabel"); #if GTK_CHECK_VERSION(3,0,0) gtk_widget_set_halign(dtw->coord_status_x, GTK_ALIGN_END); @@ -762,6 +778,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) g_signal_connect( G_OBJECT(dtw->_tracker), "changed", G_CALLBACK(sp_dtw_color_profile_event), dtw ); dtw->select_status_eventbox = gtk_event_box_new (); + gtk_widget_set_name(dtw->select_status_eventbox, "SelectStatusEventBox"); dtw->select_status = gtk_label_new (NULL); gtk_label_set_ellipsize (GTK_LABEL(dtw->select_status), PANGO_ELLIPSIZE_END); @@ -1453,6 +1470,7 @@ bool SPDesktopWidget::showInfoDialog( Glib::ustring const &message ) GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s", message.c_str()); + gtk_widget_set_name(dialog, "InfoDialog"); gtk_window_set_title( GTK_WINDOW(dialog), _("Note:")); // probably want to take this as a parameter. gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); @@ -1765,6 +1783,7 @@ SPDesktopWidget* SPDesktopWidget::createInstance(SPNamedView *namedview) dtw->layer_selector->setDesktop(dtw->desktop); dtw->menubar = sp_ui_main_menubar (dtw->desktop); + gtk_widget_set_name(dtw->menubar, "MenuBar"); gtk_widget_show_all (dtw->menubar); gtk_box_pack_start (GTK_BOX (dtw->vbox), dtw->menubar, FALSE, FALSE, 0); diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp index 0697ff0fb..6c3997657 100644 --- a/src/widgets/toolbox.cpp +++ b/src/widgets/toolbox.cpp @@ -999,6 +999,7 @@ static GtkWidget* toolboxNewCommon( GtkWidget* tb, BarId id, GtkPositionType /*h gtk_widget_set_sensitive(tb, FALSE); GtkWidget *hb = gtk_event_box_new(); // A simple, neutral container. + gtk_widget_set_name(hb, "ToolboxCommon"); gtk_container_add(GTK_CONTAINER(hb), tb); gtk_widget_show(GTK_WIDGET(tb)); @@ -1016,6 +1017,7 @@ GtkWidget *ToolboxFactory::createToolToolbox() { #if GTK_CHECK_VERSION(3,0,0) GtkWidget *tb = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); + gtk_widget_set_name(tb, "ToolToolbox"); gtk_box_set_homogeneous(GTK_BOX(tb), FALSE); #else GtkWidget *tb = gtk_vbox_new(FALSE, 0); @@ -1028,6 +1030,7 @@ GtkWidget *ToolboxFactory::createAuxToolbox() { #if GTK_CHECK_VERSION(3,0,0) GtkWidget *tb = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); + gtk_widget_set_name(tb, "AuxToolbox"); gtk_box_set_homogeneous(GTK_BOX(tb), FALSE); #else GtkWidget *tb = gtk_vbox_new(FALSE, 0); @@ -1044,6 +1047,7 @@ GtkWidget *ToolboxFactory::createCommandsToolbox() { #if GTK_CHECK_VERSION(3,0,0) GtkWidget *tb = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); + gtk_widget_set_name(tb, "CommandsToolbox"); gtk_box_set_homogeneous(GTK_BOX(tb), FALSE); #else GtkWidget *tb = gtk_vbox_new(FALSE, 0); @@ -1056,6 +1060,7 @@ GtkWidget *ToolboxFactory::createSnapToolbox() { #if GTK_CHECK_VERSION(3,0,0) GtkWidget *tb = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); + gtk_widget_set_name(tb, "SnapToolbox"); gtk_box_set_homogeneous(GTK_BOX(tb), FALSE); #else GtkWidget *tb = gtk_vbox_new(FALSE, 0); -- cgit v1.2.3 From 1984f31c4efcc8be0cdd90a9eb7cc4882890f3cd Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Mon, 16 May 2016 12:35:28 +0200 Subject: GTK3: Fix compile for GTK3 versions less than 3.16. Try 2. (bzr r14891) --- src/main.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/main.cpp b/src/main.cpp index 4ce8ff145..07d970d59 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1065,28 +1065,39 @@ sp_main_gui(int argc, char const **argv) inkscape_style += "/style.css"; // std::cout << "CSS Stylesheet Inkscape: " << inkscape_style << std::endl; Glib::RefPtr provider = Gtk::CssProvider::create(); + + // From 3.16, throws an error which we must catch. try { provider->load_from_path (inkscape_style); } #if GTK_CHECK_VERSION(3,16,0) + // Gtk::CssProviderError not defined until 3.16. catch (const Gtk::CssProviderError& ex) { std::cerr << "CSSProviderError::load_from_path(): failed to load: " << inkscape_style << "\n (" << ex.what() << ")" << std::endl; } +#else + catch (...) + {} #endif + provider->load_from_path (inkscape_style); + Gtk::StyleContext::add_provider_for_screen (screen, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); Glib::ustring user_style = Inkscape::Application::profile_path("ui/style.css"); // std::cout << "CSS Stylesheet User: " << user_style << std::endl; Glib::RefPtr provider2 = Gtk::CssProvider::create(); + + // From 3.16, throws an error which we must catch. try { provider2->load_from_path (user_style); } -#if GTK_CHECK_VERSION(3,16,0) - catch (const Gtk::CssProviderError& ex) + catch (...) {} -#endif + provider2->load_from_path (user_style); + Gtk::StyleContext::add_provider_for_screen (screen, provider2, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + #endif gdk_event_handler_set((GdkEventFunc)snooper, NULL, NULL); -- cgit v1.2.3 From f93510e1fdca73da2e7755a5c2a40341e9355830 Mon Sep 17 00:00:00 2001 From: Nicolas Dufour Date: Mon, 16 May 2016 16:40:00 +0200 Subject: UI. Fixing typos in original strings. Translations. PO template update. (bzr r14894) --- src/live_effects/lpe-mirror_symmetry.cpp | 2 +- src/ui/dialog/inkscape-preferences.cpp | 4 ++-- src/widgets/eraser-toolbar.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/live_effects/lpe-mirror_symmetry.cpp b/src/live_effects/lpe-mirror_symmetry.cpp index 88fee4c47..9f3070ff4 100644 --- a/src/live_effects/lpe-mirror_symmetry.cpp +++ b/src/live_effects/lpe-mirror_symmetry.cpp @@ -72,7 +72,7 @@ LPEMirrorSymmetry::LPEMirrorSymmetry(LivePathEffectObject *lpeobject) : mode(_("Mode"), _("Symmetry move mode"), "mode", MTConverter, &wr, this, MT_FREE), discard_orig_path(_("Discard original path?"), _("Check this to only keep the mirrored part of the path"), "discard_orig_path", &wr, this, false), fuse_paths(_("Fuse paths"), _("Fuse original and the reflection into a single path"), "fuse_paths", &wr, this, false), - oposite_fuse(_("Oposite fuse"), _("Picks the other side of the mirror as the original"), "oposite_fuse", &wr, this, false), + oposite_fuse(_("Opposite fuse"), _("Picks the other side of the mirror as the original"), "oposite_fuse", &wr, this, false), start_point(_("Start mirror line"), _("Start mirror line"), "start_point", &wr, this, "Adjust the start of mirroring"), end_point(_("End mirror line"), _("End mirror line"), "end_point", &wr, this, "Adjust end of mirroring") { diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp index c7a168dee..30bbd95c9 100644 --- a/src/ui/dialog/inkscape-preferences.cpp +++ b/src/ui/dialog/inkscape-preferences.cpp @@ -210,8 +210,8 @@ void InkscapePreferences::AddBaseSimplifySpinbutton(DialogPage &p, Glib::ustring { PrefSpinButton* sb = Gtk::manage( new PrefSpinButton); sb->init ( prefs_path + "/base-simplify", 0.0, 100.0, 1.0, 10.0, def_value, false, false); - p.add_line( false, _("Base simplify:"), *sb, _("on dinamic LPE simplify"), - _("Base simplify of dinamic LPE based simplify"), + p.add_line( false, _("Base simplify:"), *sb, _("on dynamic LPE simplify"), + _("Base simplify of dynamic LPE based simplify"), false ); } diff --git a/src/widgets/eraser-toolbar.cpp b/src/widgets/eraser-toolbar.cpp index 45989936f..bb553f4e6 100644 --- a/src/widgets/eraser-toolbar.cpp +++ b/src/widgets/eraser-toolbar.cpp @@ -183,8 +183,8 @@ void sp_eraser_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GOb /* Overlap */ { InkToggleAction* act = ink_toggle_action_new( "EraserBreakAppart", - _("Break appart cutted items"), - _("Break appart cutted itemss"), + _("Break apart cut items"), + _("Break apart cut items"), INKSCAPE_ICON("distribute-randomize"), secondarySize ); gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/eraser/break_apart", false) ); -- cgit v1.2.3 From f7fb27e90abba4f8c0b033b88c5039dae9339b94 Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Tue, 17 May 2016 11:49:21 +0200 Subject: GTK3: Give names to more widgets. (bzr r14896) --- src/ui/widget/color-preview.cpp | 1 + src/ui/widget/layer-selector.cpp | 2 ++ src/ui/widget/selected-style.cpp | 1 + src/ui/widget/style-swatch.cpp | 2 ++ src/widgets/desktop-widget.cpp | 3 +++ src/widgets/toolbox.cpp | 4 +++- 6 files changed, 12 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/ui/widget/color-preview.cpp b/src/ui/widget/color-preview.cpp index 5bcd16528..62c7cca1d 100644 --- a/src/ui/widget/color-preview.cpp +++ b/src/ui/widget/color-preview.cpp @@ -23,6 +23,7 @@ ColorPreview::ColorPreview (guint32 rgba) { _rgba = rgba; set_has_window(false); + set_name("ColorPreview"); } void diff --git a/src/ui/widget/layer-selector.cpp b/src/ui/widget/layer-selector.cpp index 2a1fa352b..1a9ce617f 100644 --- a/src/ui/widget/layer-selector.cpp +++ b/src/ui/widget/layer-selector.cpp @@ -45,6 +45,7 @@ public: AlternateIcons(Inkscape::IconSize size, gchar const *a, gchar const *b) : _a(NULL), _b(NULL) { + set_name("AlternateIcons"); if (a) { _a = Gtk::manage(sp_icon_get_icon(a, size)); _a->set_no_show_all(true); @@ -94,6 +95,7 @@ private: LayerSelector::LayerSelector(SPDesktop *desktop) : _desktop(NULL), _layer(NULL) { + set_name("LayerSelector"); AlternateIcons *label; label = Gtk::manage(new AlternateIcons(Inkscape::ICON_SIZE_DECORATION, diff --git a/src/ui/widget/selected-style.cpp b/src/ui/widget/selected-style.cpp index 87cf0b8c4..f7fd63f51 100644 --- a/src/ui/widget/selected-style.cpp +++ b/src/ui/widget/selected-style.cpp @@ -155,6 +155,7 @@ SelectedStyle::SelectedStyle(bool /*layout*/) _unit_mis(NULL), _sw_unit(NULL) { + set_name("SelectedStyle"); _drop[0] = _drop[1] = 0; _dropEnabled[0] = _dropEnabled[1] = false; diff --git a/src/ui/widget/style-swatch.cpp b/src/ui/widget/style-swatch.cpp index fa8543c46..188be705d 100644 --- a/src/ui/widget/style-swatch.cpp +++ b/src/ui/widget/style-swatch.cpp @@ -124,6 +124,8 @@ StyleSwatch::StyleSwatch(SPCSSAttr *css, gchar const *main_tip) #endif _sw_unit(NULL) { + set_name("StyleSwatch"); + _label[SS_FILL].set_markup(_("Fill:")); _label[SS_STROKE].set_markup(_("Stroke:")); diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 4bd32daca..bae26f98c 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -793,6 +793,8 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) gtk_label_set_markup (GTK_LABEL (dtw->select_status), _("Welcome to Inkscape! Use shape or freehand tools to create objects; use selector (arrow) to move or transform them.")); // space label 2 pixels from left edge gtk_container_add (GTK_CONTAINER (dtw->select_status_eventbox), dtw->select_status); + +// WHAT DOES THE FOLLOWING GTK_BOX DO? #if GTK_CHECK_VERSION(3,0,0) gtk_box_pack_start(GTK_BOX(dtw->statusbar), gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0), @@ -800,6 +802,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) #else gtk_box_pack_start (GTK_BOX (dtw->statusbar), gtk_hbox_new(FALSE, 0), FALSE, FALSE, 2); #endif + gtk_box_pack_start (GTK_BOX (dtw->statusbar), dtw->select_status_eventbox, TRUE, TRUE, 0); gtk_widget_show_all (dtw->vbox); diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp index 6c3997657..f7b5e585f 100644 --- a/src/widgets/toolbox.cpp +++ b/src/widgets/toolbox.cpp @@ -1411,6 +1411,7 @@ void setup_aux_toolbox(GtkWidget *toolbox, SPDesktop *desktop) // converted to GtkActions and UIManager GtkWidget* kludge = gtk_toolbar_new(); + gtk_widget_set_name( kludge, "Kludge" ); g_object_set_data( G_OBJECT(kludge), "dtw", desktop->canvas); g_object_set_data( G_OBJECT(kludge), "desktop", desktop); dataHolders[aux_toolboxes[i].type_name] = kludge; @@ -1423,7 +1424,7 @@ void setup_aux_toolbox(GtkWidget *toolbox, SPDesktop *desktop) } else { sub_toolbox = aux_toolboxes[i].create_func(desktop); } - + gtk_widget_set_name( sub_toolbox, "SubToolBox" ); gtk_size_group_add_widget( grouper, sub_toolbox ); gtk_container_add(GTK_CONTAINER(toolbox), sub_toolbox); @@ -1441,6 +1442,7 @@ void setup_aux_toolbox(GtkWidget *toolbox, SPDesktop *desktop) #if GTK_CHECK_VERSION(3,0,0) GtkWidget* holder = gtk_grid_new(); + gtk_widget_set_name( holder, "ToolbarHolder" ); gtk_grid_attach( GTK_GRID(holder), kludge, 2, 0, 1, 1); #else GtkWidget* holder = gtk_table_new( 1, 3, FALSE ); -- cgit v1.2.3 From 742cc9ebed209c412c7ec315697a373d008320d3 Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Tue, 17 May 2016 13:22:07 +0200 Subject: GTK3: Fix error if default style.css file not found. Modified patch from houz. (bzr r14897) --- src/main.cpp | 82 ++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 49 insertions(+), 33 deletions(-) (limited to 'src') diff --git a/src/main.cpp b/src/main.cpp index 07d970d59..8cf52127b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -493,7 +493,7 @@ struct poptOption options[] = { POPT_ARG_NONE, &sp_vacuum_defs, SP_ARG_VACUUM_DEFS, N_("Remove unused definitions from the defs section(s) of the document"), NULL}, - + #ifdef WITH_DBUS {"dbus-listen", 0, POPT_ARG_NONE, &sp_dbus_listen, SP_ARG_DBUS_LISTEN, @@ -551,7 +551,7 @@ static void _win32_set_inkscape_env(gchar const *exe) gchar *perl = g_build_filename(exe, "python", NULL); gchar *pythonlib = g_build_filename(exe, "python", "Lib", NULL); gchar *pythondll = g_build_filename(exe, "python", "DLLs", NULL); - + // Python 2.x needs short paths in PYTHONPATH. // Otherwise it doesn't work when Inkscape is installed in Unicode directories. // g_win32_locale_filename_from_utf8 is the GLib wrapper for GetShortPathName. @@ -602,14 +602,14 @@ static void _win32_set_inkscape_env(gchar const *exe) g_free(perl); g_free(pythonlib); g_free(pythondll); - + g_free(python_s); g_free(pythonlib_s); g_free(pythondll_s); g_free(new_path); g_free(new_pythonpath); - + g_free(localepath); } #endif @@ -619,7 +619,7 @@ static void set_extensions_env() gchar const *pythonpath = g_getenv("PYTHONPATH"); gchar *extdir; gchar *new_pythonpath; - + #ifdef WIN32 extdir = g_win32_locale_filename_from_utf8(INKSCAPE_EXTENSIONDIR); #else @@ -905,7 +905,7 @@ static int sp_common_main( int argc, char const **argv, GSList **flDest ) if ( sp_global_printer ) sp_global_printer_utf8 = g_strdup( sp_global_printer ); } - + #ifdef WITH_DBUS // Before initializing extensions, we must set the DBus bus name if required if (sp_dbus_name != NULL) { @@ -1064,40 +1064,56 @@ sp_main_gui(int argc, char const **argv) Glib::ustring inkscape_style = INKSCAPE_UIDIR; inkscape_style += "/style.css"; // std::cout << "CSS Stylesheet Inkscape: " << inkscape_style << std::endl; - Glib::RefPtr provider = Gtk::CssProvider::create(); - // From 3.16, throws an error which we must catch. - try { - provider->load_from_path (inkscape_style); - } + if (g_file_test (inkscape_style.c_str(), G_FILE_TEST_EXISTS)) { + Glib::RefPtr provider = Gtk::CssProvider::create(); + + // From 3.16, throws an error which we must catch. + try { + provider->load_from_path (inkscape_style); + } #if GTK_CHECK_VERSION(3,16,0) - // Gtk::CssProviderError not defined until 3.16. - catch (const Gtk::CssProviderError& ex) - { - std::cerr << "CSSProviderError::load_from_path(): failed to load: " << inkscape_style << "\n (" << ex.what() << ")" << std::endl; - } + // Gtk::CssProviderError not defined until 3.16. + catch (const Gtk::CssProviderError& ex) + { + std::cerr << "CSSProviderError::load_from_path(): failed to load: " << inkscape_style + << "\n (" << ex.what() << ")" << std::endl; + } #else - catch (...) - {} + catch (...) + {} #endif - provider->load_from_path (inkscape_style); - Gtk::StyleContext::add_provider_for_screen (screen, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + Gtk::StyleContext::add_provider_for_screen (screen, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + } else { + std::cerr << "sp_main_gui: Cannot find default style file:\n (" << inkscape_style + << ")" << std::endl; + } Glib::ustring user_style = Inkscape::Application::profile_path("ui/style.css"); // std::cout << "CSS Stylesheet User: " << user_style << std::endl; - Glib::RefPtr provider2 = Gtk::CssProvider::create(); - // From 3.16, throws an error which we must catch. - try { - provider2->load_from_path (user_style); - } - catch (...) - {} - provider2->load_from_path (user_style); + if (g_file_test (user_style.c_str(), G_FILE_TEST_EXISTS)) { + Glib::RefPtr provider2 = Gtk::CssProvider::create(); - Gtk::StyleContext::add_provider_for_screen (screen, provider2, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + // From 3.16, throws an error which we must catch. + try { + provider2->load_from_path (user_style); + } +#if GTK_CHECK_VERSION(3,16,0) + // Gtk::CssProviderError not defined until 3.16. + catch (const Gtk::CssProviderError& ex) + { + std::cerr << "CSSProviderError::load_from_path(): failed to load: " << user_style + << "\n (" << ex.what() << ")" << std::endl; + } +#else + catch (...) + {} +#endif + Gtk::StyleContext::add_provider_for_screen (screen, provider2, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + } #endif gdk_event_handler_set((GdkEventFunc)snooper, NULL, NULL); @@ -1183,7 +1199,7 @@ static int sp_process_file_list(GSList *fl) if (sp_vacuum_defs) { doc->vacuumDocument(); } - + // Execute command-line actions (selections and verbs) using our local models bool has_performed_actions = Inkscape::CmdLineAction::doList(INKSCAPE.active_action_context()); @@ -1694,9 +1710,9 @@ static int sp_do_export_png(SPDocument *doc) g_print("Background RRGGBBAA: %08x\n", bgcolor); g_print("Area %g:%g:%g:%g exported to %lu x %lu pixels (%g dpi)\n", area[Geom::X][0], area[Geom::Y][0], area[Geom::X][1], area[Geom::Y][1], width, height, dpi); - + reverse(items.begin(),items.end()); - + if ((width >= 1) && (height >= 1) && (width <= PNG_UINT_31_MAX) && (height <= PNG_UINT_31_MAX)) { if( sp_export_png_file(doc, path.c_str(), area, width, height, dpi, dpi, bgcolor, NULL, NULL, true, sp_export_id_only ? items : std::vector()) == 1 ) { @@ -1866,7 +1882,7 @@ static int do_export_ps_pdf(SPDocument* doc, gchar const* uri, char const* mime) } /** - * Export a document to EMF or WMF + * Export a document to EMF or WMF * * \param doc Document to export. * \param uri URI to export to. -- cgit v1.2.3 From bf37c1d8ecb463130faf2e756dffff0f7efb868c Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Tue, 17 May 2016 21:21:49 +0200 Subject: Remove three unneeded widgets in desktop status bar. (bzr r14898) --- src/widgets/desktop-widget.cpp | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index bae26f98c..80e5fdb4f 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -672,10 +672,6 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) g_signal_connect (G_OBJECT (dtw->hadj), "value-changed", G_CALLBACK (sp_desktop_widget_adjustment_value_changed), dtw); g_signal_connect (G_OBJECT (dtw->vadj), "value-changed", G_CALLBACK (sp_desktop_widget_adjustment_value_changed), dtw); - GtkWidget *statusbar_tail=gtk_statusbar_new(); - gtk_widget_set_name(statusbar_tail, "StatusBarTail"); - gtk_box_pack_end (GTK_BOX (dtw->statusbar), statusbar_tail, FALSE, FALSE, 0); - // zoom status spinbutton dtw->zoom_status = gtk_spin_button_new_with_range (log(SP_DESKTOP_ZOOM_MIN)/log(2), log(SP_DESKTOP_ZOOM_MAX)/log(2), 0.1); gtk_widget_set_name(dtw->zoom_status, "ZoomStatus"); @@ -712,9 +708,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) GTK_FILL, GTK_FILL, 0, 0); #endif - eventbox = gtk_event_box_new (); - gtk_container_add (GTK_CONTAINER (eventbox), dtw->coord_status); - gtk_widget_set_tooltip_text (eventbox, _("Cursor coordinates")); + gtk_widget_set_tooltip_text (dtw->coord_status, _("Cursor coordinates")); GtkWidget *label_x = gtk_label_new(_("X:")); GtkWidget *label_y = gtk_label_new(_("Y:")); @@ -755,7 +749,8 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) #endif sp_set_font_size_smaller (dtw->coord_status); - gtk_box_pack_end (GTK_BOX (statusbar_tail), eventbox, FALSE, FALSE, 1); + + gtk_box_pack_end (GTK_BOX (dtw->statusbar), dtw->coord_status, FALSE, FALSE, 0); dtw->layer_selector = new Inkscape::Widgets::LayerSelector(NULL); // FIXME: need to unreference on container destruction to avoid leak @@ -794,15 +789,6 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) // space label 2 pixels from left edge gtk_container_add (GTK_CONTAINER (dtw->select_status_eventbox), dtw->select_status); -// WHAT DOES THE FOLLOWING GTK_BOX DO? -#if GTK_CHECK_VERSION(3,0,0) - gtk_box_pack_start(GTK_BOX(dtw->statusbar), - gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0), - FALSE, FALSE, 2); -#else - gtk_box_pack_start (GTK_BOX (dtw->statusbar), gtk_hbox_new(FALSE, 0), FALSE, FALSE, 2); -#endif - gtk_box_pack_start (GTK_BOX (dtw->statusbar), dtw->select_status_eventbox, TRUE, TRUE, 0); gtk_widget_show_all (dtw->vbox); -- cgit v1.2.3 From dcda41314bb620511d799e7cb633831f5ab18cab Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Wed, 18 May 2016 10:45:50 +0200 Subject: Remove unneeded widget in Status Bar. Reorder code. Use two lines for status message in Gtk3. (bzr r14900) --- src/widgets/desktop-widget.cpp | 79 +++++++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 35 deletions(-) (limited to 'src') diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 80e5fdb4f..c3e0ae372 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -249,7 +249,7 @@ SPDesktopWidget::setMessage (Inkscape::MessageType type, const gchar *message) gdk_window_process_updates(gtk_widget_get_window(GTK_WIDGET(sb)), TRUE); } - gtk_widget_set_tooltip_text (this->select_status_eventbox, gtk_label_get_text (sb)); + gtk_widget_set_tooltip_text (this->select_status, gtk_label_get_text (sb)); } Geom::Point @@ -479,9 +479,6 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) // Horizontal scrollbar dtw->hadj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, -4000.0, 4000.0, 10.0, 100.0, 4.0)); - - - #if GTK_CHECK_VERSION(3,0,0) dtw->hscrollbar = gtk_scrollbar_new(GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (dtw->hadj)); gtk_widget_set_name(dtw->hscrollbar, "HorizontalScrollbar"); @@ -656,10 +653,19 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) #endif } + // connect scrollbar signals + g_signal_connect (G_OBJECT (dtw->hadj), "value-changed", G_CALLBACK (sp_desktop_widget_adjustment_value_changed), dtw); + g_signal_connect (G_OBJECT (dtw->vadj), "value-changed", G_CALLBACK (sp_desktop_widget_adjustment_value_changed), dtw); + + + // --------------- Status Tool Bar ------------------// + + // Selected Style (Fill/Stroke/Opacity) dtw->selected_style = new Inkscape::UI::Widget::SelectedStyle(true); GtkHBox *ss_ = dtw->selected_style->gobj(); gtk_box_pack_start (GTK_BOX (dtw->statusbar), GTK_WIDGET(ss_), FALSE, FALSE, 0); + // Separator gtk_box_pack_start(GTK_BOX(dtw->statusbar), #if GTK_CHECK_VERSION(3,0,0) gtk_separator_new(GTK_ORIENTATION_VERTICAL), @@ -668,11 +674,37 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) #endif FALSE, FALSE, 0); - // connect scrollbar signals - g_signal_connect (G_OBJECT (dtw->hadj), "value-changed", G_CALLBACK (sp_desktop_widget_adjustment_value_changed), dtw); - g_signal_connect (G_OBJECT (dtw->vadj), "value-changed", G_CALLBACK (sp_desktop_widget_adjustment_value_changed), dtw); + // Layer Selector + dtw->layer_selector = new Inkscape::Widgets::LayerSelector(NULL); + // FIXME: need to unreference on container destruction to avoid leak + dtw->layer_selector->reference(); + //dtw->layer_selector->set_size_request(-1, SP_ICON_SIZE_BUTTON); + gtk_box_pack_start(GTK_BOX(dtw->statusbar), GTK_WIDGET(dtw->layer_selector->gobj()), FALSE, FALSE, 1); + + // Select Status + dtw->select_status = gtk_label_new (NULL); + gtk_widget_set_name( dtw->select_status, "SelectStatus"); + gtk_label_set_ellipsize (GTK_LABEL(dtw->select_status), PANGO_ELLIPSIZE_END); +#if GTK_CHECK_VERSION(3,10,0) + gtk_label_set_line_wrap (GTK_LABEL(dtw->select_status), true); + gtk_label_set_lines (GTK_LABEL(dtw->select_status), 2); +#endif + +#if GTK_CHECK_VERSION(3,0,0) + gtk_widget_set_halign(dtw->select_status, GTK_ALIGN_START); +#else + gtk_misc_set_alignment (GTK_MISC (dtw->select_status), 0.0, 0.5); +#endif + + gtk_widget_set_size_request (dtw->select_status, 1, -1); + + // Display the initial welcome message in the statusbar + gtk_label_set_markup (GTK_LABEL (dtw->select_status), _("Welcome to Inkscape! Use shape or freehand tools to create objects; use selector (arrow) to move or transform them.")); + + gtk_box_pack_start (GTK_BOX (dtw->statusbar), dtw->select_status, TRUE, TRUE, 0); + - // zoom status spinbutton + // Zoom status spinbutton dtw->zoom_status = gtk_spin_button_new_with_range (log(SP_DESKTOP_ZOOM_MIN)/log(2), log(SP_DESKTOP_ZOOM_MAX)/log(2), 0.1); gtk_widget_set_name(dtw->zoom_status, "ZoomStatus"); gtk_widget_set_tooltip_text (dtw->zoom_status, _("Zoom")); @@ -688,10 +720,10 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) dtw->zoom_update = g_signal_connect (G_OBJECT (dtw->zoom_status), "value_changed", G_CALLBACK (sp_dtw_zoom_value_changed), dtw); dtw->zoom_update = g_signal_connect (G_OBJECT (dtw->zoom_status), "populate_popup", G_CALLBACK (sp_dtw_zoom_populate_popup), dtw); - // cursor coordinates + // Cursor coordinates #if GTK_CHECK_VERSION(3,0,0) dtw->coord_status = gtk_grid_new(); - gtk_widget_set_name(dtw->coord_status, "CoordinateStatus"); + gtk_widget_set_name(dtw->coord_status, "CoordinateAndZStatus"); gtk_grid_set_row_spacing(GTK_GRID(dtw->coord_status), 0); gtk_grid_set_column_spacing(GTK_GRID(dtw->coord_status), 2); GtkWidget* sep = gtk_separator_new(GTK_ORIENTATION_VERTICAL); @@ -752,12 +784,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) gtk_box_pack_end (GTK_BOX (dtw->statusbar), dtw->coord_status, FALSE, FALSE, 0); - dtw->layer_selector = new Inkscape::Widgets::LayerSelector(NULL); - // FIXME: need to unreference on container destruction to avoid leak - dtw->layer_selector->reference(); - //dtw->layer_selector->set_size_request(-1, SP_ICON_SIZE_BUTTON); - gtk_box_pack_start(GTK_BOX(dtw->statusbar), GTK_WIDGET(dtw->layer_selector->gobj()), FALSE, FALSE, 1); - + // --------------- Color Management ---------------- // dtw->_tracker = ege_color_prof_tracker_new(GTK_WIDGET(dtw->layer_selector->gobj())); #if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2) bool fromDisplay = prefs->getBool( "/options/displayprofile/from_display"); @@ -772,25 +799,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) #endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2) g_signal_connect( G_OBJECT(dtw->_tracker), "changed", G_CALLBACK(sp_dtw_color_profile_event), dtw ); - dtw->select_status_eventbox = gtk_event_box_new (); - gtk_widget_set_name(dtw->select_status_eventbox, "SelectStatusEventBox"); - dtw->select_status = gtk_label_new (NULL); - gtk_label_set_ellipsize (GTK_LABEL(dtw->select_status), PANGO_ELLIPSIZE_END); - -#if GTK_CHECK_VERSION(3,0,0) - gtk_widget_set_halign(dtw->select_status, GTK_ALIGN_START); -#else - gtk_misc_set_alignment (GTK_MISC (dtw->select_status), 0.0, 0.5); -#endif - - gtk_widget_set_size_request (dtw->select_status, 1, -1); - // display the initial welcome message in the statusbar - gtk_label_set_markup (GTK_LABEL (dtw->select_status), _("Welcome to Inkscape! Use shape or freehand tools to create objects; use selector (arrow) to move or transform them.")); - // space label 2 pixels from left edge - gtk_container_add (GTK_CONTAINER (dtw->select_status_eventbox), dtw->select_status); - - gtk_box_pack_start (GTK_BOX (dtw->statusbar), dtw->select_status_eventbox, TRUE, TRUE, 0); - + // ------------------ Finish Up -------------------- // gtk_widget_show_all (dtw->vbox); gtk_widget_grab_focus (GTK_WIDGET(dtw->canvas)); -- cgit v1.2.3 From 30cdce52c67422b6403fc5bc54fbc4a0404a5b3a Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Wed, 18 May 2016 13:47:57 +0200 Subject: GTK3: Give even more widgets names. (bzr r14901) --- src/ui/dialog/swatches.cpp | 1 + src/ui/previewholder.cpp | 4 ++++ src/ui/widget/panel.cpp | 6 +++++- src/widgets/desktop-widget.cpp | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/ui/dialog/swatches.cpp b/src/ui/dialog/swatches.cpp index 924ebe03d..f2298b59b 100644 --- a/src/ui/dialog/swatches.cpp +++ b/src/ui/dialog/swatches.cpp @@ -594,6 +594,7 @@ SwatchesPanel::SwatchesPanel(gchar const* prefsPath) : _currentDesktop(0), _currentDocument(0) { + set_name( "SwatchesPanel" ); Gtk::RadioMenuItem* hotItem = 0; _holder = new PreviewHolder(); _clear = new ColorItem( ege::PaintDef::CLEAR ); diff --git a/src/ui/previewholder.cpp b/src/ui/previewholder.cpp index beb83f35c..5e75179a3 100644 --- a/src/ui/previewholder.cpp +++ b/src/ui/previewholder.cpp @@ -49,16 +49,20 @@ PreviewHolder::PreviewHolder() : _wrap(false), _border(BORDER_NONE) { + set_name( "PreviewHolder" ); _scroller = Gtk::manage(new Gtk::ScrolledWindow()); + _scroller->set_name( "PreviewHolderScroller" ); ((Gtk::ScrolledWindow *)_scroller)->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); #if WITH_GTKMM_3_0 _insides = Gtk::manage(new Gtk::Grid()); + _insides->set_name( "PreviewHolderGrid" ); _insides->set_column_spacing(8); // Add a container with the scroller and a spacer Gtk::Grid* spaceHolder = Gtk::manage(new Gtk::Grid()); + spaceHolder->set_name( "PreviewHolderSpaceHolder" ); _scroller->set_hexpand(); _scroller->set_vexpand(); diff --git a/src/ui/widget/panel.cpp b/src/ui/widget/panel.cpp index 5d4a25a68..ab13577d7 100644 --- a/src/ui/widget/panel.cpp +++ b/src/ui/widget/panel.cpp @@ -73,6 +73,7 @@ Panel::Panel(Glib::ustring const &label, gchar const *prefs_path, _action_area(0), _fillable(0) { + set_name( "InkscapePanel" ); #if WITH_GTKMM_3_0 set_orientation( Gtk::ORIENTATION_VERTICAL ); #endif @@ -284,7 +285,10 @@ void Panel::_init() pack_start(_top_bar, false, false); Gtk::HBox* boxy = Gtk::manage(new Gtk::HBox()); - + boxy->set_name( "PanelBoxY" ); + _contents.set_name( "PanelContents" ); + _right_bar.set_name( "PanelRightBar" ); + _top_bar.set_name( "PanelTopBar" ); boxy->pack_start(_contents, true, true); boxy->pack_start(_right_bar, false, true); diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index c3e0ae372..0cee426b6 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -366,7 +366,6 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) dtw->panels = new SwatchesPanel("/embedded/swatches" /*false*/); dtw->panels->setOrientation(SP_ANCHOR_SOUTH); - dtw->panels->set_name("SwatchesPanel"); #if GTK_CHECK_VERSION(3,0,0) dtw->panels->set_vexpand(false); #endif @@ -727,6 +726,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) gtk_grid_set_row_spacing(GTK_GRID(dtw->coord_status), 0); gtk_grid_set_column_spacing(GTK_GRID(dtw->coord_status), 2); GtkWidget* sep = gtk_separator_new(GTK_ORIENTATION_VERTICAL); + gtk_widget_set_name(sep, "CoordinateSeparator"); gtk_grid_attach(GTK_GRID(dtw->coord_status), GTK_WIDGET(sep), 0, 0, 1, 2); -- cgit v1.2.3 From 0a5ca4a41841f4d42dc051255562724a3b64bf66 Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Wed, 18 May 2016 15:35:03 +0200 Subject: GTK3: Another widget named. (bzr r14902) --- src/ui/dialog/color-item.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/ui/dialog/color-item.cpp b/src/ui/dialog/color-item.cpp index 6603d5c69..34cdb92e3 100644 --- a/src/ui/dialog/color-item.cpp +++ b/src/ui/dialog/color-item.cpp @@ -571,6 +571,8 @@ Gtk::Widget* ColorItem::getPreview(PreviewStyle style, ViewType view, ::PreviewS widget = lbl; } else { GtkWidget* eekWidget = eek_preview_new(); + gtk_widget_set_name( eekWidget, "ColorItemPreview" ); + EekPreview * preview = EEK_PREVIEW(eekWidget); Gtk::Widget* newBlot = Glib::wrap(eekWidget); _regenPreview(preview); -- cgit v1.2.3 From 2e2860676eb00a988435464e0a645e3ff450e77f Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Cenoz Date: Fri, 20 May 2016 00:11:42 +0200 Subject: Fix a bug in node editor in BSpline mode, wrong power when moving nodes (bzr r14903) --- src/ui/tool/path-manipulator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/ui/tool/path-manipulator.cpp b/src/ui/tool/path-manipulator.cpp index 3b25439f3..de071dad3 100644 --- a/src/ui/tool/path-manipulator.cpp +++ b/src/ui/tool/path-manipulator.cpp @@ -1292,7 +1292,7 @@ double PathManipulator::_bsplineHandlePosition(Handle *h, bool check_other) line_inside_nodes->moveto(n->position()); line_inside_nodes->lineto(next_node->position()); if(!are_near(h->position(), n->position())){ - pos = Geom::nearest_time(Geom::Point(h->position()[X] - HANDLE_CUBIC_GAP, h->position()[Y] + HANDLE_CUBIC_GAP), *line_inside_nodes->first_segment()); + pos = Geom::nearest_time(Geom::Point(h->position()[X] - HANDLE_CUBIC_GAP, h->position()[Y] - HANDLE_CUBIC_GAP), *line_inside_nodes->first_segment()); } } if (pos == NO_POWER && check_other){ -- cgit v1.2.3 From 3d31e212ee3ea2ba498bd15caf46728e5a46bb4d Mon Sep 17 00:00:00 2001 From: Diederik van Lierop Date: Sat, 21 May 2016 10:19:53 +0200 Subject: Fix some snapping bugs that lead to infinite transforms and crashes in 2geom Fixed bugs: - https://launchpad.net/bugs/1541727 (bzr r14905) --- src/pure-transform.cpp | 38 ++++++++++++++++++++++++++------------ src/pure-transform.h | 12 ++++++------ 2 files changed, 32 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/pure-transform.cpp b/src/pure-transform.cpp index 9c7054b9f..db4926258 100644 --- a/src/pure-transform.cpp +++ b/src/pure-transform.cpp @@ -63,9 +63,9 @@ void PureTransform::snap(::SnapManager *sm, std::vectorconstrainedSnap(p, dedicated_constraint, bbox_to_snap); } -void PureStretchConstrained::storeTransform(SnapCandidatePoint const original_point, SnappedPoint snapped_point) { +void PureStretchConstrained::storeTransform(SnapCandidatePoint const &original_point, SnappedPoint &snapped_point) { Geom::Point const a = snapped_point.getPoint() - _origin; // vector to snapped point Geom::Point const b = original_point.getPoint() - _origin; // vector to original point (not the transformed point!) _stretch_snapped = Geom::Scale(Geom::infinity(), Geom::infinity()); - if (fabs(b[_direction]) > 1e-6) { // if STRETCHING will occur for this point + if (fabs(b[_direction]) > 1e-4) { // if STRETCHING will occur for this point _stretch_snapped[_direction] = a[_direction] / b[_direction]; _stretch_snapped[1-_direction] = _uniform ? _stretch_snapped[_direction] : 1; } else { // STRETCHING might occur for this point, but only when the stretching is uniform - if (_uniform && fabs(b[1-_direction]) > 1e-6) { + if (_uniform && fabs(b[1-_direction]) > 1e-4) { _stretch_snapped[1-_direction] = a[1-_direction] / b[1-_direction]; _stretch_snapped[_direction] = _stretch_snapped[1-_direction]; } @@ -304,7 +318,7 @@ SnappedPoint PureSkewConstrained::snap(::SnapManager *sm, SnapCandidatePoint con return sm->constrainedSnap(p, Inkscape::Snapper::SnapConstraint(constraint_vector), bbox_to_snap); } -void PureSkewConstrained::storeTransform(SnapCandidatePoint const original_point, SnappedPoint snapped_point) { +void PureSkewConstrained::storeTransform(SnapCandidatePoint const &original_point, SnappedPoint &snapped_point) { Geom::Point const b = original_point.getPoint() - _origin; // vector to original point (not the transformed point!) _skew_snapped = (snapped_point.getPoint()[_direction] - (original_point.getPoint())[_direction]) / b[1 - _direction]; // skew factor @@ -335,7 +349,7 @@ SnappedPoint PureRotateConstrained::snap(::SnapManager *sm, SnapCandidatePoint c return sm->constrainedSnap(p, dedicated_constraint, bbox_to_snap); } -void PureRotateConstrained::storeTransform(SnapCandidatePoint const original_point, SnappedPoint snapped_point) { +void PureRotateConstrained::storeTransform(SnapCandidatePoint const &original_point, SnappedPoint &snapped_point) { Geom::Point const a = snapped_point.getPoint() - _origin; // vector to snapped point Geom::Point const b = (original_point.getPoint() - _origin); // vector to original point (not the transformed point!) // a is vector to snapped point; b is vector to original point; now lets calculate angle between a and b diff --git a/src/pure-transform.h b/src/pure-transform.h index f973a95b1..98aa9772a 100644 --- a/src/pure-transform.h +++ b/src/pure-transform.h @@ -26,7 +26,7 @@ class PureTransform { protected: virtual SnappedPoint snap(::SnapManager *sm, SnapCandidatePoint const &p, Geom::Point pt_orig, Geom::OptRect const &bbox_to_snap) const = 0; virtual Geom::Point getTransformedPoint(SnapCandidatePoint const &p) const = 0; - virtual void storeTransform(SnapCandidatePoint const original_point, SnappedPoint snapped_point) = 0; + virtual void storeTransform(SnapCandidatePoint const &original_point, SnappedPoint &snapped_point) = 0; public: //PureTransform(); @@ -48,7 +48,7 @@ protected: virtual SnappedPoint snap(::SnapManager *sm, SnapCandidatePoint const &p, Geom::Point pt_orig, Geom::OptRect const &bbox_to_snap) const; virtual Geom::Point getTransformedPoint(SnapCandidatePoint const &p) const; - virtual void storeTransform(SnapCandidatePoint const original_point, SnappedPoint snapped_point); + virtual void storeTransform(SnapCandidatePoint const &original_point, SnappedPoint &snapped_point); public: // PureTranslate(); // Default constructor @@ -90,7 +90,7 @@ protected: virtual SnappedPoint snap(::SnapManager *sm, SnapCandidatePoint const &p, Geom::Point pt_orig, Geom::OptRect const &bbox_to_snap) const; virtual Geom::Point getTransformedPoint(SnapCandidatePoint const &p) const; - virtual void storeTransform(SnapCandidatePoint const original_point, SnappedPoint snapped_point); + virtual void storeTransform(SnapCandidatePoint const &original_point, SnappedPoint &snapped_point); public: // PureScale(); // Default constructor @@ -135,7 +135,7 @@ protected: virtual SnappedPoint snap(::SnapManager *sm, SnapCandidatePoint const &p, Geom::Point pt_orig, Geom::OptRect const &bbox_to_snap) const; virtual Geom::Point getTransformedPoint(SnapCandidatePoint const &p) const; - virtual void storeTransform(SnapCandidatePoint const original_point, SnappedPoint snapped_point); + virtual void storeTransform(SnapCandidatePoint const &original_point, SnappedPoint &snapped_point); public: virtual ~PureStretchConstrained() {}; @@ -172,7 +172,7 @@ protected: virtual SnappedPoint snap(::SnapManager *sm, SnapCandidatePoint const &p, Geom::Point pt_orig, Geom::OptRect const &bbox_to_snap) const; Geom::Point getTransformedPoint(SnapCandidatePoint const &p) const; - virtual void storeTransform(SnapCandidatePoint const original_point, SnappedPoint snapped_point); + virtual void storeTransform(SnapCandidatePoint const &original_point, SnappedPoint &snapped_point); public: virtual ~PureSkewConstrained() {}; @@ -203,7 +203,7 @@ protected: virtual SnappedPoint snap(::SnapManager *sm, SnapCandidatePoint const &p, Geom::Point pt_orig, Geom::OptRect const &bbox_to_snap) const; virtual Geom::Point getTransformedPoint(SnapCandidatePoint const &p) const; - virtual void storeTransform(SnapCandidatePoint const original_point, SnappedPoint snapped_point); + virtual void storeTransform(SnapCandidatePoint const &original_point, SnappedPoint &snapped_point); public: // PureRotate(); // Default constructor -- cgit v1.2.3 From 930591ebe1aaeb5827db8e0c66e2ef0329f7dcf0 Mon Sep 17 00:00:00 2001 From: Diederik van Lierop Date: Sat, 21 May 2016 10:21:05 +0200 Subject: Adjust some thresholds for finding intersections in elliptical arcs Fixed bugs: - https://launchpad.net/bugs/1479167 (bzr r14906) --- src/2geom/elliptical-arc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/2geom/elliptical-arc.cpp b/src/2geom/elliptical-arc.cpp index a0e379a21..ec62b4be2 100644 --- a/src/2geom/elliptical-arc.cpp +++ b/src/2geom/elliptical-arc.cpp @@ -570,13 +570,13 @@ void EllipticalArc::_filterIntersections(std::vector &xs, boo std::vector::reverse_iterator i = xs.rbegin(), last = xs.rend(); while (i != last) { Coord &t = is_first ? i->first : i->second; - assert(are_near(_ellipse.pointAt(t), i->point(), 1e-6)); + assert(are_near(_ellipse.pointAt(t), i->point(), 1e-5)); t = timeAtAngle(t); if (!unit.contains(t)) { xs.erase((++i).base()); continue; } else { - assert(are_near(pointAt(t), i->point(), 1e-6)); + assert(are_near(pointAt(t), i->point(), 1e-5)); ++i; } } -- cgit v1.2.3 From 9e9ce2c30be9d6af144ff07f69c15c508d84e776 Mon Sep 17 00:00:00 2001 From: Marc Jeanmougin Date: Sat, 21 May 2016 11:58:25 +0200 Subject: Fix regression: restore order in resources (e.g. pattern list) (bzr r14907) --- src/color-profile.cpp | 4 ++-- src/document-private.h | 2 +- src/document.cpp | 17 +++++++++-------- src/document.h | 2 +- src/gradient-chemistry.cpp | 4 ++-- src/gradient-drag.cpp | 4 ++-- src/layer-manager.cpp | 10 +++++----- src/profile-manager.cpp | 5 ++--- src/resource-manager.cpp | 8 ++++---- src/sp-guide.cpp | 2 +- src/ui/dialog/document-properties.cpp | 32 ++++++++++++++++---------------- src/ui/dialog/filter-effects-dialog.cpp | 4 ++-- src/ui/dialog/svg-fonts-dialog.cpp | 4 ++-- src/ui/dialog/swatches.cpp | 16 ++++++++-------- src/ui/interface.cpp | 4 ++-- src/ui/widget/color-icc-selector.cpp | 4 ++-- src/widgets/desktop-widget.cpp | 4 ++-- src/widgets/gradient-toolbar.cpp | 4 ++-- src/widgets/gradient-vector.cpp | 4 ++-- src/widgets/paint-selector.cpp | 4 ++-- src/xml/rebase-hrefs.cpp | 4 ++-- 21 files changed, 71 insertions(+), 71 deletions(-) (limited to 'src') diff --git a/src/color-profile.cpp b/src/color-profile.cpp index bcefe994a..523026aa5 100644 --- a/src/color-profile.cpp +++ b/src/color-profile.cpp @@ -489,8 +489,8 @@ static int getLcmsIntent( guint svgIntent ) static SPObject* bruteFind( SPDocument* document, gchar const* name ) { SPObject* result = 0; - std::set current = document->getResourceList("iccprofile"); - for (std::set::const_iterator it = current.begin(); (!result) && (it != current.end()); ++it) { + std::vector current = document->getResourceList("iccprofile"); + for (std::vector::const_iterator it = current.begin(); (!result) && (it != current.end()); ++it) { if ( IS_COLORPROFILE(*it) ) { ColorProfile* prof = COLORPROFILE(*it); if ( prof ) { diff --git a/src/document-private.h b/src/document-private.h index eaed0020e..9cac8fac6 100644 --- a/src/document-private.h +++ b/src/document-private.h @@ -49,7 +49,7 @@ struct SPDocumentPrivate { IDChangedSignalMap id_changed_signals; /* Resources */ - std::map > resources; + std::map > resources; ResourcesChangedSignalMap resources_changed_signals; sigc::signal destroySignal; diff --git a/src/document.cpp b/src/document.cpp index 7086fc0be..2500a5cee 100644 --- a/src/document.cpp +++ b/src/document.cpp @@ -1541,9 +1541,9 @@ bool SPDocument::addResource(gchar const *key, SPObject *object) bool result = false; if ( !object->cloned ) { - std::set rlist = priv->resources[key]; - g_return_val_if_fail(rlist.find(object) == rlist.end(), false); - priv->resources[key].insert(object); + std::vector rlist = priv->resources[key]; + g_return_val_if_fail(std::find(rlist.begin(),rlist.end(),object) == rlist.end(), false); + priv->resources[key].insert(priv->resources[key].begin(),object); GQuark q = g_quark_from_string(key); @@ -1572,10 +1572,11 @@ bool SPDocument::removeResource(gchar const *key, SPObject *object) bool result = false; if ( !object->cloned ) { - std::set rlist = priv->resources[key]; + std::vector rlist = priv->resources[key]; g_return_val_if_fail(!rlist.empty(), false); - g_return_val_if_fail(rlist.find(object) != rlist.end(), false); - priv->resources[key].erase(object); + std::vector::iterator it = std::find(priv->resources[key].begin(),priv->resources[key].end(),object); + g_return_val_if_fail(it != rlist.end(), false); + priv->resources[key].erase(it); GQuark q = g_quark_from_string(key); priv->resources_changed_signals[q].emit(); @@ -1586,9 +1587,9 @@ bool SPDocument::removeResource(gchar const *key, SPObject *object) return result; } -std::set const SPDocument::getResourceList(gchar const *key) const +std::vector const SPDocument::getResourceList(gchar const *key) const { - std::set emptyset; + std::vector emptyset; g_return_val_if_fail(key != NULL, emptyset); g_return_val_if_fail(*key != '\0', emptyset); diff --git a/src/document.h b/src/document.h index 825049cd5..653e9d0db 100644 --- a/src/document.h +++ b/src/document.h @@ -260,7 +260,7 @@ public: int ensureUpToDate(); bool addResource(char const *key, SPObject *object); bool removeResource(char const *key, SPObject *object); - const std::set getResourceList(char const *key) const; + const std::vector getResourceList(char const *key) const; std::vector getItemsInBox(unsigned int dkey, Geom::Rect const &box, bool into_groups = false) const; std::vector getItemsPartiallyInBox(unsigned int dkey, Geom::Rect const &box, bool into_groups = false) const; SPItem *getItemAtPoint(unsigned int key, Geom::Point const &p, bool into_groups, SPItem *upto = NULL) const; diff --git a/src/gradient-chemistry.cpp b/src/gradient-chemistry.cpp index 7b4c0ac20..edeb523d7 100644 --- a/src/gradient-chemistry.cpp +++ b/src/gradient-chemistry.cpp @@ -1612,8 +1612,8 @@ void sp_gradient_unset_swatch(SPDesktop *desktop, std::string id) SPDocument *doc = desktop ? desktop->doc() : 0; if (doc) { - const std::set gradients = doc->getResourceList("gradient"); - for (std::set::const_iterator i = gradients.begin(); i != gradients.end(); ++i) { + const std::vector gradients = doc->getResourceList("gradient"); + for (std::vector::const_iterator i = gradients.begin(); i != gradients.end(); ++i) { SPGradient* grad = SP_GRADIENT(*i); if ( id == grad->getId() ) { grad->setSwatch(false); diff --git a/src/gradient-drag.cpp b/src/gradient-drag.cpp index 8fd997121..613dc2fc1 100644 --- a/src/gradient-drag.cpp +++ b/src/gradient-drag.cpp @@ -208,8 +208,8 @@ Glib::ustring GrDrag::makeStopSafeColor( gchar const *str, bool &isNull ) Glib::ustring::size_type pos = colorStr.find("url(#"); if ( pos != Glib::ustring::npos ) { Glib::ustring targetName = colorStr.substr(pos + 5, colorStr.length() - 6); - std::set gradients = desktop->doc()->getResourceList("gradient"); - for (std::set::const_iterator it = gradients.begin(); it != gradients.end(); ++it) { + std::vector gradients = desktop->doc()->getResourceList("gradient"); + for (std::vector::const_iterator it = gradients.begin(); it != gradients.end(); ++it) { SPGradient* grad = SP_GRADIENT(*it); if ( targetName == grad->getId() ) { SPGradient *vect = grad->getVector(); diff --git a/src/layer-manager.cpp b/src/layer-manager.cpp index c0fe95dd7..19c4b890c 100644 --- a/src/layer-manager.cpp +++ b/src/layer-manager.cpp @@ -191,10 +191,10 @@ Glib::ustring LayerManager::getNextLayerName( SPObject* obj, gchar const *label) } std::set currentNames; - std::set layers = _document->getResourceList("layer"); + std::vector layers = _document->getResourceList("layer"); SPObject *root=_desktop->currentRoot(); if ( root ) { - for (std::set::const_iterator iter = layers.begin(); iter != layers.end(); ++iter) { + for (std::vector::const_iterator iter = layers.begin(); iter != layers.end(); ++iter) { if (*iter != obj) currentNames.insert( (*iter)->label() ? Glib::ustring((*iter)->label()) : Glib::ustring() ); } @@ -260,7 +260,7 @@ void LayerManager::_rebuild() { if (!_document) // http://sourceforge.net/mailarchive/forum.php?thread_name=5747bce9a7ed077c1b4fc9f0f4f8a5e0%40localhost&forum_name=inkscape-devel return; - std::set layers = _document->getResourceList("layer"); + std::vector layers = _document->getResourceList("layer"); SPObject *root=_desktop->currentRoot(); if ( root ) { @@ -268,7 +268,7 @@ void LayerManager::_rebuild() { std::set layersToAdd; - for ( std::set::const_iterator iter = layers.begin(); iter != layers.end(); ++iter ) { + for ( std::vector::const_iterator iter = layers.begin(); iter != layers.end(); ++iter ) { SPObject *layer = *iter; // Debug::EventTracker tracker(Util::format("Examining %s", layer->label())); bool needsAdd = false; @@ -281,7 +281,7 @@ void LayerManager::_rebuild() { SPGroup* group = SP_GROUP(curr); if ( group->layerMode() == SPGroup::LAYER ) { // If we have a layer-group as the one or a parent, ensure it is listed as a valid layer. - needsAdd &= ( layers.find(curr) != layers.end() ); + needsAdd &= ( std::find(layers.begin(),layers.end(),curr) != layers.end() ); // XML Tree being used here directly while it shouldn't be... if ( (!(group->getRepr())) || (!(group->getRepr()->parent())) ) { needsAdd = false; diff --git a/src/profile-manager.cpp b/src/profile-manager.cpp index 035aa6051..26e1cd72c 100644 --- a/src/profile-manager.cpp +++ b/src/profile-manager.cpp @@ -34,9 +34,8 @@ void ProfileManager::_resourcesChanged() { std::vector newList; if (_doc) { - std::set current = _doc->getResourceList( "iccprofile" ); - for (std::set::const_iterator i = current.begin(); i != current.end(); ++i) - newList.push_back(*i); + std::vector current = _doc->getResourceList( "iccprofile" ); + newList = current; } sort( newList.begin(), newList.end() ); diff --git a/src/resource-manager.cpp b/src/resource-manager.cpp index 18d7c6ba2..09b9364c6 100644 --- a/src/resource-manager.cpp +++ b/src/resource-manager.cpp @@ -179,8 +179,8 @@ std::vector ResourceManagerImpl::findBrokenLinks( SPDocument *doc std::set uniques; if ( doc ) { - std::set images = doc->getResourceList("image"); - for (std::set::const_iterator it = images.begin(); it != images.end(); ++it) { + std::vector images = doc->getResourceList("image"); + for (std::vector::const_iterator it = images.begin(); it != images.end(); ++it) { Inkscape::XML::Node *ir = (*it)->getRepr(); gchar const *href = ir->attribute("xlink:href"); @@ -306,8 +306,8 @@ bool ResourceManagerImpl::fixupBrokenLinks(SPDocument *doc) bool savedUndoState = DocumentUndo::getUndoSensitive(doc); DocumentUndo::setUndoSensitive(doc, true); - std::set images = doc->getResourceList("image"); - for (std::set::const_iterator it = images.begin(); it != images.end(); ++it) { + std::vector images = doc->getResourceList("image"); + for (std::vector::const_iterator it = images.begin(); it != images.end(); ++it) { Inkscape::XML::Node *ir = (*it)->getRepr(); gchar const *href = ir->attribute("xlink:href"); diff --git a/src/sp-guide.cpp b/src/sp-guide.cpp index 17a1a9ff1..c80fc7122 100644 --- a/src/sp-guide.cpp +++ b/src/sp-guide.cpp @@ -264,7 +264,7 @@ void sp_guide_create_guides_around_page(SPDesktop *dt) void sp_guide_delete_all_guides(SPDesktop *dt) { SPDocument *doc=dt->getDocument(); - std::set current = doc->getResourceList("guide"); + std::vector current = doc->getResourceList("guide"); while (!current.empty()){ SPGuide* guide = SP_GUIDE(*(current.begin())); sp_guide_remove(guide); diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp index c2c5c5005..12eaba72a 100644 --- a/src/ui/dialog/document-properties.cpp +++ b/src/ui/dialog/document-properties.cpp @@ -492,8 +492,8 @@ void DocumentProperties::linkSelectedProfile() std::vector > pairs = ColorProfile::getProfileFilesWithNames(); Glib::ustring file = pairs[row].first; Glib::ustring name = pairs[row].second; - std::set current = SP_ACTIVE_DOCUMENT->getResourceList( "iccprofile" ); - for (std::set::const_iterator it = current.begin(); it != current.end(); ++it) { + std::vector current = SP_ACTIVE_DOCUMENT->getResourceList( "iccprofile" ); + for (std::vector::const_iterator it = current.begin(); it != current.end(); ++it) { SPObject* obj = *it; Inkscape::ColorProfile* prof = reinterpret_cast(obj); if (!strcmp(prof->href, file.c_str())) @@ -532,11 +532,11 @@ void DocumentProperties::linkSelectedProfile() void DocumentProperties::populate_linked_profiles_box() { _LinkedProfilesListStore->clear(); - std::set current = SP_ACTIVE_DOCUMENT->getResourceList( "iccprofile" ); + std::vector current = SP_ACTIVE_DOCUMENT->getResourceList( "iccprofile" ); if (! current.empty()) { _emb_profiles_observer.set((*(current.begin()))->parent); } - for (std::set::const_iterator it = current.begin(); it != current.end(); ++it) { + for (std::vector::const_iterator it = current.begin(); it != current.end(); ++it) { SPObject* obj = *it; Inkscape::ColorProfile* prof = reinterpret_cast(obj); Gtk::TreeModel::Row row = *(_LinkedProfilesListStore->append()); @@ -614,8 +614,8 @@ void DocumentProperties::removeSelectedProfile(){ return; } } - std::set current = SP_ACTIVE_DOCUMENT->getResourceList( "iccprofile" ); - for (std::set::const_iterator it = current.begin(); it != current.end(); ++it) { + std::vector current = SP_ACTIVE_DOCUMENT->getResourceList( "iccprofile" ); + for (std::vector::const_iterator it = current.begin(); it != current.end(); ++it) { SPObject* obj = *it; Inkscape::ColorProfile* prof = reinterpret_cast(obj); if (!name.compare(prof->name)){ @@ -738,7 +738,7 @@ void DocumentProperties::build_cms() _LinkedProfilesList.signal_button_release_event().connect_notify(sigc::mem_fun(*this, &DocumentProperties::linked_profiles_list_button_release)); cms_create_popup_menu(_LinkedProfilesList, sigc::mem_fun(*this, &DocumentProperties::removeSelectedProfile)); - std::set current = SP_ACTIVE_DOCUMENT->getResourceList( "defs" ); + std::vector current = SP_ACTIVE_DOCUMENT->getResourceList( "defs" ); if (!current.empty()) { _emb_profiles_observer.set((*(current.begin()))->parent); } @@ -975,7 +975,7 @@ void DocumentProperties::build_scripting() #endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2) //TODO: review this observers code: - std::set current = SP_ACTIVE_DOCUMENT->getResourceList( "script" ); + std::vector current = SP_ACTIVE_DOCUMENT->getResourceList( "script" ); if (! current.empty()) { _scripts_observer.set((*(current.begin()))->parent); } @@ -1190,8 +1190,8 @@ void DocumentProperties::removeExternalScript(){ } } - std::set current = SP_ACTIVE_DOCUMENT->getResourceList( "script" ); - for (std::set::const_iterator it = current.begin(); it != current.end(); ++it) { + std::vector current = SP_ACTIVE_DOCUMENT->getResourceList( "script" ); + for (std::vector::const_iterator it = current.begin(); it != current.end(); ++it) { SPObject* obj = *it; if (obj) { SPScript* script = dynamic_cast(obj); @@ -1268,8 +1268,8 @@ void DocumentProperties::changeEmbeddedScript(){ } bool voidscript=true; - std::set current = SP_ACTIVE_DOCUMENT->getResourceList( "script" ); - for (std::set::const_iterator it = current.begin(); it != current.end(); ++it) { + std::vector current = SP_ACTIVE_DOCUMENT->getResourceList( "script" ); + for (std::vector::const_iterator it = current.begin(); it != current.end(); ++it) { SPObject* obj = *it; if (id == obj->getId()){ @@ -1313,8 +1313,8 @@ void DocumentProperties::editEmbeddedScript(){ } Inkscape::XML::Document *xml_doc = SP_ACTIVE_DOCUMENT->getReprDoc(); - std::set current = SP_ACTIVE_DOCUMENT->getResourceList( "script" ); - for (std::set::const_iterator it = current.begin(); it != current.end(); ++it) { + std::vector current = SP_ACTIVE_DOCUMENT->getResourceList( "script" ); + for (std::vector::const_iterator it = current.begin(); it != current.end(); ++it) { SPObject* obj = *it; if (id == obj->getId()){ @@ -1337,13 +1337,13 @@ void DocumentProperties::editEmbeddedScript(){ void DocumentProperties::populate_script_lists(){ _ExternalScriptsListStore->clear(); _EmbeddedScriptsListStore->clear(); - std::set current = SP_ACTIVE_DOCUMENT->getResourceList( "script" ); + std::vector current = SP_ACTIVE_DOCUMENT->getResourceList( "script" ); if (!current.empty()) { SPObject *obj = *(current.begin()); g_assert(obj != NULL); _scripts_observer.set(obj->parent); } - for (std::set::const_iterator it = current.begin(); it != current.end(); ++it) { + for (std::vector::const_iterator it = current.begin(); it != current.end(); ++it) { SPObject* obj = *it; SPScript* script = dynamic_cast(obj); g_assert(script != NULL); diff --git a/src/ui/dialog/filter-effects-dialog.cpp b/src/ui/dialog/filter-effects-dialog.cpp index ce08ed1f7..d3ad5d1da 100644 --- a/src/ui/dialog/filter-effects-dialog.cpp +++ b/src/ui/dialog/filter-effects-dialog.cpp @@ -1591,11 +1591,11 @@ void FilterEffectsDialog::FilterModifier::update_filters() SPDesktop* desktop = _dialog.getDesktop(); SPDocument* document = desktop->getDocument(); - std::set filters = document->getResourceList( "filter" ); + std::vector filters = document->getResourceList( "filter" ); _model->clear(); - for (std::set::const_iterator it = filters.begin(); it != filters.end(); ++it) { + for (std::vector::const_iterator it = filters.begin(); it != filters.end(); ++it) { Gtk::TreeModel::Row row = *_model->append(); SPFilter* f = SP_FILTER(*it); row[_columns.filter] = f; diff --git a/src/ui/dialog/svg-fonts-dialog.cpp b/src/ui/dialog/svg-fonts-dialog.cpp index 46e045c14..790c0e5fb 100644 --- a/src/ui/dialog/svg-fonts-dialog.cpp +++ b/src/ui/dialog/svg-fonts-dialog.cpp @@ -266,10 +266,10 @@ void SvgFontsDialog::update_fonts() { SPDesktop* desktop = this->getDesktop(); SPDocument* document = desktop->getDocument(); - std::set fonts = document->getResourceList( "fonts" ); + std::vector fonts = document->getResourceList( "fonts" ); _model->clear(); - for (std::set::const_iterator it = fonts.begin(); it != fonts.end(); ++it) { + for (std::vector::const_iterator it = fonts.begin(); it != fonts.end(); ++it) { Gtk::TreeModel::Row row = *_model->append(); SPFont* f = SP_FONT(*it); row[_columns.spfont] = f; diff --git a/src/ui/dialog/swatches.cpp b/src/ui/dialog/swatches.cpp index f2298b59b..6577c8d4e 100644 --- a/src/ui/dialog/swatches.cpp +++ b/src/ui/dialog/swatches.cpp @@ -171,8 +171,8 @@ static void editGradient( GtkMenuItem */*menuitem*/, gpointer /*user_data*/ ) SPDocument *doc = desktop ? desktop->doc() : 0; if (doc) { std::string targetName(bounceTarget->def.descr); - std::set gradients = doc->getResourceList("gradient"); - for (std::set::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { + std::vector gradients = doc->getResourceList("gradient"); + for (std::vector::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { SPGradient* grad = SP_GRADIENT(*item); if ( targetName == grad->getId() ) { editGradientImpl( desktop, grad ); @@ -192,8 +192,8 @@ void SwatchesPanelHook::convertGradient( GtkMenuItem * /*menuitem*/, gpointer us gint index = GPOINTER_TO_INT(userData); if ( doc && (index >= 0) && (static_cast(index) < popupItems.size()) ) { Glib::ustring targetName = popupItems[index]; - std::set gradients = doc->getResourceList("gradient"); - for (std::set::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { + std::vector gradients = doc->getResourceList("gradient"); + for (std::vector::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { SPGradient* grad = SP_GRADIENT(*item); if ( targetName == grad->getId() ) { @@ -326,9 +326,9 @@ gboolean colorItemHandleButtonPress( GtkWidget* widget, GdkEventButton* event, g SPDesktopWidget *dtw = SP_DESKTOP_WIDGET(wdgt); if ( dtw && dtw->desktop ) { // Pick up all gradients with vectors - std::set gradients = (dtw->desktop->doc())->getResourceList("gradient"); + std::vector gradients = (dtw->desktop->doc())->getResourceList("gradient"); gint index = 0; - for (std::set::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { + for (std::vector::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { SPGradient* grad = SP_GRADIENT(*item); if ( grad->hasStops() && !grad->isSwatch() ) { //gl = g_slist_prepend(gl, curr->data); @@ -925,8 +925,8 @@ static void recalcSwatchContents(SPDocument* doc, std::map &gradMappings) { std::vector newList; - std::set gradients = doc->getResourceList("gradient"); - for (std::set::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { + std::vector gradients = doc->getResourceList("gradient"); + for (std::vector::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { SPGradient* grad = SP_GRADIENT(*item); if ( grad->isSwatch() ) { newList.push_back(SP_GRADIENT(*item)); diff --git a/src/ui/interface.cpp b/src/ui/interface.cpp index 3e2a2004c..ab29471ed 100644 --- a/src/ui/interface.cpp +++ b/src/ui/interface.cpp @@ -1128,8 +1128,8 @@ sp_ui_drag_data_received(GtkWidget *widget, unsigned int b = color.getB(); SPGradient* matches = 0; - std::set gradients = doc->getResourceList("gradient"); - for (std::set::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { + std::vector gradients = doc->getResourceList("gradient"); + for (std::vector::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { SPGradient* grad = SP_GRADIENT(*item); if ( color.descr == grad->getId() ) { if ( grad->hasStops() ) { diff --git a/src/ui/widget/color-icc-selector.cpp b/src/ui/widget/color-icc-selector.cpp index ec2e69fb3..2e30a48b5 100644 --- a/src/ui/widget/color-icc-selector.cpp +++ b/src/ui/widget/color-icc-selector.cpp @@ -687,8 +687,8 @@ void ColorICCSelectorImpl::_profilesChanged(std::string const &name) gtk_combo_box_set_active(combo, 0); int index = 1; - std::set current = SP_ACTIVE_DOCUMENT->getResourceList("iccprofile"); - for (std::set::const_iterator it = current.begin(); it != current.end(); ++it) { + std::vector current = SP_ACTIVE_DOCUMENT->getResourceList("iccprofile"); + for (std::vector::const_iterator it = current.begin(); it != current.end(); ++it) { SPObject *obj = *it; Inkscape::ColorProfile *prof = reinterpret_cast(obj); diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 0cee426b6..164a06910 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -1902,8 +1902,8 @@ bool SPDesktopWidget::onFocusInEvent(GdkEventFocus*) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (prefs->getBool("/options/bitmapautoreload/value", true)) { - std::set imageList = (desktop->doc())->getResourceList("image"); - for (std::set::const_iterator it = imageList.begin(); it != imageList.end(); ++it) { + std::vector imageList = (desktop->doc())->getResourceList("image"); + for (std::vector::const_iterator it = imageList.begin(); it != imageList.end(); ++it) { SPImage* image = SP_IMAGE(*it); sp_image_refresh_if_outdated( image ); } diff --git a/src/widgets/gradient-toolbar.cpp b/src/widgets/gradient-toolbar.cpp index 858aa05db..a44e9962e 100644 --- a/src/widgets/gradient-toolbar.cpp +++ b/src/widgets/gradient-toolbar.cpp @@ -140,8 +140,8 @@ gboolean gr_vector_list(GtkWidget *combo_box, SPDesktop *desktop, bool selection gtk_list_store_clear(store); std::vector gl; - std::set gradients = document->getResourceList( "gradient" ); - for (std::set::const_iterator it = gradients.begin(); it != gradients.end(); ++it) { + std::vector gradients = document->getResourceList( "gradient" ); + for (std::vector::const_iterator it = gradients.begin(); it != gradients.end(); ++it) { SPGradient *grad = SP_GRADIENT(*it); if ( grad->hasStops() && !grad->isSolid() ) { gl.push_back(*it); diff --git a/src/widgets/gradient-vector.cpp b/src/widgets/gradient-vector.cpp index 3aa44c90a..97e65141f 100644 --- a/src/widgets/gradient-vector.cpp +++ b/src/widgets/gradient-vector.cpp @@ -298,8 +298,8 @@ static void sp_gvs_rebuild_gui_full(SPGradientVectorSelector *gvs) /* Pick up all gradients with vectors */ GSList *gl = NULL; if (gvs->gr) { - std::set gradients = gvs->gr->document->getResourceList("gradient"); - for (std::set::const_iterator it = gradients.begin(); it != gradients.end(); ++it) { + std::vector gradients = gvs->gr->document->getResourceList("gradient"); + for (std::vector::const_iterator it = gradients.begin(); it != gradients.end(); ++it) { SPGradient* grad = SP_GRADIENT(*it); if ( grad->hasStops() && (grad->isSwatch() == gvs->swatched) ) { gl = g_slist_prepend(gl, *it); diff --git a/src/widgets/paint-selector.cpp b/src/widgets/paint-selector.cpp index 602cad3c3..aafa6bd1e 100644 --- a/src/widgets/paint-selector.cpp +++ b/src/widgets/paint-selector.cpp @@ -844,8 +844,8 @@ ink_pattern_list_get (SPDocument *source) return NULL; GSList *pl = NULL; - std::set patterns = source->getResourceList("pattern"); - for (std::set::const_iterator it = patterns.begin(); it != patterns.end(); ++it) { + std::vector patterns = source->getResourceList("pattern"); + for (std::vector::const_iterator it = patterns.begin(); it != patterns.end(); ++it) { if (SP_PATTERN(*it) == SP_PATTERN(*it)->rootPattern()) { // only if this is a root pattern pl = g_slist_prepend(pl, *it); } diff --git a/src/xml/rebase-hrefs.cpp b/src/xml/rebase-hrefs.cpp index 2bcae5d81..a8ac3b4cc 100644 --- a/src/xml/rebase-hrefs.cpp +++ b/src/xml/rebase-hrefs.cpp @@ -220,8 +220,8 @@ void Inkscape::XML::rebase_hrefs(SPDocument *const doc, gchar const *const new_b * * Note also that Inkscape only supports fragment hrefs (href="#pattern257") for many of these * cases. */ - std::set images = doc->getResourceList("image"); - for (std::set::const_iterator it = images.begin(); it != images.end(); ++it) { + std::vector images = doc->getResourceList("image"); + for (std::vector::const_iterator it = images.begin(); it != images.end(); ++it) { Inkscape::XML::Node *ir = (*it)->getRepr(); std::string uri; -- cgit v1.2.3 From 1bc3cd7e631ba1a7480e77c0ce57e8b7a5cae9c9 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Cenoz Date: Sat, 21 May 2016 20:22:10 +0200 Subject: Remove duplicated code (bzr r14908) --- src/ui/tools/node-tool.cpp | 5 ----- 1 file changed, 5 deletions(-) (limited to 'src') diff --git a/src/ui/tools/node-tool.cpp b/src/ui/tools/node-tool.cpp index 4149403ea..23aaf6bb1 100644 --- a/src/ui/tools/node-tool.cpp +++ b/src/ui/tools/node-tool.cpp @@ -164,11 +164,6 @@ NodeTool::~NodeTool() { if (this->helperpath_tmpitem) { this->desktop->remove_temporary_canvasitem(this->helperpath_tmpitem); } - - if (this->helperpath_tmpitem) { - this->desktop->remove_temporary_canvasitem(this->helperpath_tmpitem); - } - this->_selection_changed_connection.disconnect(); //this->_selection_modified_connection.disconnect(); this->_mouseover_changed_connection.disconnect(); -- cgit v1.2.3