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