diff options
Diffstat (limited to 'src/browser.c')
-rw-r--r-- | src/browser.c | 57 |
1 files changed, 41 insertions, 16 deletions
diff --git a/src/browser.c b/src/browser.c index 7c86a41..ee154cf 100644 --- a/src/browser.c +++ b/src/browser.c @@ -1050,7 +1050,7 @@ void Browser_List_Load_File_List (GList *etfilelist, ET_File *etfile_to_select) // File list displays the current filename (name on HardDisk) and tag fields gtk_list_store_append(fileListModel, &rowIter); track = g_strconcat(FileTag->track ? FileTag->track : "",FileTag->track_total ? "/" : NULL,FileTag->track_total,NULL); - + gtk_list_store_set(fileListModel, &rowIter, LIST_FILE_NAME, basename_utf8, LIST_FILE_POINTER, etfilelist->data, @@ -1058,7 +1058,8 @@ void Browser_List_Load_File_List (GList *etfilelist, ET_File *etfile_to_select) LIST_FILE_OTHERDIR, activate_bg_color, LIST_FILE_TITLE, FileTag->title, LIST_FILE_ARTIST, FileTag->artist, - LIST_FILE_ALBUM, FileTag->album, + LIST_FILE_ALBUM_ARTIST, FileTag->album_artist, + LIST_FILE_ALBUM, FileTag->album, LIST_FILE_YEAR, FileTag->year, LIST_FILE_TRACK, track, LIST_FILE_GENRE, FileTag->genre, @@ -1136,7 +1137,8 @@ void Browser_List_Refresh_Whole_List (void) LIST_FILE_NAME, current_basename_utf8, LIST_FILE_TITLE, FileTag->title, LIST_FILE_ARTIST, FileTag->artist, - LIST_FILE_ALBUM, FileTag->album, + LIST_FILE_ALBUM_ARTIST, FileTag->album_artist, + LIST_FILE_ALBUM, FileTag->album, LIST_FILE_YEAR, FileTag->year, LIST_FILE_TRACK, track, LIST_FILE_GENRE, FileTag->genre, @@ -1291,7 +1293,8 @@ void Browser_List_Refresh_File_In_List (ET_File *ETFile) LIST_FILE_NAME, current_basename_utf8, LIST_FILE_TITLE, FileTag->title, LIST_FILE_ARTIST, FileTag->artist, - LIST_FILE_ALBUM, FileTag->album, + LIST_FILE_ALBUM_ARTIST, FileTag->album_artist, + LIST_FILE_ALBUM, FileTag->album, LIST_FILE_YEAR, FileTag->year, LIST_FILE_TRACK, track, LIST_FILE_GENRE, FileTag->genre, @@ -1435,7 +1438,8 @@ void Browser_List_Set_Row_Appearance (GtkTreeIter *iter) gtk_list_store_set(fileListModel, iter, LIST_FILE_TITLE, FileTag->title, LIST_FILE_ARTIST, FileTag->artist, - LIST_FILE_ALBUM, FileTag->album, + LIST_FILE_ALBUM_ARTIST, FileTag->album_artist, + LIST_FILE_ALBUM, FileTag->album, LIST_FILE_YEAR, FileTag->year, LIST_FILE_TRACK, FileTag->track, LIST_FILE_GENRE, FileTag->genre, @@ -1831,6 +1835,12 @@ gint Browser_List_Sort_Func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b case SORTING_BY_DESCENDING_ARTIST: result = ET_Comp_Func_Sort_File_By_Descending_Artist(ETFile1, ETFile2); break; + case SORTING_BY_ASCENDING_ALBUM_ARTIST: + result = ET_Comp_Func_Sort_File_By_Ascending_Album_Artist(ETFile1, ETFile2); + break; + case SORTING_BY_DESCENDING_ALBUM_ARTIST: + result = ET_Comp_Func_Sort_File_By_Descending_Album_Artist(ETFile1, ETFile2); + break; case SORTING_BY_ASCENDING_ALBUM: result = ET_Comp_Func_Sort_File_By_Ascending_Album(ETFile1, ETFile2); break; @@ -3025,7 +3035,7 @@ GtkWidget *Create_Browser_Items (GtkWidget *parent) GtkTooltips *Tips; GtkWidget *PopupMenu; gchar *BrowserTree_Titles[] = {N_("Tree")}; - gchar *BrowserList_Titles[] = {N_("File Name"),N_("Title"),N_("Artist"),N_("Album"), + gchar *BrowserList_Titles[] = {N_("File Name"),N_("Title"),N_("Artist"),N_("Album Artist"),N_("Album"), N_("Year"),N_("Track"),N_("Genre"),N_("Comment"), N_("Composer"),N_("Orig. Artist"),N_("Copyright"), N_("URL"),N_("Encoded By")}; @@ -3383,6 +3393,7 @@ GtkWidget *Create_Browser_Items (GtkWidget *parent) G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING); BrowserList = gtk_tree_view_new_with_model(GTK_TREE_MODEL(fileListModel)); @@ -3433,13 +3444,27 @@ GtkWidget *Create_Browser_Items (GtkWidget *parent) NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(BrowserList), column); - // Column for Album + // Column for Album Artist column = gtk_tree_view_column_new(); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_column_set_title(column, _(BrowserList_Titles[3])); gtk_tree_view_column_set_attributes(column, renderer, + "text", LIST_FILE_ALBUM_ARTIST, + "weight", LIST_FONT_WEIGHT, + "background-gdk", LIST_ROW_BACKGROUND, + "foreground-gdk", LIST_ROW_FOREGROUND, + NULL); + gtk_tree_view_append_column(GTK_TREE_VIEW(BrowserList), column); + + // Column for Album + column = gtk_tree_view_column_new(); + renderer = gtk_cell_renderer_text_new(); + gtk_tree_view_column_pack_start(column, renderer, FALSE); + gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); + gtk_tree_view_column_set_title(column, _(BrowserList_Titles[4])); + gtk_tree_view_column_set_attributes(column, renderer, "text", LIST_FILE_ALBUM, "weight", LIST_FONT_WEIGHT, "background-gdk", LIST_ROW_BACKGROUND, @@ -3452,7 +3477,7 @@ GtkWidget *Create_Browser_Items (GtkWidget *parent) renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); - gtk_tree_view_column_set_title(column, _(BrowserList_Titles[4])); + gtk_tree_view_column_set_title(column, _(BrowserList_Titles[5])); gtk_tree_view_column_set_attributes(column, renderer, "text", LIST_FILE_YEAR, "weight", LIST_FONT_WEIGHT, @@ -3466,7 +3491,7 @@ GtkWidget *Create_Browser_Items (GtkWidget *parent) renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); - gtk_tree_view_column_set_title(column, _(BrowserList_Titles[5])); + gtk_tree_view_column_set_title(column, _(BrowserList_Titles[6])); gtk_tree_view_column_set_attributes(column, renderer, "text", LIST_FILE_TRACK, "weight", LIST_FONT_WEIGHT, @@ -3480,7 +3505,7 @@ GtkWidget *Create_Browser_Items (GtkWidget *parent) renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); - gtk_tree_view_column_set_title(column, _(BrowserList_Titles[6])); + gtk_tree_view_column_set_title(column, _(BrowserList_Titles[7])); gtk_tree_view_column_set_attributes(column, renderer, "text", LIST_FILE_GENRE, "weight", LIST_FONT_WEIGHT, @@ -3494,7 +3519,7 @@ GtkWidget *Create_Browser_Items (GtkWidget *parent) renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); - gtk_tree_view_column_set_title(column, _(BrowserList_Titles[7])); + gtk_tree_view_column_set_title(column, _(BrowserList_Titles[8])); gtk_tree_view_column_set_attributes(column, renderer, "text", LIST_FILE_COMMENT, "weight", LIST_FONT_WEIGHT, @@ -3508,7 +3533,7 @@ GtkWidget *Create_Browser_Items (GtkWidget *parent) renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); - gtk_tree_view_column_set_title(column, _(BrowserList_Titles[8])); + gtk_tree_view_column_set_title(column, _(BrowserList_Titles[9])); gtk_tree_view_column_set_attributes(column, renderer, "text", LIST_FILE_COMPOSER, "weight", LIST_FONT_WEIGHT, @@ -3522,7 +3547,7 @@ GtkWidget *Create_Browser_Items (GtkWidget *parent) renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); - gtk_tree_view_column_set_title(column, _(BrowserList_Titles[9])); + gtk_tree_view_column_set_title(column, _(BrowserList_Titles[10])); gtk_tree_view_column_set_attributes(column, renderer, "text", LIST_FILE_ORIG_ARTIST, "weight", LIST_FONT_WEIGHT, @@ -3536,7 +3561,7 @@ GtkWidget *Create_Browser_Items (GtkWidget *parent) renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); - gtk_tree_view_column_set_title(column, _(BrowserList_Titles[10])); + gtk_tree_view_column_set_title(column, _(BrowserList_Titles[11])); gtk_tree_view_column_set_attributes(column, renderer, "text", LIST_FILE_COPYRIGHT, "weight", LIST_FONT_WEIGHT, @@ -3550,7 +3575,7 @@ GtkWidget *Create_Browser_Items (GtkWidget *parent) renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); - gtk_tree_view_column_set_title(column, _(BrowserList_Titles[11])); + gtk_tree_view_column_set_title(column, _(BrowserList_Titles[12])); gtk_tree_view_column_set_attributes(column, renderer, "text", LIST_FILE_URL, "weight", LIST_FONT_WEIGHT, @@ -3564,7 +3589,7 @@ GtkWidget *Create_Browser_Items (GtkWidget *parent) renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); - gtk_tree_view_column_set_title(column, _(BrowserList_Titles[12])); + gtk_tree_view_column_set_title(column, _(BrowserList_Titles[13])); gtk_tree_view_column_set_attributes(column, renderer, "text", LIST_FILE_ENCODED_BY, "weight", LIST_FONT_WEIGHT, |