[gtk+] gtk: remove the private GTK_EXTEND/MODIFY_SELECTION_MOD_MASK



commit 11f8c1ba6fb699d8dc8d40f0e8f65682943d12dc
Author: Michael Natterer <mitch lanedo com>
Date:   Tue Sep 27 12:06:10 2011 +0200

    gtk: remove the private GTK_EXTEND/MODIFY_SELECTION_MOD_MASK
    
    and use the new public modifier abstraction API instead.

 gtk/gtkentry.c    |    8 +++++---
 gtk/gtkiconview.c |   29 ++++++++++++++++++++++++-----
 gtk/gtkprivate.h  |    8 --------
 gtk/gtktextview.c |    8 ++++++--
 gtk/gtktreeview.c |   43 ++++++++++++++++++++++++++++++++++---------
 5 files changed, 69 insertions(+), 27 deletions(-)
---
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index f9ad68a..c22cb0e 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -3784,14 +3784,16 @@ gtk_entry_button_press (GtkWidget      *widget,
   else if (event->button == 1)
     {
       gboolean have_selection = gtk_editable_get_selection_bounds (editable, &sel_start, &sel_end);
-      
+
       priv->select_words = FALSE;
       priv->select_lines = FALSE;
 
-      if (event->state & GTK_EXTEND_SELECTION_MOD_MASK)
+      if (event->state &
+          gtk_widget_get_modifier_mask (widget,
+                                        GDK_MODIFIER_INTENT_EXTEND_SELECTION))
 	{
 	  _gtk_entry_reset_im_context (entry);
-	  
+
 	  if (!have_selection) /* select from the current position to the clicked position */
 	    sel_start = sel_end = priv->current_pos;
 	  
diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c
index 61175b4..10811d4 100644
--- a/gtk/gtkiconview.c
+++ b/gtk/gtkiconview.c
@@ -2018,6 +2018,15 @@ gtk_icon_view_button_press (GtkWidget      *widget,
 
   if (event->button == 1 && event->type == GDK_BUTTON_PRESS)
     {
+      GdkModifierType extend_mod_mask;
+      GdkModifierType modify_mod_mask;
+
+      extend_mod_mask =
+        gtk_widget_get_modifier_mask (widget, GDK_MODIFIER_INTENT_EXTEND_SELECTION);
+
+      modify_mod_mask =
+        gtk_widget_get_modifier_mask (widget, GDK_MODIFIER_INTENT_MODIFY_SELECTION);
+
       item = gtk_icon_view_get_item_at_coords (icon_view, 
 					       event->x, event->y,
 					       FALSE,
@@ -2043,7 +2052,7 @@ gtk_icon_view_button_press (GtkWidget      *widget,
 	      gtk_icon_view_set_cursor_item (icon_view, item, cursor_cell);
 	    }
 	  else if (icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE &&
-		   (event->state & GTK_EXTEND_SELECTION_MOD_MASK))
+		   (event->state & extend_mod_mask))
 	    {
 	      gtk_icon_view_unselect_all_internal (icon_view);
 
@@ -2060,7 +2069,7 @@ gtk_icon_view_button_press (GtkWidget      *widget,
 	    {
 	      if ((icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE ||
 		  ((icon_view->priv->selection_mode == GTK_SELECTION_SINGLE) && item->selected)) &&
-		  (event->state & GTK_MODIFY_SELECTION_MOD_MASK))
+		  (event->state & modify_mod_mask))
 		{
 		  item->selected = !item->selected;
 		  gtk_icon_view_queue_draw_item (icon_view, item);
@@ -2107,7 +2116,7 @@ gtk_icon_view_button_press (GtkWidget      *widget,
       else
 	{
 	  if (icon_view->priv->selection_mode != GTK_SELECTION_BROWSE &&
-	      !(event->state & GTK_MODIFY_SELECTION_MOD_MASK))
+	      !(event->state & modify_mod_mask))
 	    {
 	      dirty = gtk_icon_view_unselect_all_internal (icon_view);
 	    }
@@ -3566,9 +3575,19 @@ gtk_icon_view_real_move_cursor (GtkIconView     *icon_view,
 
   if (gtk_get_current_event_state (&state))
     {
-      if ((state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+      GdkModifierType extend_mod_mask;
+      GdkModifierType modify_mod_mask;
+
+      extend_mod_mask =
+        gtk_widget_get_modifier_mask (GTK_WIDGET (icon_view),
+                                      GDK_MODIFIER_INTENT_EXTEND_SELECTION);
+      modify_mod_mask =
+        gtk_widget_get_modifier_mask (GTK_WIDGET (icon_view),
+                                      GDK_MODIFIER_INTENT_MODIFY_SELECTION);
+
+      if ((state & modify_mod_mask) == modify_mod_mask)
         icon_view->priv->modify_selection_pressed = TRUE;
-      if ((state & GTK_EXTEND_SELECTION_MOD_MASK) == GTK_EXTEND_SELECTION_MOD_MASK)
+      if ((state & extend_mod_mask) == extend_mod_mask)
         icon_view->priv->extend_selection_pressed = TRUE;
     }
   /* else we assume not pressed */
diff --git a/gtk/gtkprivate.h b/gtk/gtkprivate.h
index b8bb90e..0def8c1 100644
--- a/gtk/gtkprivate.h
+++ b/gtk/gtkprivate.h
@@ -67,14 +67,6 @@ const gchar *_gtk_get_data_prefix ();
 #define GTK_DEFAULT_ACCEL_MOD_MASK GDK_META_MASK
 #endif
 
-#ifndef GDK_WINDOWING_QUARTZ
-#define GTK_EXTEND_SELECTION_MOD_MASK GDK_SHIFT_MASK
-#define GTK_MODIFY_SELECTION_MOD_MASK GDK_CONTROL_MASK
-#else
-#define GTK_EXTEND_SELECTION_MOD_MASK GDK_SHIFT_MASK
-#define GTK_MODIFY_SELECTION_MOD_MASK GDK_MOD2_MASK
-#endif
-
 gboolean _gtk_fnmatch      (const char *pattern,
                             const char *string,
                             gboolean    no_leading_period);
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index 9b07334..e128c3a 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -4566,7 +4566,9 @@ gtk_text_view_button_press_event (GtkWidget *widget, GdkEventButton *event)
           if (gtk_text_buffer_get_selection_bounds (get_buffer (text_view),
                                                     &start, &end) &&
               gtk_text_iter_in_range (&iter, &start, &end) &&
-              !(event->state & GTK_EXTEND_SELECTION_MOD_MASK))
+              !(event->state &
+                gtk_widget_get_modifier_mask (widget,
+                                              GDK_MODIFIER_INTENT_EXTEND_SELECTION)))
             {
               priv->drag_start_x = event->x;
               priv->drag_start_y = event->y;
@@ -6491,7 +6493,9 @@ gtk_text_view_start_selection_drag (GtkTextView       *text_view,
   orig_start = ins;
   orig_end = bound;
 
-  if (button->state & GTK_EXTEND_SELECTION_MOD_MASK)
+  if (button->state &
+      gtk_widget_get_modifier_mask (GTK_WIDGET (text_view),
+                                    GDK_MODIFIER_INTENT_EXTEND_SELECTION))
     {
       /* Extend selection */
       GtkTextIter old_ins, old_bound;
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 43c3d60..7cf74dd 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -2880,6 +2880,8 @@ gtk_tree_view_button_press (GtkWidget      *widget,
       gboolean row_double_click = FALSE;
       gboolean rtl;
       gboolean node_selected;
+      GdkModifierType extend_mod_mask;
+      GdkModifierType modify_mod_mask;
 
       /* Empty tree? */
       if (tree_view->priv->tree == NULL)
@@ -3034,6 +3036,12 @@ gtk_tree_view_button_press (GtkWidget      *widget,
 	    gtk_tree_path_free (anchor);
 	}
 
+      extend_mod_mask =
+        gtk_widget_get_modifier_mask (widget, GDK_MODIFIER_INTENT_EXTEND_SELECTION);
+
+      modify_mod_mask =
+        gtk_widget_get_modifier_mask (widget, GDK_MODIFIER_INTENT_MODIFY_SELECTION);
+
       /* select */
       node_selected = GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED);
       pre_val = gtk_adjustment_get_value (tree_view->priv->vadjustment);
@@ -3044,9 +3052,9 @@ gtk_tree_view_button_press (GtkWidget      *widget,
         {
           GtkCellRenderer *focus_cell;
 
-          if ((event->state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+          if ((event->state & modify_mod_mask) == modify_mod_mask)
             tree_view->priv->modify_selection_pressed = TRUE;
-          if ((event->state & GTK_EXTEND_SELECTION_MOD_MASK) == GTK_EXTEND_SELECTION_MOD_MASK)
+          if ((event->state & extend_mod_mask) == extend_mod_mask)
             tree_view->priv->extend_selection_pressed = TRUE;
 
           /* We update the focus cell here, this is also needed if the
@@ -3063,12 +3071,12 @@ gtk_tree_view_button_press (GtkWidget      *widget,
           if (focus_cell)
             gtk_tree_view_column_focus_cell (column, focus_cell);
 
-          if (event->state & GTK_MODIFY_SELECTION_MOD_MASK)
+          if (event->state & modify_mod_mask)
             {
               gtk_tree_view_real_set_cursor (tree_view, path, FALSE, TRUE);
               gtk_tree_view_real_toggle_cursor_row (tree_view);
             }
-          else if (event->state & GTK_EXTEND_SELECTION_MOD_MASK)
+          else if (event->state & extend_mod_mask)
             {
               gtk_tree_view_real_set_cursor (tree_view, path, FALSE, TRUE);
               gtk_tree_view_real_select_cursor_row (tree_view, FALSE);
@@ -3111,9 +3119,9 @@ gtk_tree_view_button_press (GtkWidget      *widget,
 	      tree_view->priv->rubber_band_y = event->y + tree_view->priv->dy;
 	      tree_view->priv->rubber_band_status = RUBBER_BAND_MAYBE_START;
 
-	      if ((event->state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+	      if ((event->state & modify_mod_mask) == modify_mod_mask)
 		tree_view->priv->rubber_band_modify = TRUE;
-	      if ((event->state & GTK_EXTEND_SELECTION_MOD_MASK) == GTK_EXTEND_SELECTION_MOD_MASK)
+	      if ((event->state & extend_mod_mask) == extend_mod_mask)
 		tree_view->priv->rubber_band_extend = TRUE;
 	    }
         }
@@ -8572,9 +8580,20 @@ gtk_tree_view_real_move_cursor (GtkTreeView       *tree_view,
 
   if (gtk_get_current_event_state (&state))
     {
-      if ((state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+      GdkModifierType extend_mod_mask;
+      GdkModifierType modify_mod_mask;
+
+      extend_mod_mask =
+        gtk_widget_get_modifier_mask (GTK_WIDGET (tree_view),
+                                      GDK_MODIFIER_INTENT_EXTEND_SELECTION);
+
+      modify_mod_mask =
+        gtk_widget_get_modifier_mask (GTK_WIDGET (tree_view),
+                                      GDK_MODIFIER_INTENT_MODIFY_SELECTION);
+
+      if ((state & modify_mod_mask) == modify_mod_mask)
         tree_view->priv->modify_selection_pressed = TRUE;
-      if ((state & GTK_EXTEND_SELECTION_MOD_MASK) == GTK_EXTEND_SELECTION_MOD_MASK)
+      if ((state & extend_mod_mask) == extend_mod_mask)
         tree_view->priv->extend_selection_pressed = TRUE;
     }
   /* else we assume not pressed */
@@ -10803,7 +10822,13 @@ gtk_tree_view_real_select_cursor_parent (GtkTreeView *tree_view)
 
       if (gtk_get_current_event_state (&state))
 	{
-	  if ((state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+          GdkModifierType modify_mod_mask;
+
+          modify_mod_mask =
+            gtk_widget_get_modifier_mask (GTK_WIDGET (tree_view),
+                                          GDK_MODIFIER_INTENT_MODIFY_SELECTION);
+
+	  if ((state & modify_mod_mask) == modify_mod_mask)
 	    tree_view->priv->modify_selection_pressed = TRUE;
 	}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]