[maemo-commits] [maemo-commits] r13750 - in projects/haf/trunk/hildon-desktop: . libhildondesktop src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Tue Sep 11 15:38:11 EEST 2007
- Previous message: [maemo-commits] r13749 - projects/haf/hafbuildbot
- Next message: [maemo-commits] r13751 - projects/haf/trunk/hildon-thumbnail-libid3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: lucasr Date: 2007-09-11 15:38:09 +0300 (Tue, 11 Sep 2007) New Revision: 13750 Modified: projects/haf/trunk/hildon-desktop/ChangeLog projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c Log: 2007-09-11 Lucas Rocha <lucas.rocha at nokia.com> * libhildondesktop/hildon-desktop-popup-menu.c (hildon_desktop_popup_menu_scroll_start, hildon_desktop_popup_menu_scroll_stop, hildon_desktop_popup_menu_scroll_initial_step, hildon_desktop_popup_menu_scroll_cb, hildon_desktop_popup_menu_remove_scroll_timeout): wait a certain time before doing the continous scrolling with scroll buttons in order to ensure that it's possible to scroll only one item with simple click. Fixes: NB#68835. Modified: projects/haf/trunk/hildon-desktop/ChangeLog =================================================================== --- projects/haf/trunk/hildon-desktop/ChangeLog 2007-09-11 11:35:20 UTC (rev 13749) +++ projects/haf/trunk/hildon-desktop/ChangeLog 2007-09-11 12:38:09 UTC (rev 13750) @@ -1,3 +1,15 @@ +2007-09-11 Lucas Rocha <lucas.rocha at nokia.com> + + * libhildondesktop/hildon-desktop-popup-menu.c + (hildon_desktop_popup_menu_scroll_start, + hildon_desktop_popup_menu_scroll_stop, + hildon_desktop_popup_menu_scroll_initial_step, + hildon_desktop_popup_menu_scroll_cb, + hildon_desktop_popup_menu_remove_scroll_timeout): wait a certain time + before doing the continous scrolling with scroll buttons in order to + ensure that it's possible to scroll only one item with simple click. + Fixes: NB#68835. + 2007-09-10 Moises Martinez <moises.martinez at nokia.com> * libhildondesktop/hildon-desktop-popup-window.c: Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c =================================================================== --- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c 2007-09-11 11:35:20 UTC (rev 13749) +++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c 2007-09-11 12:38:09 UTC (rev 13750) @@ -56,7 +56,8 @@ static gint signals[N_SIGNALS]; -#define MENU_SCROLL_TIMEOUT 40 +#define MENU_SCROLL_TIMEOUT 50 +#define MENU_SCROLL_INITIAL_TIMEOUT 200 struct _HildonDesktopPopupMenuPrivate { @@ -109,7 +110,6 @@ static gboolean hildon_desktop_popup_menu_release_event (GtkWidget *widget, GdkEventButton *event); static gboolean hildon_desktop_popup_menu_key_press_event (GtkWidget *widget, GdkEventKey *event); static void hildon_desktop_popup_menu_select_next_prev_item (HildonDesktopPopupMenu *menu, gboolean next); -static void hildon_desktop_popup_menu_scroll_cb (GtkWidget *widget, HildonDesktopPopupMenu *menu); static void hildon_desktop_popup_menu_scroll_start (GtkWidget *widget, HildonDesktopPopupMenu *menu); static void hildon_desktop_popup_menu_scroll_stop (GtkWidget *widget, HildonDesktopPopupMenu *menu); static void hildon_desktop_popup_menu_adjustment_changed (GtkAdjustment *adj, HildonDesktopPopupMenu *menu); @@ -307,11 +307,6 @@ NULL); g_signal_connect (menu->priv->scroll_down, - "clicked", - G_CALLBACK (hildon_desktop_popup_menu_scroll_cb), - (gpointer)menu); - - g_signal_connect (menu->priv->scroll_down, "pressed", G_CALLBACK (hildon_desktop_popup_menu_scroll_start), (gpointer)menu); @@ -322,11 +317,6 @@ (gpointer)menu); g_signal_connect (menu->priv->scroll_up, - "clicked", - G_CALLBACK (hildon_desktop_popup_menu_scroll_cb), - (gpointer)menu); - - g_signal_connect (menu->priv->scroll_up, "pressed", G_CALLBACK (hildon_desktop_popup_menu_scroll_start), (gpointer)menu); @@ -588,6 +578,16 @@ hildon_desktop_popup_menu_update_scroll_buttons (menu); } +static void +hildon_desktop_popup_menu_remove_scroll_timeout (HildonDesktopPopupMenu *menu) +{ + if (menu->priv->scroll_id > 0) + { + g_source_remove (menu->priv->scroll_id); + menu->priv->scroll_id = 0; + } +} + static gboolean hildon_desktop_popup_menu_scroll_step (gpointer data) { @@ -619,6 +619,20 @@ return TRUE; } +static gboolean +hildon_desktop_popup_menu_scroll_initial_step (gpointer data) +{ + HildonDesktopPopupMenu *menu = HILDON_DESKTOP_POPUP_MENU (data); + + hildon_desktop_popup_menu_remove_scroll_timeout (menu); + + menu->priv->scroll_id = g_timeout_add (MENU_SCROLL_TIMEOUT, + hildon_desktop_popup_menu_scroll_step, + menu); + + return FALSE; +} + static void hildon_desktop_popup_menu_scroll_start (GtkWidget *widget, HildonDesktopPopupMenu *menu) { @@ -627,28 +641,19 @@ else menu->priv->scroll_dir = 1; - menu->priv->scroll_id = - g_timeout_add (MENU_SCROLL_TIMEOUT, hildon_desktop_popup_menu_scroll_step, menu); + hildon_desktop_popup_menu_scroll_step (menu); + + menu->priv->scroll_id = g_timeout_add (MENU_SCROLL_INITIAL_TIMEOUT, + hildon_desktop_popup_menu_scroll_initial_step, + menu); } static void hildon_desktop_popup_menu_scroll_stop (GtkWidget *widget, HildonDesktopPopupMenu *menu) { - g_source_remove (menu->priv->scroll_id); - menu->priv->scroll_id = 0; + hildon_desktop_popup_menu_remove_scroll_timeout (menu); } -static void -hildon_desktop_popup_menu_scroll_cb (GtkWidget *widget, HildonDesktopPopupMenu *menu) -{ - if (widget == menu->priv->scroll_up) - menu->priv->scroll_dir = -1; - else - menu->priv->scroll_dir = 1; - - hildon_desktop_popup_menu_scroll_step (menu); -} - static gboolean hildon_desktop_popup_menu_release_event (GtkWidget *widget, GdkEventButton *event) Modified: projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c =================================================================== --- projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c 2007-09-11 11:35:20 UTC (rev 13749) +++ projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c 2007-09-11 12:38:09 UTC (rev 13750) @@ -751,7 +751,7 @@ if (!first_item) { GtkWidget *separator = gtk_separator_menu_item_new (); - + if (level > 0) gtk_widget_set_name (GTK_WIDGET (separator), HD_APPS_MENU_APP_MENU_ITEM_NAME); else
- Previous message: [maemo-commits] r13749 - projects/haf/hafbuildbot
- Next message: [maemo-commits] r13751 - projects/haf/trunk/hildon-thumbnail-libid3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]