r151 - trunk/src/target/OM-2007/libraries/mokoui

mickey at gta01.hmw-consulting.de mickey at gta01.hmw-consulting.de
Mon Oct 30 16:04:17 CET 2006


Author: mickey
Date: 2006-10-30 15:04:16 +0000 (Mon, 30 Oct 2006)
New Revision: 151

Modified:
   trunk/src/target/OM-2007/libraries/mokoui/moko-application.c
   trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c
Log:
mokoui: got the menubox forwarder to work (finally...)


Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-application.c
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-application.c	2006-10-30 13:51:47 UTC (rev 150)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-application.c	2006-10-30 15:04:16 UTC (rev 151)
@@ -75,7 +75,6 @@
 
 static void moko_application_init (MokoApplication *self)
 {
-    g_debug( "moko_application_init" );
     MokoApplicationPriv *priv = MOKO_APPLICATION_GET_PRIVATE (self);
 
     priv->killable = FALSE;
@@ -90,7 +89,6 @@
 
 static void moko_application_finalize (GObject *self)
 {
-    g_debug( "moko_application_finalize", self );
     MokoApplicationPriv *priv = MOKO_APPLICATION_GET_PRIVATE (MOKO_APPLICATION(self));
 
     if (priv->common_toolbar)

Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c	2006-10-30 13:51:47 UTC (rev 150)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c	2006-10-30 15:04:16 UTC (rev 151)
@@ -110,21 +110,36 @@
 
 static gboolean cb_button_release(GtkWidget *widget, GdkEventButton *event, GtkMenu* menu)
 {
-    //FIXME don't open menu when it is already opened
-    g_debug( "menu open forwarder activated..." );
+    g_debug( "menu open forwarder activated on widget '%s'...", gtk_widget_get_name(widget) );
 
+    //FIXME works only with one menu per menubar
+    GList* children = gtk_container_get_children( GTK_CONTAINER(widget) );
+    GtkAllocation* a = &GTK_WIDGET(children->data)->allocation;
+    g_debug( "allocate is %d, %d * %d, %d", a->x, a->y, a->width, a->height );
+
+    if ( event->x > a->x && event->x < (a->x+a->width) &&
+         event->y > a->y && event->y < (a->y+a->height) )
+    {
+        g_debug( "INSIDE ITEM" );
+        return FALSE;
+    }
+    else
+    {
+        g_debug( "OUTSIDE ITEM" );
+    }
+
     g_debug( "clicked on %f, %f", event->x, event->y );
 
     if ( !GTK_WIDGET_VISIBLE(menu) )
     {
         g_debug( "menu open forwarder: not yet open -- popping up" );
         gtk_menu_shell_select_first( GTK_MENU_SHELL(widget), FALSE );
-        return FALSE;
+        return TRUE;
     }
     {
         g_debug( "menu open forwarder: already open -- ignoring" );
         gtk_menu_popdown( menu );
-        return TRUE;
+        return FALSE;
     }
 }
 
@@ -171,7 +186,7 @@
     gtk_menu_shell_append( GTK_MENU_BAR(priv->menubar_l), appitem );
 
     //FIXME hack to popup the first menu if user clicks on menubar
-    //g_signal_connect( GTK_WIDGET(priv->menubar_l), "button-release-event", G_CALLBACK(cb_button_release), menu );
+    g_signal_connect( GTK_WIDGET(priv->menubar_l), "button-release-event", G_CALLBACK(cb_button_release), menu );
 }
 
 void moko_menu_box_set_filter_menu(MokoMenuBox* self, GtkMenu* menu)
@@ -193,7 +208,7 @@
     gtk_menu_shell_append( GTK_MENU_BAR(priv->menubar_r), filtitem );
 
     //FIXME hack to popup the first menu if user clicks on menubar
-    //g_signal_connect( GTK_WIDGET(priv->menubar_r), "button-release-event", G_CALLBACK(cb_button_release), menu );
+    g_signal_connect( GTK_WIDGET(priv->menubar_r), "button-release-event", G_CALLBACK(cb_button_release), menu );
 }
 
 void





More information about the commitlog mailing list