commit 58b5c4b4a51f9387316f9e708b9b31cfed6c1d11 Author: phantomjinx <p.g.richard...@phantomjinx.co.uk> Date: Wed May 19 21:14:37 2010 +0100
Fixes more/fewer filter tab actions sensitivity * Get the actions to enable/disable when sorttab max and mins reached * TODO list updated with latest progress TODO | 15 +++++------ plugins/sorttab_display/plugin.c | 27 ++++++++------------ plugins/sorttab_display/plugin.h | 2 + plugins/sorttab_display/sorttab_display.ui | 2 + plugins/sorttab_display/sorttab_display_actions.c | 12 +++++++- src/display_sorttabs.c | 15 ----------- 6 files changed, 32 insertions(+), 41 deletions(-) --- diff --git a/TODO b/TODO index 13cf715..af2a1dd 100644 --- a/TODO +++ b/TODO @@ -4,8 +4,7 @@ Prospective Plugins: filter bar # track editor play tracks now - info window - help +# info window synchronizer download coverart plugin photo panel @@ -38,12 +37,12 @@ Edit Menu - Randomize current playlist - Save Displayed track order - Repo iPod Options -- Preferences +# Preferences View Menu -- Info Window -- More / Fewer filter tabs -- Arrange Filter Tabs +# Info Window +# More / Fewer filter tabs +# Arrange Filter Tabs (Not creating) Tools Menu - Play Now @@ -52,8 +51,8 @@ Tools Menu - Synchronize All, Contacts, Calendar, Notes Help Menu -- Help Contents -- About box +# Help Contents +# About box Playlists Plugin # popup menu diff --git a/plugins/sorttab_display/plugin.c b/plugins/sorttab_display/plugin.c index ad7e57c..6e78605 100644 --- a/plugins/sorttab_display/plugin.c +++ b/plugins/sorttab_display/plugin.c @@ -48,22 +48,6 @@ static gpointer parent_class; static GtkActionEntry sorttab_actions[] = { { - "ActionViewMoreFilterTabs", /* Action name */ - NULL, /* Stock icon */ - N_("_More Filter Tabs"), /* Display label */ - NULL, /* short-cut */ - NULL, /* Tooltip */ - G_CALLBACK (on_more_sort_tabs_activate) /* callback */ - }, - { - "ActionViewFewerFilterTabs", /* Action name */ - NULL, /* Stock icon */ - N_("_Fewer Filter Tabs"), /* Display label */ - NULL, /* short-cut */ - NULL, /* Tooltip */ - G_CALLBACK (on_fewer_sort_tabs_activate) /* callback */ - }, - { "ActionDeleteSelectedEntry", GTK_STOCK_DELETE, N_("Selected Filter Tab Entry from Playlist"), @@ -112,6 +96,14 @@ static gboolean activate_sorttab_display_plugin(AnjutaPlugin *plugin) { = anjuta_ui_add_action_group_entries(ui, "ActionGroupSorttabDisplay", _("Sorttab Display"), sorttab_actions, G_N_ELEMENTS (sorttab_actions), GETTEXT_PACKAGE, TRUE, plugin); sorttab_display_plugin->action_group = action_group; + sorttab_display_plugin->more_filtertabs_action = gtk_action_new ("ActionViewMoreFilterTabs", _("More Filter Tabs"), NULL, GTK_STOCK_GO_UP); + g_signal_connect(sorttab_display_plugin->more_filtertabs_action, "activate", G_CALLBACK(on_more_sort_tabs_activate), sorttab_display_plugin); + gtk_action_group_add_action (sorttab_display_plugin->action_group, sorttab_display_plugin->more_filtertabs_action); + + sorttab_display_plugin->fewer_filtertabs_action = gtk_action_new ("ActionViewFewerFilterTabs", _("Fewer Filter Tabs"), NULL, GTK_STOCK_GO_DOWN); + g_signal_connect(sorttab_display_plugin->fewer_filtertabs_action, "activate", G_CALLBACK(on_fewer_sort_tabs_activate), sorttab_display_plugin); + gtk_action_group_add_action (sorttab_display_plugin->action_group, sorttab_display_plugin->fewer_filtertabs_action); + /* Merge UI */ sorttab_display_plugin->uiid = anjuta_ui_merge(ui, UI_FILE); @@ -137,6 +129,9 @@ static gboolean deactivate_sorttab_display_plugin(AnjutaPlugin *plugin) { sorttab_display_plugin = (SorttabDisplayPlugin*) plugin; ui = anjuta_shell_get_ui(plugin->shell, NULL); + sorttab_display_plugin->more_filtertabs_action = NULL; + sorttab_display_plugin->fewer_filtertabs_action = NULL; + /* Remove widgets from Shell */ anjuta_shell_remove_widget(plugin->shell, sorttab_display_plugin->st_paned, NULL); diff --git a/plugins/sorttab_display/plugin.h b/plugins/sorttab_display/plugin.h index ab974c4..7a60e2d 100644 --- a/plugins/sorttab_display/plugin.h +++ b/plugins/sorttab_display/plugin.h @@ -57,6 +57,8 @@ struct _SorttabDisplayPlugin { gint uiid; GtkActionGroup *action_group; GtkWidget *prefs; + GtkAction *more_filtertabs_action; + GtkAction *fewer_filtertabs_action; }; struct _SorttabDisplayPluginClass { diff --git a/plugins/sorttab_display/sorttab_display.ui b/plugins/sorttab_display/sorttab_display.ui index 532845c..0fa5811 100644 --- a/plugins/sorttab_display/sorttab_display.ui +++ b/plugins/sorttab_display/sorttab_display.ui @@ -20,8 +20,10 @@ </menu> <menu name="MenuView" action="ActionMenuView"> <placeholder name="PlaceholderSorttabDisplayActionMenuView"> + <separator/> <menuitem name="More Filter Tabs" action="ActionViewMoreFilterTabs"/> <menuitem name="Less Filter Tabs" action="ActionViewFewerFilterTabs"/> + <separator/> </placeholder> </menu> </menubar> diff --git a/plugins/sorttab_display/sorttab_display_actions.c b/plugins/sorttab_display/sorttab_display_actions.c index 381b9a4..c28dfa5 100644 --- a/plugins/sorttab_display/sorttab_display_actions.c +++ b/plugins/sorttab_display/sorttab_display_actions.c @@ -38,13 +38,21 @@ #include "libgtkpod/file.h" void on_more_sort_tabs_activate(GtkAction *action, SorttabDisplayPlugin* plugin) { - prefs_set_int("sort_tab_num", prefs_get_int("sort_tab_num") + 1); + int sort_tab_num = prefs_get_int("sort_tab_num") + 1; + prefs_set_int("sort_tab_num", sort_tab_num); st_show_visible(); + + gtk_action_set_sensitive(action, sort_tab_num < SORT_TAB_MAX); + gtk_action_set_sensitive(plugin->fewer_filtertabs_action, sort_tab_num > 0); } void on_fewer_sort_tabs_activate(GtkAction *action, SorttabDisplayPlugin* plugin) { - prefs_set_int("sort_tab_num", prefs_get_int("sort_tab_num") - 1); + int sort_tab_num = prefs_get_int("sort_tab_num") - 1; + prefs_set_int("sort_tab_num", sort_tab_num); st_show_visible(); + + gtk_action_set_sensitive(plugin->more_filtertabs_action, sort_tab_num < SORT_TAB_MAX); + gtk_action_set_sensitive(action, sort_tab_num > 1); } static void delete_selected_entry(DeleteAction deleteaction, gchar *text) { diff --git a/src/display_sorttabs.c b/src/display_sorttabs.c index 4a62cf0..079ed0f 100644 --- a/src/display_sorttabs.c +++ b/src/display_sorttabs.c @@ -2285,21 +2285,6 @@ static void st_adjust_visible(void) { if (i < PANED_NUM_ST) gtk_widget_hide(GTK_WIDGET (st_paned[i])); } - - g_message("TODO: Need to work out how to disable more and less sort tab actions"); - // /* activate / deactiveate "less sort tabs" menu item */ - // w = gtkpod_xml_get_widget(main_window_xml, "less_sort_tabs"); - // if (n == 0) - // gtk_widget_set_sensitive(w, FALSE); - // else - // gtk_widget_set_sensitive(w, TRUE); - // - // /* activate / deactiveate "more sort tabs" menu item */ - // w = gtkpod_xml_get_widget(main_window_xml, "more_sort_tabs"); - // if (n == SORT_TAB_MAX) - // gtk_widget_set_sensitive(w, FALSE); - // else - // gtk_widget_set_sensitive(w, TRUE); } /* Make the appropriate number of sort tab instances visible */ ------------------------------------------------------------------------------ _______________________________________________ gtkpod-cvs2 mailing list gtkpod-cvs2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2