diff options
| author | Michael Soegtrop <MSoegtrop@yahoo.de> | 2017-06-05 13:13:40 +0000 |
|---|---|---|
| committer | Michael Soegtrop <MSoegtrop@yahoo.de> | 2017-06-05 13:13:40 +0000 |
| commit | ab8fc319f2c80aeea54eaab63ceec042a763fc94 (patch) | |
| tree | 8eb2f8d265d3cdb61e81331833ec404f751571d0 /src/widgets | |
| parent | Added emboidery and bool LPEs (diff) | |
| parent | Fix regression: restore order in resources (e.g. pattern list) (diff) | |
| download | inkscape-ab8fc319f2c80aeea54eaab63ceec042a763fc94.tar.gz inkscape-ab8fc319f2c80aeea54eaab63ceec042a763fc94.zip | |
updated to trunk
(bzr r14862.2.2)
Diffstat (limited to 'src/widgets')
| -rw-r--r-- | src/widgets/button.cpp | 16 | ||||
| -rw-r--r-- | src/widgets/desktop-widget.cpp | 128 | ||||
| -rw-r--r-- | src/widgets/eraser-toolbar.cpp | 4 | ||||
| -rw-r--r-- | src/widgets/gradient-toolbar.cpp | 4 | ||||
| -rw-r--r-- | src/widgets/gradient-vector.cpp | 4 | ||||
| -rw-r--r-- | src/widgets/icon.cpp | 46 | ||||
| -rw-r--r-- | src/widgets/paint-selector.cpp | 4 | ||||
| -rw-r--r-- | src/widgets/ruler.cpp | 17 | ||||
| -rw-r--r-- | src/widgets/toolbox.cpp | 9 |
9 files changed, 131 insertions, 101 deletions
diff --git a/src/widgets/button.cpp b/src/widgets/button.cpp index 54f073c01..6ea8c1360 100644 --- a/src/widgets/button.cpp +++ b/src/widgets/button.cpp @@ -106,11 +106,13 @@ static void sp_button_get_preferred_width(GtkWidget *widget, gint *minimal_width GtkStyleContext *context = gtk_widget_get_style_context (widget); GtkBorder padding; + GtkBorder border; - gtk_style_context_get_border(context, static_cast<GtkStateFlags>(0), &padding); + gtk_style_context_get_padding(context, GTK_STATE_FLAG_NORMAL, &padding); + gtk_style_context_get_border( context, GTK_STATE_FLAG_NORMAL, &border ); - *minimal_width += 2 + 2 * MAX(2, padding.left + padding.right); - *natural_width += 2 + 2 * MAX(2, padding.left + padding.right); + *minimal_width += MAX(2, padding.left + padding.right + border.left + border.right); + *natural_width += MAX(2, padding.left + padding.right + border.left + border.right); } static void sp_button_get_preferred_height(GtkWidget *widget, gint *minimal_height, gint *natural_height) @@ -126,11 +128,13 @@ static void sp_button_get_preferred_height(GtkWidget *widget, gint *minimal_heig GtkStyleContext *context = gtk_widget_get_style_context (widget); GtkBorder padding; + GtkBorder border; - gtk_style_context_get_border(context, static_cast<GtkStateFlags>(0), &padding); + gtk_style_context_get_padding(context, GTK_STATE_FLAG_NORMAL, &padding); + gtk_style_context_get_border( context, GTK_STATE_FLAG_NORMAL, &border ); - *minimal_height += 2 + 2 * MAX(2, padding.top + padding.bottom); - *natural_height += 2 + 2 * MAX(2, padding.top + padding.bottom); + *minimal_height += MAX(2, padding.top + padding.bottom + border.top + border.bottom); + *natural_height += MAX(2, padding.top + padding.bottom + border.top + border.bottom); } #else static void sp_button_size_request(GtkWidget *widget, GtkRequisition *requisition) diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index fe724a964..164a06910 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 @@ -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,6 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) dtw->panels = new SwatchesPanel("/embedded/swatches" /*false*/); dtw->panels->setOrientation(SP_ANCHOR_SOUTH); - #if GTK_CHECK_VERSION(3,0,0) dtw->panels->set_vexpand(false); #endif @@ -374,6 +375,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,6 +406,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) Glib::RefPtr<Gtk::CssProvider> 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("LockGuides"); Glib::RefPtr<Gtk::StyleContext> context = wnd->get_style_context(); context->add_provider(guides_lock_style_provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); #endif @@ -411,6 +414,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); @@ -421,13 +425,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), @@ -442,11 +448,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; @@ -471,11 +478,9 @@ 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"); 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 @@ -492,6 +497,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); @@ -501,6 +507,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 @@ -528,6 +535,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"); @@ -607,9 +616,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 @@ -626,9 +635,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 @@ -636,17 +645,26 @@ 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 } + // 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), @@ -655,15 +673,39 @@ 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 - GtkWidget *statusbar_tail=gtk_statusbar_new(); - gtk_box_pack_end (GTK_BOX (dtw->statusbar), statusbar_tail, FALSE, FALSE, 0); +#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 - // zoom status spinbutton + 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), _("<b>Welcome to Inkscape!</b> 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 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); @@ -677,12 +719,14 @@ 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, "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); + gtk_widget_set_name(sep, "CoordinateSeparator"); gtk_grid_attach(GTK_GRID(dtw->coord_status), GTK_WIDGET(sep), 0, 0, 1, 2); @@ -696,9 +740,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:")); @@ -720,6 +762,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) gtk_label_set_markup( GTK_LABEL(dtw->coord_status_y), "<tt> 0.00 </tt>" ); 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); @@ -738,14 +781,10 @@ 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); - 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); + gtk_box_pack_end (GTK_BOX (dtw->statusbar), dtw->coord_status, FALSE, FALSE, 0); + // --------------- 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"); @@ -760,30 +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 (); - 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), _("<b>Welcome to Inkscape!</b> 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); -#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); - + // ------------------ Finish Up -------------------- // gtk_widget_show_all (dtw->vbox); gtk_widget_grab_focus (GTK_WIDGET(dtw->canvas)); @@ -1452,6 +1468,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); @@ -1764,6 +1781,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); @@ -1884,8 +1902,8 @@ bool SPDesktopWidget::onFocusInEvent(GdkEventFocus*) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (prefs->getBool("/options/bitmapautoreload/value", true)) { - std::set<SPObject *> imageList = (desktop->doc())->getResourceList("image"); - for (std::set<SPObject *>::const_iterator it = imageList.begin(); it != imageList.end(); ++it) { + std::vector<SPObject *> imageList = (desktop->doc())->getResourceList("image"); + for (std::vector<SPObject *>::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/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) ); 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<SPObject *> gl; - std::set<SPObject *> gradients = document->getResourceList( "gradient" ); - for (std::set<SPObject *>::const_iterator it = gradients.begin(); it != gradients.end(); ++it) { + std::vector<SPObject *> gradients = document->getResourceList( "gradient" ); + for (std::vector<SPObject *>::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<SPObject *> gradients = gvs->gr->document->getResourceList("gradient"); - for (std::set<SPObject *>::const_iterator it = gradients.begin(); it != gradients.end(); ++it) { + std::vector<SPObject *> gradients = gvs->gr->document->getResourceList("gradient"); + for (std::vector<SPObject *>::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/icon.cpp b/src/widgets/icon.cpp index 010b3a6fb..f2031fe51 100644 --- a/src/widgets/icon.cpp +++ b/src/widgets/icon.cpp @@ -232,6 +232,7 @@ void IconImpl::sizeAllocate(GtkWidget *widget, GtkAllocation *allocation) } } +// GTK3 Only, Doesn't actually seem to be used. gboolean IconImpl::draw(GtkWidget *widget, cairo_t* cr) { SPIcon *icon = SP_ICON(widget); @@ -247,32 +248,34 @@ gboolean IconImpl::draw(GtkWidget *widget, cairo_t* cr) if (gtk_widget_get_state_flags (GTK_WIDGET(icon)) != GTK_STATE_FLAG_NORMAL && image) { #else if (gtk_widget_get_state (GTK_WIDGET(icon)) != GTK_STATE_NORMAL && image) { + std::cerr << "IconImpl::draw: Ooops! It is called in GTK2" << std::endl; #endif - GtkIconSource *source = gtk_icon_source_new(); - gtk_icon_source_set_pixbuf(source, icon->pb); - gtk_icon_source_set_size(source, GTK_ICON_SIZE_SMALL_TOOLBAR); // note: this is boilerplate and not used - gtk_icon_source_set_size_wildcarded(source, FALSE); + std::cerr << "IconImpl::draw: No image, creating fallback" << std::endl; #if GTK_CHECK_VERSION(3,0,0) - image = gtk_render_icon_pixbuf(gtk_widget_get_style_context(widget), - source, - (GtkIconSize)-1); + // image = gtk_render_icon_pixbuf(gtk_widget_get_style_context(widget), + // source, + // (GtkIconSize)-1); // gtk_render_icon_pixbuf deprecated, replaced by: - // GtkIconTheme *icon_theme = gtk_icon_theme_get_default(); - // image = gtk_icon_theme_load_icon (icon_theme, - // name, - // 32, - // 0, - // NULL); + GtkIconTheme *icon_theme = gtk_icon_theme_get_default(); + image = gtk_icon_theme_load_icon (icon_theme, + "gtk-image", + 32, + (GtkIconLookupFlags)0, + NULL); #else + GtkIconSource *source = gtk_icon_source_new(); + gtk_icon_source_set_pixbuf(source, icon->pb); + gtk_icon_source_set_size(source, GTK_ICON_SIZE_SMALL_TOOLBAR); // note: this is boilerplate and not used + gtk_icon_source_set_size_wildcarded(source, FALSE); image = gtk_style_render_icon(gtk_widget_get_style(widget), source, gtk_widget_get_direction(widget), (GtkStateType) gtk_widget_get_state(widget), (GtkIconSize)-1, widget, "gtk-image"); + gtk_icon_source_free(source); #endif - gtk_icon_source_free(source); unref_image = true; } @@ -801,6 +804,10 @@ GtkWidget *IconImpl::newFull( Inkscape::IconSize lsize, gchar const *name ) GtkWidget *widget = NULL; gint trySize = CLAMP( static_cast<gint>(lsize), 0, static_cast<gint>(G_N_ELEMENTS(iconSizeLookup) - 1) ); + if (trySize != lsize ) { + std::cerr << "GtkWidget *IconImple::newFull(): lsize != trySize: lsize: " << lsize + << " try Size: " << trySize << " " << (name?name:"NULL") << std::endl; + } if ( !sizeMapDone ) { injectCustomSize(); } @@ -828,6 +835,7 @@ GtkWidget *IconImpl::newFull( Inkscape::IconSize lsize, gchar const *name ) if ( Inkscape::Preferences::get()->getBool("/options/iconrender/named_nodelay") ) { int psize = getPhysSize(lsize); + // std::cout << " name: " << name << " size: " << psize << std::endl; prerenderIcon(name, mappedSize, psize); } else { addPreRender( mappedSize, name ); @@ -1000,8 +1008,6 @@ int IconImpl::getPhysSize(int size) "inkscape-decoration" }; - GtkWidget *icon = GTK_WIDGET(g_object_new(SP_TYPE_ICON, NULL)); - for (unsigned i = 0; i < G_N_ELEMENTS(gtkSizes); ++i) { guint const val_ix = (gtkSizes[i] <= GTK_ICON_SIZE_DIALOG) ? (guint)gtkSizes[i] : (guint)Inkscape::ICON_SIZE_DECORATION; @@ -1026,7 +1032,12 @@ int IconImpl::getPhysSize(int size) // gtk_icon_size_lookup(), because themes are free to render the pixbuf however // they like, including changing the usual size." gchar const *id = INKSCAPE_ICON("document-open"); - GdkPixbuf *pb = gtk_widget_render_icon( icon, id, gtkSizes[i], NULL); + GtkIconTheme *icon_theme = gtk_icon_theme_get_default(); + GdkPixbuf *pb = gtk_icon_theme_load_icon (icon_theme, + id, + vals[val_ix], + (GtkIconLookupFlags)0, + NULL); if (pb) { width = gdk_pixbuf_get_width(pb); height = gdk_pixbuf_get_height(pb); @@ -1042,7 +1053,6 @@ int IconImpl::getPhysSize(int size) g_object_unref(G_OBJECT(pb)); } } - //g_object_unref(icon); init = true; } 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<SPObject *> patterns = source->getResourceList("pattern"); - for (std::set<SPObject *>::const_iterator it = patterns.begin(); it != patterns.end(); ++it) { + std::vector<SPObject *> patterns = source->getResourceList("pattern"); + for (std::vector<SPObject *>::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/widgets/ruler.cpp b/src/widgets/ruler.cpp index fe851d592..deffd384a 100644 --- a/src/widgets/ruler.cpp +++ b/src/widgets/ruler.cpp @@ -168,6 +168,10 @@ sp_ruler_class_init (SPRulerClass *klass) GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); +#if GTK_CHECK_VERSION(3,20,0) + gtk_widget_class_set_css_name (widget_class, "ruler-widget"); +#endif + object_class->dispose = sp_ruler_dispose; object_class->set_property = sp_ruler_set_property; object_class->get_property = sp_ruler_get_property; @@ -282,19 +286,6 @@ sp_ruler_init (SPRuler *ruler) priv->pos_redraw_idle_id = 0; priv->font_scale = DEFAULT_RULER_FONT_SCALE; - -#if GTK_CHECK_VERSION(3,0,0) - const gchar *str = - "SPRuler {\n" - " background-color: @bg_color;\n" - "}\n"; - GtkCssProvider *css = gtk_css_provider_new (); - gtk_css_provider_load_from_data (css, str, -1, NULL); - gtk_style_context_add_provider (gtk_widget_get_style_context (GTK_WIDGET (ruler)), - GTK_STYLE_PROVIDER (css), - GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - g_object_unref (css); -#endif } static void diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp index 0697ff0fb..f7b5e585f 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); @@ -1406,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; @@ -1418,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); @@ -1436,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 ); |
