summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorMichael Soegtrop <MSoegtrop@yahoo.de>2017-06-05 13:13:40 +0000
committerMichael Soegtrop <MSoegtrop@yahoo.de>2017-06-05 13:13:40 +0000
commitab8fc319f2c80aeea54eaab63ceec042a763fc94 (patch)
tree8eb2f8d265d3cdb61e81331833ec404f751571d0 /src/widgets
parentAdded emboidery and bool LPEs (diff)
parentFix regression: restore order in resources (e.g. pattern list) (diff)
downloadinkscape-ab8fc319f2c80aeea54eaab63ceec042a763fc94.tar.gz
inkscape-ab8fc319f2c80aeea54eaab63ceec042a763fc94.zip
updated to trunk
(bzr r14862.2.2)
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/button.cpp16
-rw-r--r--src/widgets/desktop-widget.cpp128
-rw-r--r--src/widgets/eraser-toolbar.cpp4
-rw-r--r--src/widgets/gradient-toolbar.cpp4
-rw-r--r--src/widgets/gradient-vector.cpp4
-rw-r--r--src/widgets/icon.cpp46
-rw-r--r--src/widgets/paint-selector.cpp4
-rw-r--r--src/widgets/ruler.cpp17
-rw-r--r--src/widgets/toolbox.cpp9
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 );