[easytag] Refactor Action_Select_Nth_File_By_Etfile()



commit 57b277816450de8d49fb43fb8a55a4bfd9c2fb7c
Author: David King <amigadave amigadave com>
Date:   Fri Oct 31 19:56:28 2014 +0000

    Refactor Action_Select_Nth_File_By_Etfile()
    
    Move Action_Select_Nth_File_By_Etfile() to the application window as
    et_application_window_select_file_by_et_file().

 src/application_window.c |   23 +++++++++++++++++++++++
 src/application_window.h |    1 +
 src/browser.c            |   21 +++++++++++++--------
 src/easytag.c            |   21 ---------------------
 src/easytag.h            |    2 --
 src/search_dialog.c      |    5 ++++-
 6 files changed, 41 insertions(+), 32 deletions(-)
---
diff --git a/src/application_window.c b/src/application_window.c
index 481e18f..02f78a9 100644
--- a/src/application_window.c
+++ b/src/application_window.c
@@ -1942,6 +1942,29 @@ et_application_window_select_dir (EtApplicationWindow *self, const gchar *path)
     et_browser_select_dir (ET_BROWSER (priv->browser), path);
 }
 
+/*
+ * Select a file in the "main list" using the ETFile address of each item.
+ */
+void
+et_application_window_select_file_by_et_file (EtApplicationWindow *self,
+                                              ET_File *ETFile)
+{
+    if (!ETCore->ETFileDisplayedList)
+        return;
+
+    /* Save the current displayed data */
+    ET_Save_File_Data_From_UI (ETCore->ETFileDisplayed);
+
+    /* Display the item */
+    et_application_window_browser_select_file_by_et_file (self, ETFile, TRUE);
+    /* Just to update 'ETFileDisplayedList'. */
+    ET_Displayed_File_List_By_Etfile (ETFile);
+    ET_Display_File_Data_To_UI (ETFile);
+
+    et_application_window_update_actions (self);
+    et_application_window_scan_dialog_update_previews (self);
+}
+
 const gchar *
 et_application_window_get_current_path (EtApplicationWindow *self)
 {
diff --git a/src/application_window.h b/src/application_window.h
index fd4528e..2481f22 100644
--- a/src/application_window.h
+++ b/src/application_window.h
@@ -67,6 +67,7 @@ void et_application_window_browser_clear (EtApplicationWindow *self);
 void et_application_window_browser_clear_album_model (EtApplicationWindow *self);
 void et_application_window_browser_clear_artist_model (EtApplicationWindow *self);
 void et_application_window_select_dir (EtApplicationWindow *self, const gchar *path);
+void et_application_window_select_file_by_et_file (EtApplicationWindow *self, ET_File *ETFile);
 const gchar * et_application_window_get_current_path (EtApplicationWindow *self);
 GtkWidget * et_application_window_get_scan_dialog (EtApplicationWindow *self);
 void et_application_window_apply_changes (EtApplicationWindow *self);
diff --git a/src/browser.c b/src/browser.c
index 0997a8d..981194e 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -1178,7 +1178,8 @@ Browser_List_Row_Selected (EtBrowser *self, GtkTreeSelection *selection)
         {
             gtk_tree_model_get (GTK_TREE_MODEL(priv->file_model), &lastFile,
                                 LIST_FILE_POINTER, &fileETFile, -1);
-            Action_Select_Nth_File_By_Etfile (fileETFile);
+            et_application_window_select_file_by_et_file (ET_APPLICATION_WINDOW (MainWindow),
+                                                          fileETFile);
         }
         else
         {
@@ -1186,8 +1187,9 @@ Browser_List_Row_Selected (EtBrowser *self, GtkTreeSelection *selection)
         }
     }else
     {
-        // The real last selected line
-        Action_Select_Nth_File_By_Etfile(priv->last_selected_file);
+        /* The real last selected line. */
+        et_application_window_select_file_by_et_file (ET_APPLICATION_WINDOW (MainWindow),
+                                                      priv->last_selected_file);
     }
 
     g_list_free_full (selectedRows, (GDestroyNotify)gtk_tree_path_free);
@@ -2600,8 +2602,9 @@ Browser_Album_List_Load_Files (EtBrowser *self,
         ET_Set_Displayed_File_List(etfilelist);
         et_browser_load_file_list (self, etfilelist, NULL);
 
-        // Displays the first item
-        Action_Select_Nth_File_By_Etfile((ET_File *)etfilelist->data);
+        /* Displays the first item. */
+        et_application_window_select_file_by_et_file (ET_APPLICATION_WINDOW (MainWindow),
+                                                      (ET_File *)etfilelist->data);
     }
 }
 
@@ -2632,8 +2635,9 @@ Browser_Album_List_Row_Selected (EtBrowser *self, GtkTreeSelection *selection)
 
     et_browser_load_file_list (self, etfilelist, NULL);
 
-    // Displays the first item
-    Action_Select_Nth_File_By_Etfile((ET_File *)etfilelist->data);
+    /* Displays the first item. */
+    et_application_window_select_file_by_et_file (ET_APPLICATION_WINDOW (MainWindow),
+                                                  (ET_File *)etfilelist->data);
 }
 
 /*
@@ -2715,7 +2719,8 @@ et_browser_set_display_mode (EtBrowser *self,
                     etfile = (ET_File *)etfilelist->data;
                 }
 
-                Action_Select_Nth_File_By_Etfile (etfile);
+                et_application_window_select_file_by_et_file (ET_APPLICATION_WINDOW (MainWindow),
+                                                              etfile);
             }
             break;
         case ET_BROWSER_MODE_ARTIST:
diff --git a/src/easytag.c b/src/easytag.c
index e609bf8..8d15b47 100644
--- a/src/easytag.c
+++ b/src/easytag.c
@@ -94,27 +94,6 @@ static void et_on_quit_recursion_response (GtkDialog *dialog, gint response_id,
                                            gpointer user_data);
 
 /*
- * Select a file in the "main list" using the ETFile adress of each item.
- */
-void Action_Select_Nth_File_By_Etfile (ET_File *ETFile)
-{
-    if (!ETCore->ETFileDisplayedList)
-        return;
-
-    /* Save the current displayed data */
-    ET_Save_File_Data_From_UI(ETCore->ETFileDisplayed);
-
-    /* Display the item */
-    et_application_window_browser_select_file_by_et_file (ET_APPLICATION_WINDOW (MainWindow),
-                                                          ETFile, TRUE);
-    ET_Displayed_File_List_By_Etfile(ETFile); // Just to update 'ETFileDisplayedList'
-    ET_Display_File_Data_To_UI(ETFile);
-
-    et_application_window_update_actions (ET_APPLICATION_WINDOW (MainWindow));
-    et_application_window_scan_dialog_update_previews (ET_APPLICATION_WINDOW (MainWindow));
-}
-
-/*
  * Action when Save button is pressed
  */
 void Action_Save_Selected_Files (void)
diff --git a/src/easytag.h b/src/easytag.h
index 43fce9e..cae28ad 100644
--- a/src/easytag.h
+++ b/src/easytag.h
@@ -52,8 +52,6 @@ gboolean ReadingDirectory;
 /**************
  * Prototypes *
  **************/
-void Action_Select_Nth_File_By_Etfile   (ET_File *ETFile);
-
 void Action_Save_Selected_Files         (void);
 void Action_Force_Saving_Selected_Files (void);
 gint Save_All_Files_With_Answer         (gboolean force_saving_files);
diff --git a/src/search_dialog.c b/src/search_dialog.c
index cede6e1..1170afe 100644
--- a/src/search_dialog.c
+++ b/src/search_dialog.c
@@ -149,7 +149,10 @@ Search_Result_List_Row_Selected (GtkTreeSelection *selection,
                                                                   TRUE);
             /* Display only the last file (to increase speed). */
             if (!selectedRows->next)
-                Action_Select_Nth_File_By_Etfile(ETFile);
+            {
+                et_application_window_select_file_by_et_file (ET_APPLICATION_WINDOW (MainWindow),
+                                                              ETFile);
+            }
         }
     }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]