23 #ifndef GUI_ABSTRACTLIBRARY_H
24 #define GUI_ABSTRACTLIBRARY_H
26 #include "Components/Library/LibraryNamespaces.h"
27 #include "GUI/Helper/Delegates/ComboBoxDelegate.h"
28 #include "GUI/Helper/SayonaraWidget/SayonaraWidget.h"
30 #include "Views/LibraryView.h"
31 #include "Views/LibraryViewAlbum.h"
33 #include "Models/LibraryItemModelAlbums.h"
34 #include "Models/LibraryItemModelArtists.h"
35 #include "Models/LibraryItemModelTracks.h"
37 #include "Delegates/LibraryItemDelegateAlbums.h"
38 #include "Delegates/LibraryItemDelegateArtists.h"
39 #include "Delegates/LibraryItemDelegateTracks.h"
41 #include "Helper/Settings/SayonaraClass.h"
42 #include "Helper/Filter.h"
44 #include <QStringList>
50 #include <QPushButton>
64 QWidget *parent=
nullptr);
69 void set_index(
int idx);
91 virtual void init_headers();
92 virtual void init_shortcuts();
93 virtual void language_changed()
override;
94 virtual Library::TrackDeletionMode show_delete_dialog(
int n_tracks)=0;
99 QComboBox* _combo_libchooser =
nullptr;
104 QComboBox* _combo_search =
nullptr;
105 QPushButton* _btn_clear =
nullptr;
106 QLineEdit* _le_search =
nullptr;
107 QPushButton* _btn_refresh =
nullptr;
110 void init_finished();
115 virtual void _sl_live_search_changed();
119 virtual void refresh();
122 virtual void lib_fill_albums(
const AlbumList&);
123 virtual void lib_fill_artists(
const ArtistList&);
124 virtual void track_info_available(
const MetaDataList& v_md);
130 virtual void artist_middle_clicked(
const QPoint& p);
131 virtual void album_middle_clicked(
const QPoint& p);
132 virtual void tracks_middle_clicked(
const QPoint& p);
134 virtual void artist_dbl_clicked(
const QModelIndex &);
135 virtual void album_dbl_clicked(
const QModelIndex &);
136 virtual void track_dbl_clicked(
const QModelIndex &);
138 virtual void columns_title_changed(
const BoolList&);
139 virtual void columns_album_changed(
const BoolList&);
140 virtual void columns_artist_changed(
const BoolList&);
142 virtual void sortorder_title_changed(SortOrder);
143 virtual void sortorder_album_changed(SortOrder);
144 virtual void sortorder_artist_changed(SortOrder);
146 virtual void text_line_edited(
const QString&);
147 virtual void clear_button_pressed();
148 virtual void combo_search_changed(
int idx);
149 virtual void return_pressed();
151 virtual void info_artist();
152 virtual void info_album();
153 virtual void info_tracks();
155 virtual void edit_artist();
156 virtual void edit_album();
157 virtual void edit_tracks();
159 virtual void delete_artist();
160 virtual void delete_album();
161 virtual void delete_tracks();
163 virtual void refresh_artist();
164 virtual void refresh_album();
165 virtual void refresh_tracks();
168 virtual void album_rating_changed(
int);
169 virtual void title_rating_changed(
int);
171 virtual void append();
172 virtual void append_tracks();
173 virtual void play_next();
174 virtual void play_next_tracks();
176 virtual void show_delete_answer(QString);
180 virtual void id3_tags_changed();
184 void setup_parent(T* subclass){
186 subclass->setupUi(subclass);
188 _combo_libchooser = subclass->combo_lib_chooser;
189 _lv_artist = subclass->lv_artist;
190 _lv_album = subclass->lv_album;
191 _lv_tracks = subclass->tb_title;
192 _btn_clear = subclass->btn_clear;
193 _le_search = subclass->le_search;
194 _combo_search = subclass->combo_searchfilter;
198 _combo_search->setIconSize(QSize(16, 16));
199 _combo_search->view()->setIconSize(QSize(16, 16));
207 #endif // GUI_ABSTRACTLIBRARY_H
Definition: LibraryItemDelegateAlbums.h:38
Definition: LibraryItemDelegateTracks.h:35
Definition: GUI_InfoDialog.h:41
Definition: AbstractLibrary.h:50
The AlbumList class.
Definition: Album.h:73
Definition: GUI_AbstractLibrary.h:57
Definition: LibraryView.h:59
Definition: LibraryViewAlbum.h:32
Definition: ColumnHeader.h:40
ArtistList.
Definition: Artist.h:64
Definition: LibraryItemModelAlbums.h:38
Definition: LibraryItemModelArtists.h:36
Definition: LibraryItemModelTracks.h:35
Definition: LibraryItemDelegateArtists.h:41
The ComboBoxDelegate class Set this delegate to ComboBoxes if they should look nice.
Definition: ComboBoxDelegate.h:33