52 public SearchableTableView,
53 public InfoDialogContainer,
60 void sigDeleteClicked();
61 void sigPlayClicked();
62 void sigPlayNextClicked();
63 void sigPlayNewTabClicked();
64 void sigAppendClicked();
65 void sigReloadClicked();
66 void sigImportFiles(
const QStringList& files);
67 void sigSelectionChanged(
const IndexSet& indexes);
70 explicit ItemView(QWidget* parent =
nullptr);
73 ItemView(
const ItemView& other) =
delete;
74 ItemView& operator=(
const ItemView& other) =
delete;
76 void showClearButton(
bool visible);
77 void useClearButton(
bool yesno);
79 [[nodiscard]]
virtual Library::ContextMenu::Entries contextMenuEntries()
const;
81 [[nodiscard]]
bool isValidDragPosition(
const QPoint& p)
const override;
84 void init(
const std::shared_ptr<PlayActionEventHandler>& playActionEventHandler);
85 void selectionChanged(
const QItemSelection& selected,
const QItemSelection& deselected)
override;
88 virtual void initContextMenu();
91 [[nodiscard]]
SearchModel* searchModel()
const override;
92 [[nodiscard]]
virtual ItemModel* itemModel()
const = 0;
95 [[nodiscard]]
virtual bool isMergeable()
const = 0;
97 [[nodiscard]]
MetaDataList infoDialogData()
const override;
98 QWidget* getParentWidget()
override;
100 virtual void importRequested(
const QStringList& files);
103 virtual void triggerSelectionChange(
const IndexSet& indexes) = 0;
104 [[nodiscard]]
virtual PlayActionEventHandler::TrackSet trackSet()
const = 0;
106 [[nodiscard]] QRect viewportGeometry()
const override;
107 virtual void refreshView() = 0;
109 void mousePressEvent(QMouseEvent* event)
override;
110 void contextMenuEvent(QContextMenuEvent* event)
override;
111 void dragEnterEvent(QDragEnterEvent* event)
override;
112 void dragMoveEvent(QDragMoveEvent* event)
override;
113 void dropEvent(QDropEvent* event)
override;
114 void resizeEvent(QResizeEvent* event)
override;
117 virtual void showContextMenu(
const QPoint&);
118 virtual void mergeActionTriggered();
119 virtual void playClicked();
120 virtual void playNewTabClicked();
121 virtual void playNextClicked();
122 virtual void deleteClicked();
123 virtual void appendClicked();
124 virtual void refreshClicked();
125 virtual void reloadClicked();
126 virtual void albumArtistsToggled();
127 virtual void filterExtensionsTriggered(
const QString& extension,
bool b);
131 void selectedItemsChanged(
const IndexSet& indexes);
134 void showContextMenuActions(Library::ContextMenu::Entries entries);