2006-09-06 Michael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
authorMichael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
Wed, 6 Sep 2006 12:18:20 +0000 (12:18 +0000)
committerMichael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
Wed, 6 Sep 2006 12:18:20 +0000 (12:18 +0000)
* hildon-widgets/hildon-app.h:
* hildon-widgets/hildon-defines.h: Applying Johan's new key mapping
patch back again. WARNING: This breaks compatibility with IT-2006.

* hildon-widgets/hildon-caption.c: Add specific behaviour for
containers when press button event occurs. Fixes #NB36843.

* hildon-widgets/hildon-program.c:
* hildon-widgets/hildon-window.c: Adding a patch to fix occassional
BadWindow X errors. Fixes #NB39679.

ChangeLog
hildon-widgets/hildon-app.h
hildon-widgets/hildon-caption.c
hildon-widgets/hildon-defines.h
hildon-widgets/hildon-program.c
hildon-widgets/hildon-window.c

index 30a11ab..bc2e0e5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
 2006-09-06  Michael Dominic Kostrzewa  <michael.kostrzewa@nokia.com> 
 
+       * hildon-widgets/hildon-app.h:
+       * hildon-widgets/hildon-defines.h: Applying Johan's new key mapping
+       patch back again. WARNING: This breaks compatibility with IT-2006.
+
+       * hildon-widgets/hildon-caption.c: Add specific behaviour for
+       containers when press button event occurs. Fixes #NB36843.
+
+       * hildon-widgets/hildon-program.c:
+       * hildon-widgets/hildon-window.c: Adding a patch to fix occassional
+       BadWindow X errors. Fixes #NB39679.
+
+2006-09-06  Michael Dominic Kostrzewa  <michael.kostrzewa@nokia.com> 
+
        * hildon-widgets/hildon-sort-dialog.c: Adding a function to add
        reversed sort keys. Reversed sort keys present Descending/Ascending
        selection instead of Ascending/Descending default. Fixes #NB32544. 
index 4e18a64..702b967 100644 (file)
@@ -101,13 +101,13 @@ GType hildon_zoom_level_get_type (void);
  * FIXME: These should be removed when API changes are allowed, 
  * they are not used in hildon code anymore (but might be in external). 
  */ 
-#define HILDON_MENU_KEY         GDK_F4
 #define HILDON_HOME_KEY         GDK_F5
 #define HILDON_TOOLBAR_KEY      GDK_T
 #define HILDON_FULLSCREEN_KEY   GDK_F6
 #define HILDON_INCREASE_KEY     GDK_F7
 #define HILDON_DECREASE_KEY     GDK_F8
 #define HILDON_TOOLBAR_MODIFIERS (GDK_SHIFT_MASK | GDK_CONTROL_MASK)
+#define HILDON_MENU_KEY         GDK_F10
 
 #define HILDON_KEYEVENT_IS_MENU_KEY(keyevent) (keyevent->keyval == HILDON_MENU_KEY)
 #define HILDON_KEYEVENT_IS_HOME_KEY(keyevent) (keyevent->keyval == HILDON_HOME_KEY)
index c2aa247..db7c583 100644 (file)
@@ -515,8 +515,18 @@ static gboolean hildon_caption_button_press( GtkWidget *widget,
   if ((GTK_WIDGET_CAN_FOCUS(child) || GTK_IS_CONTAINER(child)) &&
       GTK_WIDGET_IS_SENSITIVE(child))
   {
-    priv->is_focused = TRUE;
-    gtk_widget_grab_focus( GTK_BIN(widget)->child );
+    /* Only if container can be focusable we must set is_focused to TRUE */ 
+    if (GTK_IS_CONTAINER(child))
+    {
+      if (gtk_widget_child_focus (child,
+                                 GTK_DIR_TAB_FORWARD))
+       priv->is_focused = TRUE;
+    }
+    else
+    {
+      priv->is_focused = TRUE;
+      gtk_widget_grab_focus (GTK_BIN (widget)->child);
+    }
   }
 
   return FALSE;
index b6afda6..ab313f7 100644 (file)
@@ -127,12 +127,12 @@ extern const HildonIconSizes *hildoniconsizes;
 #define HILDON_HARDKEY_RIGHT      GDK_Right
 #define HILDON_HARDKEY_DOWN       GDK_Down
 #define HILDON_HARDKEY_SELECT     GDK_Return
-#define HILDON_HARDKEY_MENU       GDK_F4
 #define HILDON_HARDKEY_HOME       GDK_F5
 #define HILDON_HARDKEY_ESC        GDK_Escape
 #define HILDON_HARDKEY_FULLSCREEN GDK_F6
 #define HILDON_HARDKEY_INCREASE   GDK_F7
 #define HILDON_HARDKEY_DECREASE   GDK_F8
+#define HILDON_HARDKEY_MENU       GDK_F10
 
 gulong hildon_gtk_widget_set_logical_font (GtkWidget *widget, const gchar *logicalfontname);
 gulong hildon_gtk_widget_set_logical_color (GtkWidget *widget, GtkRcFlags rcflags,
index c49e56a..bbbcfec 100644 (file)
@@ -250,26 +250,28 @@ hildon_program_update_top_most (HildonProgram *program)
     
     active_window = hildon_window_get_active_window();
 
-    wm_hints = XGetWMHints (GDK_DISPLAY (), active_window);
-
-    if (wm_hints)
+    if (active_window)
     {
+      wm_hints = XGetWMHints (GDK_DISPLAY (), active_window);
 
-        if (wm_hints->window_group == priv->window_group)
-        {
-            if (!priv->is_topmost)
-            {
-                priv->is_topmost = TRUE;
-                g_object_notify (G_OBJECT (program), "is-topmost");
-            }
-        }
-        else if (priv->is_topmost)
-        {
+      if (wm_hints)
+      {
+
+          if (wm_hints->window_group == priv->window_group)
+          {
+              if (!priv->is_topmost)
+              {
+                  priv->is_topmost = TRUE;
+                  g_object_notify (G_OBJECT (program), "is-topmost");
+              }
+          }
+          else if (priv->is_topmost)
+          {
             priv->is_topmost = FALSE;
             g_object_notify (G_OBJECT (program), "is-topmost");
-        }
-
-        XFree (wm_hints);
+          }
+      }
+      XFree (wm_hints);
     }
 
     /* Check each window if it was is_topmost */
index 01d9609..181d163 100644 (file)
@@ -975,7 +975,7 @@ hildon_window_get_active_window (void)
     {
         if (win.win != NULL)
             XFree (win.char_pointer);
-        return GDK_FILTER_CONTINUE;
+        return None;
     }
 
     ret = win.win[0];