Lars Täuber a écrit :
Hi there,

Hello,
I'm happy to have found geeqie. It's great. I already was a fan of gqview but 
geeqie is wonderful.

Thanks in the name of all geeqie contributors :)
There is one thing I'd like the developers to change:
When i right click in the keywords window over a keyword the menu entry »hide 
...« is already selected. And when i then release button by accident the hole 
branch is hidden. I'd like this menu entry to be activated on purpose only like 
the zoom in the menu of the picture window.

Can you try the attached patch against current svn trunk and tell me if it solves this issue ? Popup menus don't stay open with current code, and this patch should change that (you have to close
them, ie. by clicking elsewhere or Escape key).
I found the current behavior somehow surprising and prone to accidental option selection.

To all:
Is the current behavior a bug or a feature ?
Should we make an option to choose which pop menus behavior one prefer ?
There is one more thing. The meny entry to add a keyword is far more often used 
by me than all other entries. So maybe it's a good choice to put this at the 
top of this menu.
You can move the entry at top using contextual menu (right click) on the section label (Keywords -> Move to top).
This is saved between sessions.

--
Zas

Index: bar_gps.c
===================================================================
--- bar_gps.c	(révision 1877)
+++ bar_gps.c	(copie de travail)
@@ -242,7 +242,7 @@
 				clutter_container_add(CLUTTER_CONTAINER(pgd->icon_layer), marker, NULL);
 				clutter_actor_set_reactive(marker, TRUE);
 
-				g_signal_connect(G_OBJECT(marker), "button_press_event",
+				g_signal_connect(G_OBJECT(marker), "button_release_event",
 						 				G_CALLBACK(bar_pane_gps_marker_keypress_cb), pgd);
 
 				g_object_set_data(G_OBJECT(marker), "file_fd", fd);
Index: gq-marshal.c
===================================================================
--- gq-marshal.c	(révision 1877)
+++ gq-marshal.c	(copie de travail)
@@ -4,24 +4,24 @@
 
 
 #ifdef G_ENABLE_DEBUG
-#define g_marshal_value_peek_boolean(v)  g_value_get_boolean(v)
-#define g_marshal_value_peek_char(v)     g_value_get_char(v)
-#define g_marshal_value_peek_uchar(v)    g_value_get_uchar(v)
-#define g_marshal_value_peek_int(v)      g_value_get_int(v)
-#define g_marshal_value_peek_uint(v)     g_value_get_uint(v)
-#define g_marshal_value_peek_long(v)     g_value_get_long(v)
-#define g_marshal_value_peek_ulong(v)    g_value_get_ulong(v)
-#define g_marshal_value_peek_int64(v)    g_value_get_int64(v)
-#define g_marshal_value_peek_uint64(v)   g_value_get_uint64(v)
-#define g_marshal_value_peek_enum(v)     g_value_get_enum(v)
-#define g_marshal_value_peek_flags(v)    g_value_get_flags(v)
-#define g_marshal_value_peek_float(v)    g_value_get_float(v)
-#define g_marshal_value_peek_double(v)   g_value_get_double(v)
-#define g_marshal_value_peek_string(v)   (char*) g_value_get_string(v)
-#define g_marshal_value_peek_param(v)    g_value_get_param(v)
-#define g_marshal_value_peek_boxed(v)    g_value_get_boxed(v)
-#define g_marshal_value_peek_pointer(v)  g_value_get_pointer(v)
-#define g_marshal_value_peek_object(v)   g_value_get_object(v)
+#define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v)
+#define g_marshal_value_peek_char(v)     g_value_get_char (v)
+#define g_marshal_value_peek_uchar(v)    g_value_get_uchar (v)
+#define g_marshal_value_peek_int(v)      g_value_get_int (v)
+#define g_marshal_value_peek_uint(v)     g_value_get_uint (v)
+#define g_marshal_value_peek_long(v)     g_value_get_long (v)
+#define g_marshal_value_peek_ulong(v)    g_value_get_ulong (v)
+#define g_marshal_value_peek_int64(v)    g_value_get_int64 (v)
+#define g_marshal_value_peek_uint64(v)   g_value_get_uint64 (v)
+#define g_marshal_value_peek_enum(v)     g_value_get_enum (v)
+#define g_marshal_value_peek_flags(v)    g_value_get_flags (v)
+#define g_marshal_value_peek_float(v)    g_value_get_float (v)
+#define g_marshal_value_peek_double(v)   g_value_get_double (v)
+#define g_marshal_value_peek_string(v)   (char*) g_value_get_string (v)
+#define g_marshal_value_peek_param(v)    g_value_get_param (v)
+#define g_marshal_value_peek_boxed(v)    g_value_get_boxed (v)
+#define g_marshal_value_peek_pointer(v)  g_value_get_pointer (v)
+#define g_marshal_value_peek_object(v)   g_value_get_object (v)
 #else /* !G_ENABLE_DEBUG */
 /* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
  *          Do not access GValues directly in your code. Instead, use the
@@ -48,16 +48,16 @@
 #endif /* !G_ENABLE_DEBUG */
 
 
-/* VOID:VOID (gq-marshal.list:1) */
+/* VOID:VOID (./gq-marshal.list:1) */
 
-/* VOID:INT,INT,INT,INT (gq-marshal.list:2) */
+/* VOID:INT,INT,INT,INT (./gq-marshal.list:2) */
 void
-gq_marshal_VOID__INT_INT_INT_INT(GClosure     *closure,
-                                 GValue       *return_value G_GNUC_UNUSED,
-                                 guint         n_param_values,
-                                 const GValue *param_values,
-                                 gpointer      invocation_hint G_GNUC_UNUSED,
-                                 gpointer      marshal_data)
+gq_marshal_VOID__INT_INT_INT_INT (GClosure     *closure,
+                                  GValue       *return_value G_GNUC_UNUSED,
+                                  guint         n_param_values,
+                                  const GValue *param_values,
+                                  gpointer      invocation_hint G_GNUC_UNUSED,
+                                  gpointer      marshal_data)
 {
   typedef void (*GMarshalFunc_VOID__INT_INT_INT_INT) (gpointer     data1,
                                                       gint         arg_1,
@@ -69,28 +69,27 @@
   register GCClosure *cc = (GCClosure*) closure;
   register gpointer data1, data2;
 
-  g_return_if_fail(n_param_values == 5);
+  g_return_if_fail (n_param_values == 5);
 
-  if (G_CCLOSURE_SWAP_DATA(closure))
+  if (G_CCLOSURE_SWAP_DATA (closure))
     {
       data1 = closure->data;
-      data2 = g_value_peek_pointer(param_values + 0);
+      data2 = g_value_peek_pointer (param_values + 0);
     }
   else
     {
-      data1 = g_value_peek_pointer(param_values + 0);
+      data1 = g_value_peek_pointer (param_values + 0);
       data2 = closure->data;
     }
   callback = (GMarshalFunc_VOID__INT_INT_INT_INT) (marshal_data ? marshal_data : cc->callback);
 
-  callback(data1,
-           g_marshal_value_peek_int(param_values + 1),
-           g_marshal_value_peek_int(param_values + 2),
-           g_marshal_value_peek_int(param_values + 3),
-           g_marshal_value_peek_int(param_values + 4),
-           data2);
+  callback (data1,
+            g_marshal_value_peek_int (param_values + 1),
+            g_marshal_value_peek_int (param_values + 2),
+            g_marshal_value_peek_int (param_values + 3),
+            g_marshal_value_peek_int (param_values + 4),
+            data2);
 }
 
-/* VOID:DOUBLE (gq-marshal.list:3) */
+/* VOID:DOUBLE (./gq-marshal.list:3) */
 
-/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
Index: gq-marshal.h
===================================================================
--- gq-marshal.h	(révision 1877)
+++ gq-marshal.h	(copie de travail)
@@ -6,10 +6,10 @@
 
 G_BEGIN_DECLS
 
-/* VOID:VOID (gq-marshal.list:1) */
+/* VOID:VOID (./gq-marshal.list:1) */
 #define gq_marshal_VOID__VOID	g_cclosure_marshal_VOID__VOID
 
-/* VOID:INT,INT,INT,INT (gq-marshal.list:2) */
+/* VOID:INT,INT,INT,INT (./gq-marshal.list:2) */
 extern void gq_marshal_VOID__INT_INT_INT_INT (GClosure     *closure,
                                               GValue       *return_value,
                                               guint         n_param_values,
@@ -17,11 +17,10 @@
                                               gpointer      invocation_hint,
                                               gpointer      marshal_data);
 
-/* VOID:DOUBLE (gq-marshal.list:3) */
+/* VOID:DOUBLE (./gq-marshal.list:3) */
 #define gq_marshal_VOID__DOUBLE	g_cclosure_marshal_VOID__DOUBLE
 
 G_END_DECLS
 
 #endif /* __gq_marshal_MARSHAL_H__ */
 
-/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
Index: bar.c
===================================================================
--- bar.c	(révision 1877)
+++ bar.c	(copie de travail)
@@ -517,7 +517,7 @@
 		
 	gtk_box_pack_start(GTK_BOX(bd->vbox), expander, FALSE, TRUE, 0);
 	
-	g_signal_connect(expander, "button_press_event", G_CALLBACK(bar_menu_cb), bd); 
+	g_signal_connect(expander, "button_release_event", G_CALLBACK(bar_menu_cb), bd); 
 	
 	gtk_container_add(GTK_CONTAINER(expander), pane);
 	
@@ -610,7 +610,7 @@
 	g_signal_connect(G_OBJECT(bd->widget), "size-allocate",
 			 G_CALLBACK(bar_size_allocate), bd);
 
-	g_signal_connect(G_OBJECT(bd->widget), "button_press_event", G_CALLBACK(bar_menu_cb), bd); 
+	g_signal_connect(G_OBJECT(bd->widget), "button_release_event", G_CALLBACK(bar_menu_cb), bd); 
 
 	bd->width = SIDEBAR_DEFAULT_WIDTH;
 	gtk_widget_set_size_request(bd->widget, bd->width, -1);
Index: bar_keywords.c
===================================================================
--- bar_keywords.c	(révision 1877)
+++ bar_keywords.c	(copie de travail)
@@ -1356,7 +1356,7 @@
 	g_signal_connect(G_OBJECT(pkd->keyword_treeview), "drag_motion",
 			 G_CALLBACK(bar_pane_keywords_dnd_motion), pkd);
 
-	g_signal_connect(G_OBJECT(pkd->keyword_treeview), "button_press_event", 
+	g_signal_connect(G_OBJECT(pkd->keyword_treeview), "button_release_event", 
 			 G_CALLBACK(bar_pane_keywords_menu_cb), pkd);
 	
 	gtk_container_add(GTK_CONTAINER(scrolled), pkd->keyword_treeview);
Index: bar_exif.c
===================================================================
--- bar_exif.c	(révision 1877)
+++ bar_exif.c	(copie de travail)
@@ -176,7 +176,7 @@
 	gtk_box_pack_start(GTK_BOX(ped->vbox), ee->ebox, FALSE, FALSE, 0);
 
 	bar_pane_exif_entry_dnd_init(ee->ebox);
-	g_signal_connect(ee->ebox, "button_press_event", G_CALLBACK(bar_pane_exif_menu_cb), ped);
+	g_signal_connect(ee->ebox, "button_release_event", G_CALLBACK(bar_pane_exif_menu_cb), ped);
 	
 	bar_pane_exif_setup_entry_box(ped, ee);
 	 
------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
Geeqie-devel mailing list
Geeqie-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geeqie-devel

Reply via email to