1 /* EasyTAG - tag editor for audio files
2  * Copyright (C) 2014  David King <amigadave@amigadave.com>
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the Free
6  * Software Foundation; either version 2 of the License, or (at your option)
7  * any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12  * more details.
13  *
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc., 51
16  * Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17  */
18 
19 #ifndef ET_FILE_LIST_H_
20 #define ET_FILE_LIST_H_
21 
22 #include <glib.h>
23 
24 G_BEGIN_DECLS
25 
26 #include "file.h"
27 #include "file_tag.h"
28 #include "setting.h"
29 
30 GList * et_file_list_add (GList *file_list, GFile *file);
31 void ET_Remove_File_From_File_List (ET_File *ETFile);
32 gboolean et_file_list_check_all_saved (GList *etfilelist);
33 void et_file_list_update_directory_name (GList *file_list, const gchar *old_path, const gchar *new_path);
34 guint et_file_list_get_n_files_in_path (GList *file_list, const gchar *path_utf8);
35 void et_file_list_free (GList *file_list);
36 
37 GList * et_artist_album_list_new_from_file_list (GList *file_list);
38 void et_artist_album_file_list_free (GList *file_list);
39 
40 GList * ET_Displayed_File_List_First (void);
41 GList * ET_Displayed_File_List_Previous (void);
42 GList * ET_Displayed_File_List_Next (void);
43 GList * ET_Displayed_File_List_Last (void);
44 GList * ET_Displayed_File_List_By_Etfile (const ET_File *ETFile);
45 
46 void et_displayed_file_list_set (GList *ETFileList);
47 void et_displayed_file_list_free (GList *file_list);
48 
49 GList * et_history_list_add (GList *history_list, ET_File *ETFile);
50 gboolean ET_Add_File_To_History_List (ET_File *ETFile);
51 ET_File * ET_Undo_History_File_Data (void);
52 ET_File * ET_Redo_History_File_Data (void);
53 gboolean et_history_list_has_undo (GList *history_list);
54 gboolean et_history_list_has_redo (GList *history_list);
55 void et_history_file_list_free (GList *file_list);
56 
57 GList *ET_Sort_File_List (GList *ETFileList, EtSortMode Sorting_Type);
58 
59 G_END_DECLS
60 
61 #endif /* !ET_FILE_H_ */
62