From: <pa...@us...> - 2008-01-26 20:15:34
|
Revision: 303 http://osmo-pim.svn.sourceforge.net/osmo-pim/?rev=303&view=rev Author: pasp Date: 2008-01-26 12:15:35 -0800 (Sat, 26 Jan 2008) Log Message: ----------- * Corrected Alt+1..6 shortcuts behavior Modified Paths: -------------- trunk/src/gui.c trunk/src/options_gui_general.c trunk/src/options_prefs.c Modified: trunk/src/gui.c =================================================================== --- trunk/src/gui.c 2008-01-26 19:03:03 UTC (rev 302) +++ trunk/src/gui.c 2008-01-26 20:15:35 UTC (rev 303) @@ -244,6 +244,37 @@ /*------------------------------------------------------------------------------*/ +void +select_tab (gint tab, GUI *appGUI) { + +gint i, n; + + if (tab < get_visible_tabs(appGUI)) { + + n = 0; + + for (i = PAGE_CALENDAR; i < NUMBER_OF_TABS; i++) { + + if (i == PAGE_CALENDAR && !config.hide_calendar) n++; + if (i == PAGE_TASKS && !config.hide_tasks) n++; + if (i == PAGE_CONTACTS && !config.hide_contacts) n++; +#ifdef HAVE_LIBGRINGOTTS + if (i == PAGE_NOTES && !config.hide_notes) n++; +#endif /* HAVE_LIBGRINGOTTS */ + if (i == PAGE_OPTIONS || i == PAGE_ABOUT) n++; + + if (n == tab+1) break; + } + + if (i != NUMBER_OF_TABS) { + gtk_notebook_set_current_page (GTK_NOTEBOOK (appGUI->notebook), i); + } + } + +} + +/*------------------------------------------------------------------------------*/ + gint key_press_cb (GtkWidget *widget, GdkEventKey *event, gpointer data) { @@ -698,57 +729,41 @@ #endif /* HAVE_LIBGRINGOTTS */ return FALSE; case GDK_1: - if ((event->state & GDK_MOD1_MASK) && !config.hide_calendar) { /* ALT + 1 */ - gtk_notebook_set_current_page (GTK_NOTEBOOK (appGUI->notebook), PAGE_CALENDAR); + if ((event->state & GDK_MOD1_MASK)) { /* ALT + 1 */ + select_tab (0, appGUI); return TRUE; } return FALSE; case GDK_2: - if ((event->state & GDK_MOD1_MASK) && !config.hide_tasks) { /* ALT + 2 */ - gtk_notebook_set_current_page (GTK_NOTEBOOK (appGUI->notebook), PAGE_TASKS); + if ((event->state & GDK_MOD1_MASK)) { /* ALT + 2 */ + select_tab (1, appGUI); return TRUE; } return FALSE; case GDK_3: - if ((event->state & GDK_MOD1_MASK) && !config.hide_contacts) { /* ALT + 3 */ - gtk_notebook_set_current_page (GTK_NOTEBOOK (appGUI->notebook), PAGE_CONTACTS); + if ((event->state & GDK_MOD1_MASK)) { /* ALT + 3 */ + select_tab (2, appGUI); return TRUE; } return FALSE; -#ifdef HAVE_LIBGRINGOTTS case GDK_4: - if ((event->state & GDK_MOD1_MASK) && !config.hide_notes) { /* ALT + 4 */ - gtk_notebook_set_current_page (GTK_NOTEBOOK (appGUI->notebook), PAGE_NOTES); + if ((event->state & GDK_MOD1_MASK)) { /* ALT + 4 */ + select_tab (3, appGUI); return TRUE; } return FALSE; case GDK_5: if (event->state & GDK_MOD1_MASK) { /* ALT + 5 */ - gtk_notebook_set_current_page (GTK_NOTEBOOK (appGUI->notebook), PAGE_OPTIONS); + select_tab (4, appGUI); return TRUE; } return FALSE; case GDK_6: if (event->state & GDK_MOD1_MASK) { /* ALT + 6 */ - gtk_notebook_set_current_page (GTK_NOTEBOOK (appGUI->notebook), PAGE_ABOUT); + select_tab (5, appGUI); return TRUE; } return FALSE; -#else - case GDK_4: - if (event->state & GDK_MOD1_MASK) { /* ALT + 4 */ - gtk_notebook_set_current_page (GTK_NOTEBOOK (appGUI->notebook), PAGE_OPTIONS); - return TRUE; - } - return FALSE; - case GDK_5: - if (event->state & GDK_MOD1_MASK) { /* ALT + 5 */ - gtk_notebook_set_current_page (GTK_NOTEBOOK (appGUI->notebook), PAGE_ABOUT); - return TRUE; - } - return FALSE; -#endif /* HAVE_LIBGRINGOTTS */ - } return FALSE; @@ -1192,17 +1207,6 @@ display_help(GUI *appGUI) { const gchar *general_keys_text[] = { - "<Alt+1>", N_("switch to calendar tab"), - "<Alt+2>", N_("switch to tasks tab"), - "<Alt+3>", N_("switch to contacts tab"), -#ifdef HAVE_LIBGRINGOTTS - "<Alt+4>", N_("switch to notes tab"), - "<Alt+5>", N_("switch to options tab"), - "<Alt+6>", N_("switch to about tab"), -#else - "<Alt+4>", N_("switch to options tab"), - "<Alt+5>", N_("switch to about tab"), -#endif /* HAVE_LIBGRINGOTTS */ "<Ctrl+PageUp>", N_("switch to previous tab"), "<Ctrl+PageDn>", N_("switch to next tab"), "<PageUp/PageDn>", N_("switch page in options and about tab"), Modified: trunk/src/options_gui_general.c =================================================================== --- trunk/src/options_gui_general.c 2008-01-26 19:03:03 UTC (rev 302) +++ trunk/src/options_gui_general.c 2008-01-26 20:15:35 UTC (rev 303) @@ -107,13 +107,13 @@ gint get_visible_tabs (GUI *appGUI) { - gint i = 0; + gint i = 2; - if (config.hide_calendar) i++; - if (config.hide_tasks) i++; - if (config.hide_contacts) i++; + if (!config.hide_calendar) i++; + if (!config.hide_tasks) i++; + if (!config.hide_contacts) i++; #ifdef HAVE_LIBGRINGOTTS - if (config.hide_notes) i++; + if (!config.hide_notes) i++; #endif /* HAVE_LIBGRINGOTTS */ return i; Modified: trunk/src/options_prefs.c =================================================================== --- trunk/src/options_prefs.c 2008-01-26 19:03:03 UTC (rev 302) +++ trunk/src/options_prefs.c 2008-01-26 20:15:35 UTC (rev 303) @@ -82,7 +82,7 @@ config.tabs_position = GTK_POS_TOP; config.remember_latest_tab = TRUE; config.default_stock_icons = FALSE; - config.disable_underline_links = TRUE; + config.disable_underline_links = FALSE; config.date_format = DATE_YYYY_MM_DD; config.time_format = TIME_24; config.enable_systray = TRUE; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |