commit 37409bdc562c1e9318d31ece3cbd9fad223dcce5 Author: phantomjinx <p.g.richard...@phantomjinx.co.uk> Date: Sun Oct 17 20:38:10 2010 +0100
Sorttab display preference for sorting * Adds preference panel for changing the sort order to filter tabs * Removes randomize and alphabetize actions as sorting now controlled exclusively in the preference window. libgtkpod/gtkpod_app_iface.c | 12 -- libgtkpod/gtkpod_app_iface.h | 3 - libgtkpod/misc.h | 1 - libgtkpod/misc_playlist.c | 15 -- plugins/playlist_display/playlist_display.glade | 2 +- plugins/playlist_display/playlist_display.ui | 1 - .../playlist_display/playlist_display_actions.c | 4 - .../playlist_display/playlist_display_actions.h | 1 - .../playlist_display_context_menu.c | 12 -- plugins/playlist_display/plugin.c | 8 - plugins/sorttab_display/display_sorttabs.c | 2 +- plugins/sorttab_display/plugin.c | 1 - plugins/sorttab_display/sorttab_display.glade | 184 +++++++++++++++++++- .../sorttab_display/sorttab_display_context_menu.c | 29 --- .../sorttab_display/sorttab_display_preferences.c | 42 +++++ plugins/track_display/display_tracks.c | 10 - plugins/track_display/plugin.c | 1 - 17 files changed, 227 insertions(+), 101 deletions(-) --- diff --git a/libgtkpod/gtkpod_app_iface.c b/libgtkpod/gtkpod_app_iface.c index 7c6f9cf..00b8699 100644 --- a/libgtkpod/gtkpod_app_iface.c +++ b/libgtkpod/gtkpod_app_iface.c @@ -66,9 +66,6 @@ static void gtkpod_app_base_init(GtkPodAppInterface* klass) { gtkpod_app_signals[TRACK_ADDED] = g_signal_new(SIGNAL_TRACK_ADDED, G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); - gtkpod_app_signals[TRACKS_REORDERED] - = g_signal_new(SIGNAL_TRACKS_REORDERED, G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); - gtkpod_app_signals[SORT_ENABLEMENT] = g_signal_new(SIGNAL_SORT_ENABLEMENT, G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); @@ -400,15 +397,6 @@ void gtkpod_broadcast_preference_change(gchar *preference_name, gint value) { g_signal_emit(gtkpod_app, gtkpod_app_signals[PREFERENCE_CHANGE], 0, preference_name, value); } -void gtkpod_tracks_reordered() { - g_return_if_fail (GTKPOD_IS_APP(gtkpod_app)); - g_return_if_fail (gtkpod_get_current_playlist()); - - gtkpod_set_displayed_tracks(gtkpod_get_current_playlist()->members); - - g_signal_emit(gtkpod_app, gtkpod_app_signals[TRACKS_REORDERED], 0); -} - /** * Register functions for the exporting of tracks, according to the * given contract. Used by the exported plugin to register its diff --git a/libgtkpod/gtkpod_app_iface.h b/libgtkpod/gtkpod_app_iface.h index cc1a565..3c6fcf7 100644 --- a/libgtkpod/gtkpod_app_iface.h +++ b/libgtkpod/gtkpod_app_iface.h @@ -63,7 +63,6 @@ #define SIGNAL_ITDB_REMOVED "signal_itdb_removed" #define SIGNAL_SORT_ENABLEMENT "signal_sort_enablement" #define SIGNAL_PREFERENCE_CHANGE "signal_preference_change" -#define SIGNAL_TRACKS_REORDERED "signal_tracks_reordered" #define SIGNAL_ITDB_DATA_CHANGED "signal_data_changed" #define SIGNAL_ITDB_DATA_SAVED "signal_data_saved" @@ -96,7 +95,6 @@ enum TRACK_ADDED, TRACK_REMOVED, TRACK_UPDATED, - TRACKS_REORDERED, PLAYLIST_SELECTED, PLAYLIST_ADDED, PLAYLIST_REMOVED, @@ -195,7 +193,6 @@ void gtkpod_set_selected_tracks(GList *tracks); void gtkpod_track_added(Track *track); void gtkpod_track_removed(Track *track); void gtkpod_track_updated(Track *track); -void gtkpod_tracks_reordered(); void gtkpod_set_sort_enablement(gboolean enable); gboolean gtkpod_get_sort_enablement(); diff --git a/libgtkpod/misc.h b/libgtkpod/misc.h index 6206a54..a53a189 100644 --- a/libgtkpod/misc.h +++ b/libgtkpod/misc.h @@ -129,7 +129,6 @@ gchar *filename_from_uri (const char *uri, Playlist *generate_displayed_playlist (void); Playlist *generate_selected_playlist (void); -void randomize_current_playlist (void); Playlist *generate_random_playlist (iTunesDB *itdb); Playlist *generate_not_listed_playlist (iTunesDB *itdb); Playlist *generate_playlist_with_name (iTunesDB *itdb, GList *tracks, diff --git a/libgtkpod/misc_playlist.c b/libgtkpod/misc_playlist.c index 0964aa2..0a5ad75 100644 --- a/libgtkpod/misc_playlist.c +++ b/libgtkpod/misc_playlist.c @@ -248,21 +248,6 @@ Playlist *generate_random_playlist(iTunesDB *itdb) { return new_pl; } -void randomize_current_playlist(void) { - Playlist *pl = gtkpod_get_current_playlist(); - - if (!pl) { - message_sb_no_playlist_selected(); - return; - } - - gtkpod_set_selected_tracks(NULL); - - itdb_playlist_randomize(pl); - - gtkpod_tracks_reordered(); -} - static void not_listed_make_track_list(gpointer key, gpointer track, gpointer tracks) { *(GList **) tracks = g_list_append(*(GList **) tracks, (Track *) track); } diff --git a/plugins/playlist_display/playlist_display.glade b/plugins/playlist_display/playlist_display.glade index 0f5a727..45936a5 100644 --- a/plugins/playlist_display/playlist_display.glade +++ b/plugins/playlist_display/playlist_display.glade @@ -153,7 +153,7 @@ </child> <child> <widget class="GtkCheckButton" id="pm_cfg_case_sensitive"> - <property name="label" translatable="yes">Case sensitive sorting</property> + <property name="label" translatable="yes">Case sensitive sorting (setting affects all sorting)</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> diff --git a/plugins/playlist_display/playlist_display.ui b/plugins/playlist_display/playlist_display.ui index f987cc3..a85e1b8 100644 --- a/plugins/playlist_display/playlist_display.ui +++ b/plugins/playlist_display/playlist_display.ui @@ -47,7 +47,6 @@ <menuitem name="One for each Year" action="ActionNewOnePerYearPlaylist"/> <!-- on_pl_for_each_year_activate --> <menuitem name="One for each Rating" action="ActionNewOnePerRatingPlaylist"/> <!-- on_pl_for_each_rating_activate --> </menu> - <menuitem name="Randomize Current Playlist" action="ActionRandomizeCurrentPlaylist"/> <separator/> </placeholder> </menu> diff --git a/plugins/playlist_display/playlist_display_actions.c b/plugins/playlist_display/playlist_display_actions.c index eebff5d..e335687 100644 --- a/plugins/playlist_display/playlist_display_actions.c +++ b/plugins/playlist_display/playlist_display_actions.c @@ -585,7 +585,3 @@ void on_sync_playlist_with_dirs(GtkAction *action, PlaylistDisplayPlugin* plugin sync_playlist(gtkpod_get_current_playlist(), NULL, KEY_SYNC_CONFIRM_DIRS, 0, KEY_SYNC_DELETE_TRACKS, 0, KEY_SYNC_CONFIRM_DELETE, 0, KEY_SYNC_SHOW_SUMMARY, 0); } } - -void on_randomize_current_playlist(GtkAction *action, PlaylistDisplayPlugin* plugin) { - randomize_current_playlist(); -} diff --git a/plugins/playlist_display/playlist_display_actions.h b/plugins/playlist_display/playlist_display_actions.h index 8b7ecc9..799e5f0 100644 --- a/plugins/playlist_display/playlist_display_actions.h +++ b/plugins/playlist_display/playlist_display_actions.h @@ -69,6 +69,5 @@ void on_delete_selected_playlist_including_tracks_from_device(GtkAction *action, void on_update_selected_playlist (GtkAction *action, PlaylistDisplayPlugin* plugin); void on_update_mserv_selected_playlist (GtkAction *action, PlaylistDisplayPlugin* plugin); void on_sync_playlist_with_dirs(GtkAction *action, PlaylistDisplayPlugin* plugin); -void on_randomize_current_playlist(GtkAction *action, PlaylistDisplayPlugin* plugin); #endif diff --git a/plugins/playlist_display/playlist_display_context_menu.c b/plugins/playlist_display/playlist_display_context_menu.c index 34c5048..84214c1 100644 --- a/plugins/playlist_display/playlist_display_context_menu.c +++ b/plugins/playlist_display/playlist_display_context_menu.c @@ -221,12 +221,6 @@ static void eject_ipod(GtkMenuItem *mi, gpointer data) { gp_eject_ipod(itdb); } -static void randomize_playlist(GtkMenuItem *mi, gpointer data) { - g_return_if_fail (gtkpod_get_current_playlist()); - - randomize_current_playlist(); -} - static GtkWidget *add_edit_ipod_properties(GtkWidget *menu) { if (!gtkpod_has_repository_editor()) return menu; @@ -274,10 +268,6 @@ static GtkWidget *add_eject_ipod(GtkWidget *menu) { return hookup_menu_item(menu, _("Eject iPod"), GTK_STOCK_DISCONNECT, G_CALLBACK (eject_ipod), NULL); } -static GtkWidget *add_randomize_playlist(GtkWidget *menu) { - return hookup_menu_item(menu, _("Randomize Tracks"), GTK_STOCK_DISCONNECT, G_CALLBACK (randomize_playlist), NULL); -} - void pm_context_menu_init(void) { GtkWidget *menu = NULL; Playlist *pl; @@ -309,7 +299,6 @@ void pm_context_menu_init(void) { if (eitdb->itdb_imported) { add_play_now(menu); add_enqueue(menu); - add_randomize_playlist(menu); add_update_tracks_from_file(menu); if (!pl->is_spl) { add_sync_playlist_with_dirs(menu); @@ -349,7 +338,6 @@ void pm_context_menu_init(void) { if (itdb->usertype & GP_ITDB_TYPE_LOCAL) { add_play_now(menu); add_enqueue(menu); - add_randomize_playlist(menu); add_update_tracks_from_file(menu); if (!pl->is_spl) { add_sync_playlist_with_dirs(menu); diff --git a/plugins/playlist_display/plugin.c b/plugins/playlist_display/plugin.c index f64045d..e7b0b9e 100644 --- a/plugins/playlist_display/plugin.c +++ b/plugins/playlist_display/plugin.c @@ -282,14 +282,6 @@ static GtkActionEntry playlist_actions[] = NULL, NULL, G_CALLBACK (on_update_mserv_selected_playlist) - }, - { - "ActionRandomizeCurrentPlaylist", - NULL, - N_("Randomize Current Playlist"), - NULL, - NULL, - G_CALLBACK (on_randomize_current_playlist) } }; diff --git a/plugins/sorttab_display/display_sorttabs.c b/plugins/sorttab_display/display_sorttabs.c index 3bdee6b..18c6a86 100644 --- a/plugins/sorttab_display/display_sorttabs.c +++ b/plugins/sorttab_display/display_sorttabs.c @@ -1787,7 +1787,7 @@ void st_sort(GtkSortType order) { for (i = 0; i < prefs_get_int("sort_tab_num"); ++i) st_sort_inst(i, order); - gtkpod_tracks_reordered(); +// gtkpod_tracks_reordered(); } gint st_get_sorttab_page_number(int inst) { diff --git a/plugins/sorttab_display/plugin.c b/plugins/sorttab_display/plugin.c index f45bf6e..dd6bee4 100644 --- a/plugins/sorttab_display/plugin.c +++ b/plugins/sorttab_display/plugin.c @@ -184,7 +184,6 @@ static gboolean activate_sorttab_display_plugin(AnjutaPlugin *plugin) { g_signal_connect (gtkpod_app, SIGNAL_TRACK_REMOVED, G_CALLBACK (sorttab_display_track_removed_cb), NULL); g_signal_connect (gtkpod_app, SIGNAL_TRACK_UPDATED, G_CALLBACK (sorttab_display_track_updated_cb), NULL); g_signal_connect (gtkpod_app, SIGNAL_PREFERENCE_CHANGE, G_CALLBACK (sorttab_display_preference_changed_cb), NULL); - g_signal_connect (gtkpod_app, SIGNAL_TRACKS_REORDERED, G_CALLBACK (sorttab_display_tracks_reordered_cb), NULL); anjuta_shell_add_widget(plugin->shell, sorttab_display_plugin->st_paned, "SorttabDisplayPlugin", "Track Filter", NULL, ANJUTA_SHELL_PLACEMENT_CENTER, NULL); return TRUE; /* FALSE if activation failed */ diff --git a/plugins/sorttab_display/sorttab_display.glade b/plugins/sorttab_display/sorttab_display.glade index 0fea304..2fdb882 100644 --- a/plugins/sorttab_display/sorttab_display.glade +++ b/plugins/sorttab_display/sorttab_display.glade @@ -11,12 +11,14 @@ <child> <widget class="GtkVBox" id="vbox43"> <property name="visible">True</property> + <property name="orientation">vertical</property> <property name="spacing">6</property> <child> <widget class="GtkVBox" id="vbox7"> <property name="visible">True</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> <property name="border_width">6</property> + <property name="orientation">vertical</property> <property name="spacing">6</property> <child> <widget class="GtkLabel" id="label63"> @@ -105,6 +107,7 @@ Added <child> <widget class="GtkVBox" id="vbox44"> <property name="visible">True</property> + <property name="orientation">vertical</property> <property name="spacing">6</property> <child> <widget class="GtkLabel" id="label57"> @@ -125,6 +128,7 @@ Added <child> <widget class="GtkVBox" id="lower_cal_box"> <property name="visible">True</property> + <property name="orientation">vertical</property> <property name="spacing">6</property> <child> <widget class="GtkCalendar" id="lower_cal"> @@ -247,6 +251,7 @@ Added <child> <widget class="GtkVBox" id="vbox47"> <property name="visible">True</property> + <property name="orientation">vertical</property> <property name="spacing">6</property> <child> <widget class="GtkLabel" id="label58"> @@ -267,6 +272,7 @@ Added <child> <widget class="GtkVBox" id="upper_cal_box"> <property name="visible">True</property> + <property name="orientation">vertical</property> <property name="spacing">6</property> <child> <widget class="GtkCalendar" id="upper_cal"> @@ -458,6 +464,7 @@ Added <child> <widget class="GtkVBox" id="vbox37"> <property name="visible">True</property> + <property name="orientation">vertical</property> <property name="spacing">18</property> <child> <widget class="GtkHBox" id="hbox20"> @@ -2176,7 +2183,6 @@ Added <property name="visible">True</property> <property name="border_width">12</property> <property name="orientation">vertical</property> - <property name="spacing">18</property> <child> <widget class="GtkHBox" id="hbox1"> <property name="visible">True</property> @@ -2248,9 +2254,185 @@ Added </child> </widget> <packing> + <property name="expand">False</property> <property name="position">0</property> </packing> </child> + <child> + <widget class="GtkFrame" id="frame4"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <widget class="GtkAlignment" id="alignment14"> + <property name="visible">True</property> + <property name="top_padding">6</property> + <property name="left_padding">12</property> + <child> + <widget class="GtkVBox" id="vbox2"> + <property name="visible">True</property> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <widget class="GtkHBox" id="hbox30"> + <property name="visible">True</property> + <child> + <widget class="GtkTable" id="table1"> + <property name="visible">True</property> + <property name="border_width">5</property> + <property name="n_rows">2</property> + <property name="n_columns">3</property> + <child> + <widget class="GtkLabel" id="label82"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes"><b>Ascending</b></property> + <property name="use_markup">True</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label85"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes"><b>Descending</b></property> + <property name="use_markup">True</property> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <widget class="GtkRadioButton" id="st_ascend"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="draw_indicator">True</property> + <property name="group">st_none</property> + <signal name="toggled" handler="on_st_ascend_toggled"/> + <child> + <widget class="GtkImage" id="image1928"> + <property name="visible">True</property> + <property name="stock">gtk-sort-ascending</property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options"></property> + </packing> + </child> + <child> + <widget class="GtkRadioButton" id="st_descend"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="draw_indicator">True</property> + <property name="group">st_none</property> + <signal name="toggled" handler="on_st_descend_toggled"/> + <child> + <widget class="GtkImage" id="image1929"> + <property name="visible">True</property> + <property name="stock">gtk-sort-descending</property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options"></property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label86"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes"><b>None</b></property> + <property name="use_markup">True</property> + </widget> + <packing> + <property name="y_options"></property> + </packing> + </child> + <child> + <widget class="GtkRadioButton" id="st_none"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="active">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_st_none_toggled"/> + <child> + <widget class="GtkImage" id="image1930"> + <property name="visible">True</property> + <property name="stock">gtk-undo</property> + </widget> + </child> + </widget> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options"></property> + </packing> + </child> + </widget> + <packing> + <property name="position">0</property> + </packing> + </child> + </widget> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkCheckButton" id="st_cfg_case_sensitive"> + <property name="label" translatable="yes">Case sensitive sorting (setting affects all sorting)</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="has_tooltip">True</property> + <property name="tooltip" translatable="yes">If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets.</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + <child> + <widget class="GtkLabel" id="label7"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Filter Sort Order</b></property> + <property name="use_markup">True</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + <packing> + <property name="expand">False</property> + <property name="position">1</property> + </packing> + </child> </widget> </child> <child> diff --git a/plugins/sorttab_display/sorttab_display_context_menu.c b/plugins/sorttab_display/sorttab_display_context_menu.c index 4ea6232..f210484 100644 --- a/plugins/sorttab_display/sorttab_display_context_menu.c +++ b/plugins/sorttab_display/sorttab_display_context_menu.c @@ -45,34 +45,6 @@ static gint entry_inst = -1; -/** - * alphabetize - alphabetize the currently selected entry - * sort tab). The sort order is being cycled through. - * @mi - the menu item selected - * @data - should be the inst number - */ -static void alphabetize(GtkMenuItem *mi, gpointer data) { - gint inst = GPOINTER_TO_INT(data); - if (st_get_selected_entry(inst)) { - switch (prefs_get_int("st_sort")) { - case SORT_ASCENDING: - prefs_set_int("st_sort", SORT_DESCENDING); - break; - case SORT_DESCENDING: - prefs_set_int("st_sort", SORT_NONE); - break; - case SORT_NONE: - prefs_set_int("st_sort", SORT_ASCENDING); - break; - } - st_sort(prefs_get_int("st_sort")); - } -} - -static GtkWidget *add_alphabetize(GtkWidget *menu, gint inst) { - return hookup_menu_item(menu, _("Alphabetize"), GTK_STOCK_SORT_ASCENDING, G_CALLBACK (alphabetize), GINT_TO_POINTER(inst)); -} - /* deletes the currently selected entry from the current playlist @inst: selected entry of which instance? @delete_full: if true, member songs are removed from the iPod @@ -304,7 +276,6 @@ void st_context_menu_init(gint inst) { if (!pl->is_spl) { add_sync_playlist_with_dirs(menu); } - add_alphabetize(menu, inst); add_separator(menu); if (itdb->usertype & GP_ITDB_TYPE_IPOD) { add_delete_entry_from_ipod(menu); diff --git a/plugins/sorttab_display/sorttab_display_preferences.c b/plugins/sorttab_display/sorttab_display_preferences.c index 493c877..23013ac 100644 --- a/plugins/sorttab_display/sorttab_display_preferences.c +++ b/plugins/sorttab_display/sorttab_display_preferences.c @@ -31,6 +31,7 @@ #include "libgtkpod/misc.h" #include "libgtkpod/prefs.h" #include "libgtkpod/directories.h" +#include "libgtkpod/gp_private.h" #include "plugin.h" #include "display_sorttabs.h" @@ -54,9 +55,31 @@ G_MODULE_EXPORT void on_group_compilations_toggled (GtkToggleButton *sender, gpo st_show_visible(); } +G_MODULE_EXPORT void on_st_ascend_toggled(GtkToggleButton *togglebutton, gpointer user_data) { + if (gtk_toggle_button_get_active(togglebutton)) + st_sort(SORT_ASCENDING); +} + +G_MODULE_EXPORT void on_st_descend_toggled(GtkToggleButton *togglebutton, gpointer user_data) { + if (gtk_toggle_button_get_active(togglebutton)) + st_sort(SORT_DESCENDING); +} + +G_MODULE_EXPORT void on_st_none_toggled(GtkToggleButton *togglebutton, gpointer user_data) { + if (gtk_toggle_button_get_active(togglebutton)) + st_sort(SORT_NONE); +} + +G_MODULE_EXPORT void on_st_sort_case_sensitive_toggled(GtkToggleButton *togglebutton, gpointer user_data) { + gboolean val = gtk_toggle_button_get_active(togglebutton); + prefs_set_int("case_sensitive", val); + gtkpod_broadcast_preference_change("case_sensitive", val); +} + GtkWidget *init_sorttab_preferences() { GtkWidget *notebook; GladeXML *pref_xml; + GtkWidget *w; gchar *glade_path = g_build_filename(get_glade_dir(), "sorttab_display.glade", NULL); pref_xml = gtkpod_xml_new(glade_path, "sorttab_settings_notebook"); @@ -64,6 +87,25 @@ GtkWidget *init_sorttab_preferences() { g_object_ref(notebook); g_free(glade_path); + switch (prefs_get_int("pm_sort")) { + case SORT_ASCENDING: + w = gtkpod_xml_get_widget(pref_xml, "st_ascend"); + break; + case SORT_DESCENDING: + w = gtkpod_xml_get_widget(pref_xml, "st_descend"); + break; + default: + w = gtkpod_xml_get_widget(pref_xml, "st_none"); + break; + } + + if (w) + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE); + + if ((w = gtkpod_xml_get_widget(pref_xml, "st_cfg_case_sensitive"))) { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), prefs_get_int("case_sensitive")); + } + glade_xml_signal_autoconnect(pref_xml); return notebook; diff --git a/plugins/track_display/display_tracks.c b/plugins/track_display/display_tracks.c index ac48ab2..1025656 100644 --- a/plugins/track_display/display_tracks.c +++ b/plugins/track_display/display_tracks.c @@ -1190,7 +1190,6 @@ void tm_rows_reordered(void) { sort tabs */ if (changed) { data_changed(itdb); - gtkpod_tracks_reordered(); } } } @@ -2455,12 +2454,3 @@ void track_display_preference_changed_cb(GtkPodApp *app, gpointer pfname, gint32 } } -void track_display_tracks_reordered_cb(GtkPodApp *app, gpointer data) { - if (prefs_get_int("tm_autostore")) { - prefs_set_int("tm_autostore", FALSE); - gtkpod_warning(_("Auto Store of track view disabled.\n\n")); - } - - tm_adopt_order(); -} - diff --git a/plugins/track_display/plugin.c b/plugins/track_display/plugin.c index 8bd0187..9d8c28d 100644 --- a/plugins/track_display/plugin.c +++ b/plugins/track_display/plugin.c @@ -135,7 +135,6 @@ static gboolean activate_track_display_plugin(AnjutaPlugin *plugin) { g_signal_connect (gtkpod_app, SIGNAL_TRACK_REMOVED, G_CALLBACK (track_display_track_removed_cb), NULL); g_signal_connect (gtkpod_app, SIGNAL_TRACK_UPDATED, G_CALLBACK (track_display_track_updated_cb), NULL); g_signal_connect (gtkpod_app, SIGNAL_PREFERENCE_CHANGE, G_CALLBACK (track_display_preference_changed_cb), NULL); - g_signal_connect (gtkpod_app, SIGNAL_TRACKS_REORDERED, G_CALLBACK (track_display_tracks_reordered_cb), NULL); gtk_widget_show_all(track_display_plugin->track_window); anjuta_shell_add_widget(plugin->shell, track_display_plugin->track_window, "TrackDisplayPlugin", "Playlist Tracks", NULL, ANJUTA_SHELL_PLACEMENT_TOP, NULL); ------------------------------------------------------------------------------ Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev _______________________________________________ gtkpod-cvs2 mailing list gtkpod-cvs2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2