[maemo-commits] [maemo-commits] r11026 - in projects/haf/trunk/hildon-desktop: . src

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Fri Apr 13 15:53:15 EEST 2007
Author: moimart
Date: 2007-04-13 15:53:14 +0300 (Fri, 13 Apr 2007)
New Revision: 11026

Modified:
   projects/haf/trunk/hildon-desktop/ChangeLog
   projects/haf/trunk/hildon-desktop/src/hn-app-button.c
   projects/haf/trunk/hildon-desktop/src/hn-app-switcher.c
Log:

	* src/hn-app-switcher.c:
        - Place main menu according to fullscreen mode. Fixes: NB#53969
        * src/hn-app-button.c:
        - Implemented proper left/right rocker behavior.
	* ChangeLog updated.



Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog	2007-04-13 11:55:53 UTC (rev 11025)
+++ projects/haf/trunk/hildon-desktop/ChangeLog	2007-04-13 12:53:14 UTC (rev 11026)
@@ -1,3 +1,10 @@
+2007-04-13  Moises Martinez  <moises.martinez at nokia.com>
+
+	* src/hn-app-switcher.c:
+	- Place main menu according to fullscreen mode. Fixes: NB#53969
+	* src/hn-app-button.c:
+	- Implemented proper left/right rocker behavior.
+
 2007-04-12  Johan Bilien  <johan.bilien at nokia.com>
 
 	* configure.ac: 0.0.6

Modified: projects/haf/trunk/hildon-desktop/src/hn-app-button.c
===================================================================
--- projects/haf/trunk/hildon-desktop/src/hn-app-button.c	2007-04-13 11:55:53 UTC (rev 11025)
+++ projects/haf/trunk/hildon-desktop/src/hn-app-button.c	2007-04-13 12:53:14 UTC (rev 11026)
@@ -576,9 +576,9 @@
   g_return_val_if_fail(info, FALSE);
   
   n_children = hd_entry_info_get_n_children (info);
-  if (n_children == 1)
-    {
-      /* pointer released in the app button, top our app */
+  if (n_children == 1) /*FIXME: to be deleted */
+  {
+    /* pointer released in the app button, top our app */
       const GList *child;
       gboolean was_blinking;
 
@@ -595,9 +595,9 @@
 	}
       
       hd_wm_top_item (child->data);
-    }
+  }
   else
-    {
+  {
       GtkWidget *menu;
       gboolean   was_blinking;
 
@@ -676,35 +676,41 @@
       event->keyval == GDK_KP_Enter ||
       event->keyval == GDK_ISO_Enter||
       event->keyval == GDK_Return)
+  {
+    gint n_children;
+    
+    /* search for the toggled button, so that we can re-toggle
+     * it in case the user didn't top the window/application
+     */
+      
+    app_button->priv->prev_button = NULL;
+    for (l = app_button->group; l != NULL; l = l->next)
     {
-      /* search for the toggled button, so that we can re-toggle
-       * it in case the user didn't top the window/application
-       */
-      
-      app_button->priv->prev_button = NULL;
-      for (l = app_button->group; l != NULL; l = l->next)
-        {
-          tmp_button = l->data;
+      tmp_button = l->data;
 
-          if (tmp_button->active && (tmp_button != toggle_button))
-            {
-              app_button->priv->prev_button = tmp_button;
-              break;
-            }
-        }
-  
+      if (tmp_button->active && (tmp_button != toggle_button))
+      {
+         app_button->priv->prev_button = tmp_button;
+         break;
+      }
+    }
+    
+    n_children = hd_entry_info_get_n_children (app_button->priv->info);
+
+    if (n_children > 1 || 
+	event->keyval == GDK_KP_Enter || 
+	event->keyval == GDK_ISO_Enter || 
+	event->keyval == GDK_Return)
+    {
       gtk_toggle_button_set_active (toggle_button, TRUE);
       gtk_toggle_button_toggled (toggle_button);
-  
+    	    
       hn_app_button_pop_menu (app_button);
-      return TRUE;
     }
-  else if(event->keyval == GDK_Left || event->keyval == GDK_KP_Left)
-	{
-      HN_DBG("left keypress -- passing focus to last active app");
-      g_debug ("%s: %d, hd_wm_activate(HN_TN_ACTIVATE_LAST_APP_WINDOW);",__FILE__,__LINE__);
-	}
-
+      
+    return TRUE;
+  }
+  
   return FALSE;
 }
 

Modified: projects/haf/trunk/hildon-desktop/src/hn-app-switcher.c
===================================================================
--- projects/haf/trunk/hildon-desktop/src/hn-app-switcher.c	2007-04-13 11:55:53 UTC (rev 11025)
+++ projects/haf/trunk/hildon-desktop/src/hn-app-switcher.c	2007-04-13 12:53:14 UTC (rev 11026)
@@ -215,6 +215,7 @@
   guint is_thumbable : 1;
   gboolean force_thumb : 1;
   guint was_thumbable : 1;
+  gboolean is_fullscreen;
 
   guint menu_button_timeout;
 
@@ -728,6 +729,7 @@
 			 gboolean *push_in,
 			 gpointer  data)
 {
+  HNAppSwitcher *app_switcher = HN_APP_SWITCHER (data);	
   GtkRequisition req;
   GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET (menu));
   gint menu_height = 0;
@@ -757,7 +759,7 @@
   menu_height = req.height;
   main_height = gdk_screen_get_height (screen);
 
-  if (hd_wm_fullscreen_mode ())
+  if (app_switcher->priv->is_fullscreen)
   {
     *x = 0;
     *y = MAX (0, (main_height - menu_height));
@@ -1205,6 +1207,12 @@
   return priv->buttons[pos];
 }
 
+static void 
+hn_app_switcher_track_fullscreen_cb (HDWM *hdwm, gboolean fullscreen, HNAppSwitcher *app_switcher)
+{
+  app_switcher->priv->is_fullscreen = fullscreen;
+}	
+
 static void
 hn_app_switcher_build (HNAppSwitcher *app_switcher)
 {
@@ -1275,6 +1283,11 @@
 		    G_CALLBACK (hn_app_switcher_close_application_dialog),
 		    NULL);
 
+  g_signal_connect (app_switcher->hdwm,
+		    "fullscreen",
+		    G_CALLBACK (hn_app_switcher_track_fullscreen_cb),
+		    (gpointer)app_switcher);
+
   g_signal_connect (app_switcher,
 		    "notify::orientation",
 		    G_CALLBACK (hn_app_switcher_orientation_changed_cb),
@@ -2126,6 +2139,7 @@
   
   app_switcher->priv->buttons_group = NULL;
 
+  app_switcher->priv->is_fullscreen = 
   app_switcher->priv->force_thumb = FALSE;
 
   gtk_widget_set_name (GTK_WIDGET (app_switcher), AS_BOX_NAME);


More information about the maemo-commits mailing list