diff options
author | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2011-04-26 17:13:53 -0300 |
---|---|---|
committer | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2011-10-06 16:12:21 -0300 |
commit | 4c1e409fbc67eeb6e8df0b3c92e4a89ba1f5625c (patch) | |
tree | 1e1e2f55b2e905756573fd130475279764d58b83 | |
parent | 1fb1f3eb0e8b98115cd1c28fdfab3c1053556cb6 (diff) | |
download | glade-4c1e409fbc67eeb6e8df0b3c92e4a89ba1f5625c.tar.gz |
Made margins edit mode snap bu 8px while holding ALT
-rw-r--r-- | gladeui/glade-design-layout.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gladeui/glade-design-layout.c b/gladeui/glade-design-layout.c index 894bea7e..dff57564 100644 --- a/gladeui/glade-design-layout.c +++ b/gladeui/glade-design-layout.c @@ -42,6 +42,8 @@ #define OUTLINE_WIDTH 4 #define PADDING 10 +#define MARGIN_STEP 8 + typedef enum { ACTIVITY_NONE, @@ -276,18 +278,21 @@ glade_design_layout_motion_notify_event (GtkWidget *widget, GdkEventMotion *ev) case ACTIVITY_MARGINS: { gboolean shift = ev->state & GDK_SHIFT_MASK; + gboolean snap = ev->state & GDK_MOD1_MASK; GtkWidget *selection = priv->selection; Margins margin = priv->margin; if (margin & MARGIN_TOP) { gint val = MAX (0, priv->m_dy - y); + if (snap) val = (val/MARGIN_STEP)*MARGIN_STEP; gtk_widget_set_margin_top (selection, val); if (shift) gtk_widget_set_margin_bottom (selection, val); } else if (margin & MARGIN_BOTTOM) { gint val = MAX (0, y - priv->m_dy); + if (snap) val = (val/MARGIN_STEP)*MARGIN_STEP; gtk_widget_set_margin_bottom (selection, val); if (shift) gtk_widget_set_margin_top (selection, val); } @@ -295,12 +300,14 @@ glade_design_layout_motion_notify_event (GtkWidget *widget, GdkEventMotion *ev) if (margin & MARGIN_LEFT) { gint val = MAX (0, priv->m_dx - x); + if (snap) val = (val/MARGIN_STEP)*MARGIN_STEP; gtk_widget_set_margin_left (selection, val); if (shift) gtk_widget_set_margin_right (selection, val); } else if (margin & MARGIN_RIGHT) { gint val = MAX (0, x - priv->m_dx); + if (snap) val = (val/MARGIN_STEP)*MARGIN_STEP; gtk_widget_set_margin_right (selection, val); if (shift) gtk_widget_set_margin_left (selection, val); } |