[easytag] Refactor Browser_List_Refresh_File_In_List()
- From: David King <davidk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [easytag] Refactor Browser_List_Refresh_File_In_List()
- Date: Wed, 4 Jun 2014 21:31:18 +0000 (UTC)
commit 311de7ef375a9a8542018be8694deb6334e31ac6
Author: Andreas Winkelmann <ml awinkelmann de>
Date: Mon May 26 18:22:12 2014 +0200
Refactor Browser_List_Refresh_File_In_List()
Simplify iterations over the tree model.
src/browser.c | 74 +++++++++++++++++++++++++++------------------------------
1 files changed, 35 insertions(+), 39 deletions(-)
---
diff --git a/src/browser.c b/src/browser.c
index 3027ec5..83ef596 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -1224,7 +1224,6 @@ void Browser_List_Refresh_File_In_List (ET_File *ETFile)
GtkWidget *artist_radio;
GtkTreeSelection *selection;
GtkTreeIter selectedIter;
- GtkTreePath *currentPath = NULL;
ET_File *etfile;
File_Tag *FileTag;
File_Name *FileName;
@@ -1233,7 +1232,6 @@ void Browser_List_Refresh_File_In_List (ET_File *ETFile)
gchar *track;
gchar *disc;
gboolean valid;
- gint row;
gchar *artist, *album;
if (!ETCore->ETFileDisplayedList || !BrowserList || !ETFile ||
@@ -1347,58 +1345,56 @@ void Browser_List_Refresh_File_In_List (ET_File *ETFile)
gchar *current_artist = ((File_Tag *)ETFile->FileTag->data)->artist;
gchar *current_album = ((File_Tag *)ETFile->FileTag->data)->album;
- for (row=0; row < gtk_tree_model_iter_n_children(GTK_TREE_MODEL(artistListModel), NULL); row++)
- {
- if (row == 0)
- currentPath = gtk_tree_path_new_first();
- else
- gtk_tree_path_next(currentPath);
+ valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (artistListModel),
+ &selectedIter);
- valid = gtk_tree_model_get_iter(GTK_TREE_MODEL(artistListModel), &selectedIter, currentPath);
- if (valid)
- {
- gtk_tree_model_get(GTK_TREE_MODEL(artistListModel), &selectedIter, ARTIST_NAME, &artist, -1);
+ while (valid)
+ {
+ gtk_tree_model_get (GTK_TREE_MODEL (artistListModel),
+ &selectedIter, ARTIST_NAME, &artist, -1);
- if ( (!current_artist && !artist)
- || (current_artist && artist && g_utf8_collate(current_artist,artist)==0) )
+ if ((!current_artist && !artist)
+ || (current_artist && artist
+ && g_utf8_collate (current_artist, artist) == 0))
{
- // Set color of the row
- Browser_Artist_List_Set_Row_Appearance(&selectedIter);
- g_free(artist);
+ /* Set color of the row. */
+ Browser_Artist_List_Set_Row_Appearance (&selectedIter);
+ g_free (artist);
break;
}
- g_free(artist);
- }
+
+ g_free (artist);
+
+ valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (artistListModel),
+ &selectedIter);
}
- gtk_tree_path_free(currentPath); currentPath = NULL;
//
// FIX ME : see also if we must add a new line / or change list of the ETFile
//
- for (row=0; row < gtk_tree_model_iter_n_children(GTK_TREE_MODEL(albumListModel), NULL); row++)
+ valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (albumListModel),
+ &selectedIter);
+
+ while (valid)
{
- if (row == 0)
- currentPath = gtk_tree_path_new_first();
- else
- gtk_tree_path_next(currentPath);
+ gtk_tree_model_get (GTK_TREE_MODEL (albumListModel), &selectedIter,
+ ALBUM_NAME, &album, -1);
- valid = gtk_tree_model_get_iter(GTK_TREE_MODEL(albumListModel), &selectedIter, currentPath);
- if (valid)
+ if ((!current_album && !album)
+ || (current_album && album
+ && g_utf8_collate (current_album, album) == 0))
{
- gtk_tree_model_get(GTK_TREE_MODEL(albumListModel), &selectedIter, ALBUM_NAME, &album, -1);
-
- if ( (!current_album && !album)
- || (current_album && album && g_utf8_collate(current_album,album)==0) )
- {
- // Set color of the row
- Browser_Album_List_Set_Row_Appearance(&selectedIter);
- g_free(album);
- break;
- }
- g_free(album);
+ /* Set color of the row. */
+ Browser_Album_List_Set_Row_Appearance (&selectedIter);
+ g_free (album);
+ break;
}
+
+ g_free (album);
+
+ valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (albumListModel),
+ &selectedIter);
}
- gtk_tree_path_free(currentPath); currentPath = NULL;
//
// FIX ME : see also if we must add a new line / or change list of the ETFile
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]