diff options
author | Daniel <random.mister@gmail.com> | 2011-04-23 16:17:21 +0100 |
---|---|---|
committer | Alex Bennee <alex@bennee.com> | 2011-04-23 16:19:57 +0100 |
commit | 5e5aacfc7174aba9adfbd32238a5756b717e3490 (patch) | |
tree | 6304b36ac662e32e7b5b469945a6babae80b76a0 /src/browser.c | |
parent | 55e2c3d68d3ba31190c2484db496e09756852ee6 (diff) |
Add "Album Artist" field to the list of potential fields to edit
Quoth Daniel (Random Mister):
"I just found an extended patch which also includes support for the
album-artist tag in the fill tags dialog. It is an update of the
other, so if you only add this one to the git tree it should work.
I've been using it for over half a year without bugs, so I think it
can be merged into the Git tree."
Written-By: Daniel <random.mister@gmail.com>
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, |