[glade3] * gladeui/glade-base-editor.c, gladeui/glade-inspector.c, gladeui/glade-palette-item.c,



commit 3b8b7e8520ec8786c67f1f6e9597869ba6a51ebc
Author: Tristan Van Berkom <vantr TheBully local>
Date:   Wed May 27 11:24:57 2009 -0400

    	* gladeui/glade-base-editor.c, gladeui/glade-inspector.c, gladeui/glade-palette-item.c,
    	gladeui/glade-placeholder.c, gladeui/glade-widget.c: Made Glade barely usable on the Mac,
    	now all popup menus will popup on (GDK_MOD[1-3]_MASK && event->button == 1) as well as
    	on (event->button == 3) since Mac is missing the right mouse button and ports X server
    	setup doesnt seem to emulate it.
    
    	* gladeui/glade-property-class.c: Add me to authors.
---
 ChangeLog                      |   14 ++++++++++++++
 gladeui/glade-base-editor.c    |    6 +++++-
 gladeui/glade-inspector.c      |   11 ++++++++---
 gladeui/glade-palette-item.c   |    8 +++++++-
 gladeui/glade-placeholder.c    |    9 ++++++++-
 gladeui/glade-property-class.c |    1 +
 gladeui/glade-widget.c         |   15 +++++++++++----
 7 files changed, 54 insertions(+), 10 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4b134eb..7d44e25 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2009-05-27  Tristan Van Berkom <tvb gnome org>
+
+	* configure.ac, NEWS: Rolling 3.6.4 ... [ NOT ROLLED YET ]
+
+2009-05-27  Tristan Van Berkom <tvb gnome org>
+
+	* gladeui/glade-base-editor.c, gladeui/glade-inspector.c, gladeui/glade-palette-item.c,
+	gladeui/glade-placeholder.c, gladeui/glade-widget.c: Made Glade barely usable on the Mac,
+	now all popup menus will popup on (GDK_MOD[1-3]_MASK && event->button == 1) as well as
+	on (event->button == 3) since Mac is missing the right mouse button and ports X server
+	setup doesnt seem to emulate it.
+
+	* gladeui/glade-property-class.c: Add me to authors.
+
 2009-05-17  Juan Pablo Ugarte <juanpablougarte gmail com>
 
 	* gladeui/glade-base-editor.c: fixed bug in glade_base_editor_add_default_properties()
diff --git a/gladeui/glade-base-editor.c b/gladeui/glade-base-editor.c
index e09dffe..84b027a 100644
--- a/gladeui/glade-base-editor.c
+++ b/gladeui/glade-base-editor.c
@@ -813,7 +813,11 @@ glade_base_editor_popup_handler (GtkWidget *treeview,
 	GtkTreePath *path;
 	GtkWidget *popup;
 
-	if (event->button == 3)
+	if (event->button == 3 || 
+	    (event->button == 1 && 
+	     ((event->state & GDK_MOD1_MASK) != 0 ||
+	      (event->state & GDK_MOD2_MASK) != 0 ||
+	      (event->state & GDK_MOD2_MASK) != 0)))
 	{
 		if (gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (treeview),
 			(gint) event->x, (gint) event->y, &path, NULL, NULL, NULL))
diff --git a/gladeui/glade-inspector.c b/gladeui/glade-inspector.c
index 2bcee0a..94e4bbe 100644
--- a/gladeui/glade-inspector.c
+++ b/gladeui/glade-inspector.c
@@ -916,9 +916,14 @@ button_press_cb (GtkWidget      *widget,
 	GtkTreePath      *path      = NULL;
 	gboolean          handled   = FALSE;
 
-	if (event->button == 3 &&
-	    event->window == gtk_tree_view_get_bin_window (view))
-	{
+	/* Give some kind of access in case of missing right button */
+	if (event->window == gtk_tree_view_get_bin_window (view) &&
+	    (event->button == 3 || 
+	     (event->button == 1 && 
+	      ((event->state & GDK_MOD1_MASK) != 0 ||
+	       (event->state & GDK_MOD2_MASK) != 0 ||
+	       (event->state & GDK_MOD2_MASK) != 0))))
+       	{
 		if (gtk_tree_view_get_path_at_pos (view, (gint) event->x, (gint) event->y,
 					   &path, NULL, 
 					   NULL, NULL) && path != NULL)
diff --git a/gladeui/glade-palette-item.c b/gladeui/glade-palette-item.c
index fa74c92..13eb7ff 100644
--- a/gladeui/glade-palette-item.c
+++ b/gladeui/glade-palette-item.c
@@ -337,7 +337,13 @@ static gboolean
 glade_palette_item_button_press (GtkWidget      *widget,
 				 GdkEventButton *event)
 {
-	if (event->type == GDK_BUTTON_PRESS && event->button == 3)
+	/* Give some kind of access in case of missing right button */
+	if (!event->type == GDK_BUTTON_PRESS &&
+	    (event->button == 3 || 
+	     (event->button == 1 && 
+	      ((event->state & GDK_MOD1_MASK) != 0 ||
+	       (event->state & GDK_MOD2_MASK) != 0 ||
+	       (event->state & GDK_MOD2_MASK) != 0))))
 	{
 		GladePaletteItemPrivate *priv = GLADE_PALETTE_ITEM_GET_PRIVATE (widget);
 
diff --git a/gladeui/glade-placeholder.c b/gladeui/glade-placeholder.c
index 90271c4..fa7f26a 100644
--- a/gladeui/glade-placeholder.c
+++ b/gladeui/glade-placeholder.c
@@ -356,7 +356,14 @@ glade_placeholder_button_press (GtkWidget *widget, GdkEventButton *event)
 			handled = TRUE;
 		}
 	}
-	else if (event->button == 3 && event->type == GDK_BUTTON_PRESS)
+
+	/* Give some kind of access in case of missing right button */
+	if (!handled && event->type == GDK_BUTTON_PRESS &&
+	    (event->button == 3 || 
+	     (event->button == 1 && 
+	      ((event->state & GDK_MOD1_MASK) != 0 ||
+	       (event->state & GDK_MOD2_MASK) != 0 ||
+	       (event->state & GDK_MOD2_MASK) != 0))))
 	{
 		glade_popup_placeholder_pop (placeholder, event);
 		handled = TRUE;
diff --git a/gladeui/glade-property-class.c b/gladeui/glade-property-class.c
index c1900e0..eef928c 100644
--- a/gladeui/glade-property-class.c
+++ b/gladeui/glade-property-class.c
@@ -18,6 +18,7 @@
  *
  * Authors:
  *   Chema Celorio <chema celorio com>
+ *   Tristan Van Berkom <tristan van berkom gmail com>
  */
 
 #ifdef HAVE_CONFIG_H
diff --git a/gladeui/glade-widget.c b/gladeui/glade-widget.c
index f157440..b938bb5 100644
--- a/gladeui/glade-widget.c
+++ b/gladeui/glade-widget.c
@@ -333,10 +333,17 @@ glade_widget_button_press_event_impl (GladeWidget    *gwidget,
 			handled = !(event->state & GDK_SHIFT_MASK);
 		}
 	}
-	else if (event->button == 3)
-	{
-		glade_popup_widget_pop (gwidget, event, TRUE);
-		handled = TRUE;
+
+	/* Give some kind of access in case of missing right button */
+	if (!handled &&
+	    (event->button == 3 || 
+	     (event->button == 1 && 
+	      ((event->state & GDK_MOD1_MASK) != 0 ||
+	       (event->state & GDK_MOD2_MASK) != 0 ||
+	       (event->state & GDK_MOD2_MASK) != 0))))
+       	{
+			glade_popup_widget_pop (gwidget, event, TRUE);
+			handled = TRUE;
 	}
 
 	return handled;



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