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.
* 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)
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;
#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,
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 */
{
if (win.win != NULL)
XFree (win.char_pointer);
- return GDK_FILTER_CONTINUE;
+ return None;
}
ret = win.win[0];