[maemo-commits] [maemo-commits] r9290 - in projects/haf/branches/gtk+/maemo-gtk-2-10: . gtk
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Jan 24 14:57:58 EET 2007
- Previous message: [maemo-commits] r9289 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . src
- Next message: [maemo-commits] r9291 - projects/haf/branches/gtk+/maemo-gtk-2-10/gdk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: timj Date: 2007-01-24 14:57:55 +0200 (Wed, 24 Jan 2007) New Revision: 9290 Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkcombobox.c projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkenums.h projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkmain.c projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkmenushell.c projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktoolbutton.c projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktoolbutton.h projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkwidget.c Log: Wed Jan 24 13:37:41 2007 Tim Janik <timj at imendio.com> * gtkwidget.c: ported GtkWidget::insensitive-press from maemo-gtk-2-6, which is used to display tooltips/info upon button clicks on insensitive widgets. completed gtk_widget_insensitive_press() body. * gtktoolbutton.c: proxy ::insensitive-press from button child. * gtktoolbutton.h: renamed unused ->UNUSED_insensitive_press pointer to catch erroneous uses, GtkWidget::insensitive-press should be used instead. * gtkcombobox.c: proxy ::insensitive-press from child widgets. * gtkmenushell.c: proxy ::insensitive-press to menu items. * gtkmain.c: emit GtkWidget::insensitive-press. * gtk/gtkenums.h: fixed enum value syntax to please glib-mkenums, added MAEMO_CHANGES-ifdefs. Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog =================================================================== --- projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog 2007-01-24 12:56:50 UTC (rev 9289) +++ projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog 2007-01-24 12:57:55 UTC (rev 9290) @@ -1,3 +1,23 @@ +Wed Jan 24 13:37:41 2007 Tim Janik <timj at imendio.com> + + * gtkwidget.c: ported GtkWidget::insensitive-press from maemo-gtk-2-6, + which is used to display tooltips/info upon button clicks on insensitive + widgets. completed gtk_widget_insensitive_press() body. + + * gtktoolbutton.c: proxy ::insensitive-press from button child. + + * gtktoolbutton.h: renamed unused ->UNUSED_insensitive_press pointer + to catch erroneous uses, GtkWidget::insensitive-press should be used instead. + + * gtkcombobox.c: proxy ::insensitive-press from child widgets. + + * gtkmenushell.c: proxy ::insensitive-press to menu items. + + * gtkmain.c: emit GtkWidget::insensitive-press. + + * gtk/gtkenums.h: fixed enum value syntax to please glib-mkenums, added + MAEMO_CHANGES-ifdefs. + 2007-01-24 Michael Natterer <mitch at imendio.com> * gtk/gtkwidget.c: port over set_extension_events_internal() which Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkcombobox.c =================================================================== --- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkcombobox.c 2007-01-24 12:56:50 UTC (rev 9289) +++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkcombobox.c 2007-01-24 12:57:55 UTC (rev 9290) @@ -1086,6 +1086,13 @@ combo_box->priv->box = NULL; } } + +#ifdef MAEMO_CHANGES + /* Hildon: propagate the insensitive-press */ + if (GTK_BIN (container)->child) + g_signal_connect_swapped (GTK_BIN (container)->child, "insensitive-press", + G_CALLBACK (gtk_widget_insensitive_press), combo_box); +#endif /* MAEMO_CHANGES */ } static void @@ -1099,6 +1106,11 @@ if (widget == combo_box->priv->cell_view) combo_box->priv->cell_view = NULL; +#ifdef MAEMO_CHANGES + /* Hildon: stop propagating the insensitive-press */ + g_signal_handlers_disconnect_by_func (widget, G_CALLBACK (gtk_widget_insensitive_press), combo_box); +#endif /* MAEMO_CHANGES */ + gtk_widget_unparent (widget); GTK_BIN (container)->child = NULL; @@ -2609,6 +2621,12 @@ gtk_widget_show_all (combo_box->priv->button); } +#ifdef MAEMO_CHANGES + /* Hildon: propagate the insensitive press */ + g_signal_connect_swapped (combo_box->priv->button, "insensitive-press", + G_CALLBACK (gtk_widget_insensitive_press), combo_box); +#endif /* MAEMO_CHANGES */ + g_signal_connect (combo_box->priv->button, "button_press_event", G_CALLBACK (gtk_combo_box_menu_button_press), combo_box); @@ -3369,6 +3387,12 @@ g_signal_connect (combo_box->priv->button, "toggled", G_CALLBACK (gtk_combo_box_button_toggled), combo_box); +#ifdef MAEMO_CHANGES + /* Hildon: propagate the insensitive press */ + g_signal_connect_swapped (combo_box->priv->button, "insensitive-press", + G_CALLBACK (gtk_widget_insensitive_press), combo_box); +#endif /* MAEMO_CHANGES */ + combo_box->priv->arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE); gtk_container_add (GTK_CONTAINER (combo_box->priv->button), combo_box->priv->arrow); @@ -3384,6 +3408,12 @@ gtk_event_box_set_visible_window (GTK_EVENT_BOX (combo_box->priv->box), FALSE); +#ifdef MAEMO_CHANGES + /* Hildon: propagate the insensitive press */ + g_signal_connect_swapped (combo_box->priv->box, "insensitive-press", + G_CALLBACK (gtk_widget_insensitive_press), combo_box); +#endif /* MAEMO_CHANGES */ + if (combo_box->priv->has_frame) { combo_box->priv->cell_view_frame = gtk_frame_new (NULL); Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkenums.h =================================================================== --- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkenums.h 2007-01-24 12:56:50 UTC (rev 9289) +++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkenums.h 2007-01-24 12:57:55 UTC (rev 9290) @@ -131,14 +131,14 @@ GTK_ICON_SIZE_LARGE_TOOLBAR, GTK_ICON_SIZE_BUTTON, GTK_ICON_SIZE_DND, - GTK_ICON_SIZE_DIALOG + GTK_ICON_SIZE_DIALOG, - /* MAEMO START */ - , HILDON_ICON_SIZE_26, +#ifdef MAEMO_CHANGES + HILDON_ICON_SIZE_26, HILDON_ICON_SIZE_40, HILDON_ICON_SIZE_50, HILDON_ICON_SIZE_64 - /* MAEMO END */ +#endif /* MAEMO_CHANGES */ } GtkIconSize; /* automatic sensitivity */ @@ -521,7 +521,7 @@ GTK_TREE_VIEW_GRID_LINES_BOTH } GtkTreeViewGridLines; -/* MAEMO START */ +#ifdef MAEMO_CHANGES typedef enum { GTK_INVALID_INPUT_MAX_CHARS_REACHED, @@ -536,13 +536,12 @@ HILDON_GTK_INPUT_MODE_HEXA = 1 << 3, HILDON_GTK_INPUT_MODE_TELE = 1 << 4, - HILDON_GTK_INPUT_MODE_FULL = (HILDON_GTK_INPUT_MODE_ALPHA | HILDON_GTK_INPUT_MODE_NUMERIC | - HILDON_GTK_INPUT_MODE_SPECIAL), + HILDON_GTK_INPUT_MODE_FULL = (HILDON_GTK_INPUT_MODE_ALPHA | HILDON_GTK_INPUT_MODE_NUMERIC | HILDON_GTK_INPUT_MODE_SPECIAL), HILDON_GTK_INPUT_MODE_INVISIBLE = 1 << 29, HILDON_GTK_INPUT_MODE_AUTOCAP = 1 << 30 } HildonGtkInputMode; -/* MAEMO END */ +#endif /* MAEMO_CHANGES */ G_END_DECLS Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkmain.c =================================================================== --- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkmain.c 2007-01-24 12:56:50 UTC (rev 9289) +++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkmain.c 2007-01-24 12:57:55 UTC (rev 9290) @@ -1400,10 +1400,15 @@ gtk_widget_event (event_widget, event); break; - case GDK_SCROLL: case GDK_BUTTON_PRESS: +#ifdef MAEMO_CHANGES + if (!GTK_WIDGET_IS_SENSITIVE (event_widget)) + gtk_widget_insensitive_press (grab_widget); + /* fall through */ +#endif /* MAEMO_CHANGES */ case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: + case GDK_SCROLL: gtk_propagate_event (grab_widget, event); break; Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkmenushell.c =================================================================== --- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkmenushell.c 2007-01-24 12:56:50 UTC (rev 9289) +++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkmenushell.c 2007-01-24 12:57:55 UTC (rev 9290) @@ -203,7 +203,20 @@ G_DEFINE_TYPE (GtkMenuShell, gtk_menu_shell, GTK_TYPE_CONTAINER) +#ifdef MAEMO_CHANGES static void +gtk_menu_shell_insensitive_press (GtkWidget *widget) +{ + GtkMenuShell *menu_shell; + GdkEvent *event; + g_return_if_fail (GTK_IS_MENU_SHELL (widget)); + menu_shell = GTK_MENU_SHELL (widget); + event = gtk_get_current_event (); + gtk_widget_insensitive_press (gtk_get_event_widget (event)); +} +#endif /* MAEMO_CHANGES */ + +static void gtk_menu_shell_class_init (GtkMenuShellClass *klass) { GObjectClass *object_class; @@ -228,6 +241,9 @@ widget_class->enter_notify_event = gtk_menu_shell_enter_notify; widget_class->leave_notify_event = gtk_menu_shell_leave_notify; widget_class->screen_changed = gtk_menu_shell_screen_changed; +#ifdef MAEMO_CHANGES + widget_class->insensitive_press = gtk_menu_shell_insensitive_press; +#endif /* MAEMO_CHANGES */ container_class->add = gtk_menu_shell_add; container_class->remove = gtk_menu_shell_remove; Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktoolbutton.c =================================================================== --- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktoolbutton.c 2007-01-24 12:56:50 UTC (rev 9289) +++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktoolbutton.c 2007-01-24 12:57:55 UTC (rev 9290) @@ -262,7 +262,16 @@ g_type_class_add_private (object_class, sizeof (GtkToolButtonPrivate)); } +#ifdef MAEMO_CHANGES static void +maemo_insensitive_press (GtkWidget *widget, + GtkToolButton *button) +{ + gtk_widget_insensitive_press (GTK_WIDGET (button)); +} +#endif /* MAEMO_CHANGES */ + +static void gtk_tool_button_init (GtkToolButton *button, GtkToolButtonClass *klass) { @@ -278,6 +287,12 @@ g_signal_connect_object (button->priv->button, "clicked", G_CALLBACK (button_clicked), button, 0); +#ifdef MAEMO_CHANGES + /* Hildon: connect "insensitive_press" signal for private button */ + g_signal_connect_object (button->priv->button, "insensitive_press", + G_CALLBACK (maemo_insensitive_press), button, 0); +#endif /* MAEMO_CHANGES */ + gtk_container_add (GTK_CONTAINER (button), button->priv->button); gtk_widget_show (button->priv->button); } Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktoolbutton.h =================================================================== --- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktoolbutton.h 2007-01-24 12:56:50 UTC (rev 9289) +++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktoolbutton.h 2007-01-24 12:57:55 UTC (rev 9290) @@ -57,7 +57,7 @@ /* Padding for future expansion */ #ifdef MAEMO_CHANGES - void (* insensitive_press) (GtkToolButton *tool_item); + void (* UNUSED_insensitive_press) (GtkToolButton *tool_item); #else void (* _gtk_reserved1) (void); #endif /* MAEMO_CHANGES */ Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkwidget.c =================================================================== --- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkwidget.c 2007-01-24 12:56:50 UTC (rev 9289) +++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkwidget.c 2007-01-24 12:57:55 UTC (rev 9290) @@ -138,6 +138,7 @@ COMPOSITED_CHANGED, KEYNAV_FAILED, #ifdef MAEMO_CHANGES + INSENSITIVE_PRESS, TAP_AND_HOLD, TAP_AND_HOLD_SETUP, TAP_AND_HOLD_QUERY, @@ -614,7 +615,7 @@ P_("Whether gtk_widget_show_all() should not affect this widget"), FALSE, GTK_PARAM_READWRITE)); - + #ifdef MAEMO_CHANGES /** * GtkWidget:tap-and-hold-state: @@ -1584,6 +1585,24 @@ #ifdef MAEMO_CHANGES /** + * GtkWidget::insensitive-press: + * @widget: the object which received the signal + * + * If a widget is insensitive and it receives click event, + * the signal is emited. Signal is made to clarify situations where + * a widget is not easily noticable as an insenitive widget. + * + * Since: maemo 1.0 + */ + widget_signals[INSENSITIVE_PRESS] = + g_signal_new ("insensitive_press", + G_TYPE_FROM_CLASS (gobject_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GtkWidgetClass, insensitive_press), + NULL, NULL, + _gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); + /** * GtkWidget::tap-and-hold: * @widget: the object which received the signal * @@ -8871,8 +8890,19 @@ } -void gtk_widget_insensitive_press ( GtkWidget *widget ) +/** + * gtk_widget_insensitive_press: + * @widget: a #GtkWidget + * + * Emits the "insensitive-press" signal. + * + * Since: maemo 1.0 + */ +void +gtk_widget_insensitive_press ( GtkWidget *widget ) { + g_return_if_fail (GTK_IS_WIDGET (widget)); + g_signal_emit(widget, widget_signals[INSENSITIVE_PRESS], 0); } #endif /* MAEMO_CHANGES */
- Previous message: [maemo-commits] r9289 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . src
- Next message: [maemo-commits] r9291 - projects/haf/branches/gtk+/maemo-gtk-2-10/gdk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]