diff options
| author | su_v <suv-sf@users.sourceforge.net> | 2012-09-25 20:41:04 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2012-09-25 20:41:04 +0000 |
| commit | 10f49c2924837a6b429b2ad7d41deb1a400cc913 (patch) | |
| tree | 72c2781995a3666454e51043b713683501283bea /src | |
| parent | Changes from 2012-09-24 (diff) | |
| parent | Doc. Shapes tutorial update (see Bug #817907 - Linked offsets regression). (diff) | |
| download | inkscape-10f49c2924837a6b429b2ad7d41deb1a400cc913.tar.gz inkscape-10f49c2924837a6b429b2ad7d41deb1a400cc913.zip | |
merge from trunk (r11704)
(bzr r11668.1.14)
Diffstat (limited to 'src')
| -rw-r--r-- | src/event-context.cpp | 36 | ||||
| -rw-r--r-- | src/ink-action.cpp | 6 | ||||
| -rw-r--r-- | src/widgets/gradient-selector.cpp | 2 | ||||
| -rw-r--r-- | src/widgets/gradient-toolbar.cpp | 2 | ||||
| -rw-r--r-- | src/widgets/stroke-marker-selector.cpp | 5 | ||||
| -rw-r--r-- | src/widgets/stroke-style.cpp | 1 | ||||
| -rw-r--r-- | src/widgets/widget-sizes.h | 4 |
7 files changed, 47 insertions, 9 deletions
diff --git a/src/event-context.cpp b/src/event-context.cpp index 2c9ed1abd..b8a2dc797 100644 --- a/src/event-context.cpp +++ b/src/event-context.cpp @@ -172,6 +172,27 @@ static void sp_event_context_dispose(GObject *object) { } /** + * Set the cursor to a standard GDK cursor + */ +void sp_event_context_set_cursor(SPEventContext *event_context, GdkCursorType cursor_type) { + + GtkWidget *w = GTK_WIDGET(sp_desktop_canvas(event_context->desktop)); + GdkDisplay *display = gdk_display_get_default(); + GdkCursor *cursor = gdk_cursor_new_for_display(display, cursor_type); + +#if WITH_GTKMM_3_0 + if (cursor) { + gdk_window_set_cursor (gtk_widget_get_window (w), cursor); + g_object_unref (cursor); + } +#else + gdk_window_set_cursor (gtk_widget_get_window (w), cursor); + gdk_cursor_unref (cursor); +#endif + +} + +/** * Recreates and draws cursor on desktop related to SPEventContext. */ void sp_event_context_update_cursor(SPEventContext *ec) { @@ -360,6 +381,7 @@ static gint sp_event_context_private_root_handler( SPEventContext *event_context, GdkEvent *event) { static Geom::Point button_w; static unsigned int panning = 0; + static unsigned int panning_cursor = 0; static unsigned int zoom_rb = 0; SPDesktop *desktop = event_context->desktop; @@ -393,6 +415,7 @@ static gint sp_event_context_private_root_handler( switch (event->button.button) { case 1: if (event_context->space_panning) { + // When starting panning, make sure there are no snap events pending because these might disable the panning again sp_event_context_discard_delayed_snap_event(event_context); panning = 1; @@ -408,6 +431,7 @@ static gint sp_event_context_private_root_handler( if (event->button.state & GDK_SHIFT_MASK) { zoom_rb = 2; } else { + // When starting panning, make sure there are no snap events pending because these might disable the panning again sp_event_context_discard_delayed_snap_event(event_context); panning = 2; @@ -415,6 +439,7 @@ static gint sp_event_context_private_root_handler( GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK, NULL, event->button.time - 1); + } ret = TRUE; break; @@ -466,6 +491,11 @@ static gint sp_event_context_private_root_handler( gobble_motion_events(panning == 2 ? GDK_BUTTON2_MASK : (panning == 1 ? GDK_BUTTON1_MASK : GDK_BUTTON3_MASK)); + if (panning_cursor == 0) { + panning_cursor = 1; + sp_event_context_set_cursor(event_context, GDK_FLEUR); + } + Geom::Point const motion_w(event->motion.x, event->motion.y); Geom::Point const moved_w(motion_w - button_w); event_context->desktop->scroll_world(moved_w, true); // we're still scrolling, do not redraw @@ -496,6 +526,11 @@ static gint sp_event_context_private_root_handler( break; case GDK_BUTTON_RELEASE: xp = yp = 0; + if (panning_cursor == 1) { + panning_cursor = 0; + GtkWidget *w = GTK_WIDGET(sp_desktop_canvas(event_context->desktop)); + gdk_window_set_cursor(gtk_widget_get_window (w), event_context->cursor); + } if (within_tolerance && (panning || zoom_rb)) { zoom_rb = 0; if (panning) { @@ -665,6 +700,7 @@ static gint sp_event_context_private_root_handler( if (event_context->space_panning) { event_context->space_panning = false; event_context->_message_context->clear(); + if (panning == 1) { panning = 0; sp_canvas_item_ungrab(SP_CANVAS_ITEM(desktop->acetate), diff --git a/src/ink-action.cpp b/src/ink-action.cpp index 4c6008b01..c79cebd1e 100644 --- a/src/ink-action.cpp +++ b/src/ink-action.cpp @@ -458,8 +458,10 @@ static void ink_toggle_action_update_icon( InkToggleAction* action ) GtkToolButton* button = GTK_TOOL_BUTTON(proxies->data); GtkWidget* child = sp_icon_new( action->private_data->iconSize, action->private_data->iconId ); - gtk_widget_show_all( child ); - gtk_tool_button_set_icon_widget( button, child ); + GtkWidget* align = gtk_alignment_new( 0.5, 0.5, 0.0, 0.0 ); + gtk_container_add( GTK_CONTAINER(align), child ); + gtk_widget_show_all( align ); + gtk_tool_button_set_icon_widget( button, align ); } } diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index 3eba2da23..082f04a77 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -153,7 +153,7 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) Gtk::TreeView::Column* name_column = sel->treeview->get_column(1); sel->text_renderer->property_editable() = true; name_column->add_attribute(sel->text_renderer->property_text(), sel->columns->name); - name_column->set_min_width(200); + name_column->set_min_width(180); name_column->set_clickable(true); name_column->set_resizable(true); diff --git a/src/widgets/gradient-toolbar.cpp b/src/widgets/gradient-toolbar.cpp index 7542e16b3..ea88b96fa 100644 --- a/src/widgets/gradient-toolbar.cpp +++ b/src/widgets/gradient-toolbar.cpp @@ -1231,7 +1231,7 @@ void sp_gradient_toolbox_prep(SPDesktop * desktop, GtkActionGroup* mainActions, _("Link gradients"), _("Link gradients to change all related gradients"), INKSCAPE_ICON("object-unlocked"), - secondarySize ); + Inkscape::ICON_SIZE_DECORATION ); g_object_set( itact, "short_label", "Lock", NULL ); g_signal_connect_after( G_OBJECT(itact), "toggled", G_CALLBACK(gr_linked_changed), desktop) ; gtk_action_group_add_action( mainActions, GTK_ACTION(itact) ); diff --git a/src/widgets/stroke-marker-selector.cpp b/src/widgets/stroke-marker-selector.cpp index 206f166f9..62fa47603 100644 --- a/src/widgets/stroke-marker-selector.cpp +++ b/src/widgets/stroke-marker-selector.cpp @@ -57,8 +57,8 @@ MarkerComboBox::MarkerComboBox(gchar const *id, int l) : set_model(marker_store); pack_start(image_renderer, false); pack_end(label_renderer, true); - label_renderer.set_padding(5, 0); - image_renderer.set_padding(5, 0); + label_renderer.set_padding(2, 0); + image_renderer.set_padding(2, 0); set_cell_data_func(label_renderer, sigc::mem_fun(*this, &MarkerComboBox::prepareLabelRenderer)); set_cell_data_func(image_renderer, sigc::mem_fun(*this, &MarkerComboBox::prepareImageRenderer)); gtk_combo_box_set_row_separator_func(GTK_COMBO_BOX(gobj()), MarkerComboBox::separator_cb, NULL, NULL); @@ -562,6 +562,7 @@ MarkerComboBox::create_marker_image(unsigned psize, gchar const *mname, void MarkerComboBox::prepareLabelRenderer( Gtk::TreeModel::const_iterator const &row ) { Glib::ustring name=(*row)[marker_columns.label]; label_renderer.property_markup() = name.c_str(); + label_renderer.property_scale() = 0.8; } void MarkerComboBox::prepareImageRenderer( Gtk::TreeModel::const_iterator const &row ) { diff --git a/src/widgets/stroke-style.cpp b/src/widgets/stroke-style.cpp index 5f686881f..832865eae 100644 --- a/src/widgets/stroke-style.cpp +++ b/src/widgets/stroke-style.cpp @@ -601,7 +601,6 @@ StrokeStyle::forkMarker(SPObject *marker, int loc, SPItem *item) sp_repr_css_set_property(css_item, marker_id, g_strconcat("url(#", mark_repr->attribute("id"), ")", NULL)); sp_repr_css_change_recursive(item->getRepr(), css_item, "style"); - Inkscape::GC::release(mark_repr); sp_repr_css_attr_unref(css_item); css_item = 0; diff --git a/src/widgets/widget-sizes.h b/src/widgets/widget-sizes.h index 644740637..c3f9e1119 100644 --- a/src/widgets/widget-sizes.h +++ b/src/widgets/widget-sizes.h @@ -29,8 +29,8 @@ #define STATUS_ZOOM_WIDTH 57 -#define SELECTED_STYLE_SB_WIDTH 38 -#define SELECTED_STYLE_WIDTH 180 +#define SELECTED_STYLE_SB_WIDTH 48 +#define SELECTED_STYLE_WIDTH 190 #define STYLE_SWATCH_WIDTH 100 #define STATUS_LAYER_FONT_SIZE 7700 |
