commit 58b5c4b4a51f9387316f9e708b9b31cfed6c1d11
Author: phantomjinx <[email protected]>
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2