summaryrefslogtreecommitdiff
path: root/callbacks.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-10-18 19:14:19 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-10-18 19:14:19 +0200
commit0415b1ec23934e833b5d859aed0f12565c65b526 (patch)
tree26d0dabd7e0de3c1e64ffdbb1136ce7ae0773b15 /callbacks.c
parentfca50d0be2ee6393edb111372305efaeb09ecf36 (diff)
new custom columns WIP
Diffstat (limited to 'callbacks.c')
-rw-r--r--callbacks.c47
1 files changed, 39 insertions, 8 deletions
diff --git a/callbacks.c b/callbacks.c
index abf970fc..23bf56d0 100644
--- a/callbacks.c
+++ b/callbacks.c
@@ -56,6 +56,7 @@ void
main_playlist_init (GtkWidget *widget) {
// init playlist control structure, and put it into widget user-data
memset (&main_playlist, 0, sizeof (main_playlist));
+ main_playlist.title = "playlist";
main_playlist.playlist = widget;
main_playlist.header = lookup_widget (mainwin, "header");
main_playlist.scrollbar = lookup_widget (mainwin, "playscroll");
@@ -69,10 +70,26 @@ main_playlist_init (GtkWidget *widget) {
main_playlist.row = -1;
main_playlist.clicktime = -1;
main_playlist.nvisiblerows = 0;
- //main_playlist.fmtcache = NULL;
-// int colwidths[pl_ncolumns] = { 50, 150, 50, 150, 50 };
-// memcpy (main_playlist.colwidths, colwidths, sizeof (colwidths));
- main_playlist.colwidths = session_get_main_colwidths_ptr ();
+
+// FIXME: on 1st run, copy colwidths to new columns
+// main_playlist.colwidths = session_get_main_colwidths_ptr ();
+
+ DB_conf_item_t *col = conf_find ("playlist.column.", NULL);
+ if (!col) {
+ // create default set of columns
+ gtkpl_column_append (&main_playlist, gtkpl_column_alloc ("Playing", 50, DB_COLUMN_PLAYING, NULL, 0));
+ gtkpl_column_append (&main_playlist, gtkpl_column_alloc ("Artist / Album", 150, DB_COLUMN_ARTIST_ALBUM, NULL, 0));
+ gtkpl_column_append (&main_playlist, gtkpl_column_alloc ("Track №", 50, DB_COLUMN_TRACK, NULL, 1));
+ gtkpl_column_append (&main_playlist, gtkpl_column_alloc ("Title / Track Artist", 150, DB_COLUMN_TITLE, NULL, 0));
+ gtkpl_column_append (&main_playlist, gtkpl_column_alloc ("Duration", 50, DB_COLUMN_DURATION, NULL, 0));
+ }
+ else {
+ while (col) {
+ gtkpl_append_column_from_textdef (&main_playlist, col->value);
+ col = conf_find ("playlist.column.", col);
+ }
+ }
+
gtk_object_set_data (GTK_OBJECT (main_playlist.playlist), "ps", &main_playlist);
gtk_object_set_data (GTK_OBJECT (main_playlist.header), "ps", &main_playlist);
gtk_object_set_data (GTK_OBJECT (main_playlist.scrollbar), "ps", &main_playlist);
@@ -84,6 +101,7 @@ search_playlist_init (GtkWidget *widget) {
extern GtkWidget *searchwin;
// init playlist control structure, and put it into widget user-data
memset (&search_playlist, 0, sizeof (search_playlist));
+ search_playlist.title = "search";
search_playlist.playlist = widget;
search_playlist.header = lookup_widget (searchwin, "searchheader");
search_playlist.scrollbar = lookup_widget (searchwin, "searchscroll");
@@ -99,10 +117,23 @@ search_playlist_init (GtkWidget *widget) {
search_playlist.row = -1;
search_playlist.clicktime = -1;
search_playlist.nvisiblerows = 0;
- //search_playlist.fmtcache = NULL;
-// int colwidths[pl_ncolumns] = { 0, 150, 50, 150, 50 };
-// memcpy (search_playlist.colwidths, colwidths, sizeof (colwidths));
- search_playlist.colwidths = session_get_search_colwidths_ptr ();
+
+// FIXME: port to new columns
+// search_playlist.colwidths = session_get_search_colwidths_ptr ();
+ // create default set of columns
+ DB_conf_item_t *col = conf_find ("search.column.", NULL);
+ if (!col) {
+ gtkpl_column_append (&search_playlist, gtkpl_column_alloc ("Artist / Album", 150, DB_COLUMN_ARTIST_ALBUM, NULL, 0));
+ gtkpl_column_append (&search_playlist, gtkpl_column_alloc ("Track №", 50, DB_COLUMN_TRACK, NULL, 1));
+ gtkpl_column_append (&search_playlist, gtkpl_column_alloc ("Title / Track Artist", 150, DB_COLUMN_TITLE, NULL, 0));
+ gtkpl_column_append (&search_playlist, gtkpl_column_alloc ("Duration", 50, DB_COLUMN_DURATION, NULL, 0));
+ }
+ else {
+ while (col) {
+ gtkpl_append_column_from_textdef (&search_playlist, col->value);
+ col = conf_find ("search.column.", col);
+ }
+ }
gtk_object_set_data (GTK_OBJECT (search_playlist.playlist), "ps", &search_playlist);
gtk_object_set_data (GTK_OBJECT (search_playlist.header), "ps", &search_playlist);
gtk_object_set_data (GTK_OBJECT (search_playlist.scrollbar), "ps", &search_playlist);