32 #include "Gui/Utils/Widgets/Dragable.h" 33 #include "Gui/Utils/SearchableWidget/SearchableView.h" 35 #include "Gui/InfoDialog/InfoDialogContainer.h" 36 #include "Gui/Utils/ContextMenu/LibraryContextMenu.h" 37 #include "Gui/Utils/Shortcuts/ShortcutWidget.h" 39 #include "Utils/Library/Sortorder.h" 40 #include "Utils/Set.h" 41 #include "Utils/Pimpl.h" 47 class ColumnHeaderList;
71 bool is_valid()
const;
74 LibraryId library_id()
const;
78 void sig_all_selected();
79 void sig_delete_clicked();
80 void sig_play_clicked();
81 void sig_play_next_clicked();
82 void sig_play_new_tab_clicked();
83 void sig_append_clicked();
84 void sig_refresh_clicked();
85 void sig_reload_clicked();
86 void sig_import_files(
const QStringList& files);
87 void sig_sel_changed(
const IndexSet& indexes);
94 void show_context_menu_actions(LibraryContextMenu::Entries entries);
96 using SearchableTableView::set_model;
99 explicit ItemView(QWidget* parent=
nullptr);
104 virtual LibraryContextMenu::Entries context_menu_entries()
const;
109 QPixmap drag_pixmap()
const override;
111 void set_metadata_interpretation(MD::Interpretation type);
112 void set_selection_type(SelectionViewInterface::SelectionType type)
override;
114 void show_clear_button(
bool visible);
115 void use_clear_button(
bool yesno);
117 bool is_valid_drag_position(
const QPoint &p)
const override;
121 virtual void mousePressEvent(QMouseEvent* event)
override;
122 virtual void mouseMoveEvent(QMouseEvent* event)
override;
123 virtual void contextMenuEvent(QContextMenuEvent* event)
override;
125 virtual void dragEnterEvent(QDragEnterEvent *event)
override;
126 virtual void dragMoveEvent(QDragMoveEvent *event)
override;
127 virtual void dropEvent(QDropEvent* event)
override;
128 virtual void changeEvent(QEvent* event)
override;
129 virtual void keyPressEvent(QKeyEvent* event)
override;
130 virtual void resizeEvent(QResizeEvent *event)
override;
132 virtual void selected_items_changed (
const QItemSelection& selected,
const QItemSelection& deselected );
134 virtual void init_context_menu();
146 virtual
void selection_changed(const
IndexSet& indexes);
147 virtual
void import_requested(const QStringList& files);
150 virtual
void run_merge_operation(const
MergeData& md);
152 int viewport_height() const override;
156 virtual
void show_context_menu(const QPoint&);
157 virtual
void merge_action_triggered();
158 virtual
void play_clicked();
159 virtual
void play_new_tab_clicked();
160 virtual
void play_next_clicked();
161 virtual
void delete_clicked();
162 virtual
void append_clicked();
163 virtual
void refresh_clicked();
164 virtual
void reload_clicked();
165 virtual
void cover_view_toggled();
166 virtual
void album_artists_toggled();
167 virtual
void filter_extensions_triggered(const QString& extension,
bool b);
171 void resize_rows_to_contents();
172 void resize_rows_to_contents(
int first_row,
int count);
An interface used to abstract the usage of the info dialog. An implementing class has to return the i...
Definition: InfoDialogContainer.h:35
virtual MD::Interpretation metadata_interpretation() const override final
get the interpretation for the metadata. Maybe a list of metadata should be intrepeted as albums whil...
Definition: AbstractLibrary.h:38
The Dragable class.
Definition: Dragable.h:37
A set structure. Inherited from std::set with some useful methods. For integer and String this set is...
Definition: Set.h:35
QMimeData * dragable_mimedata() const override
Definition: ItemView.h:61
An interface class needed when implementing a library plugin.
Definition: CachingThread.h:29
Definition: ItemView.h:51
Definition: ItemModel.h:37
MetaDataList info_dialog_data() const override
get the metadata that should be used for the info dialog So for lists, the selected tracks are used h...