29 #ifndef PLAYLISTVIEW_H_
30 #define PLAYLISTVIEW_H_
32 #include "Gui/Utils/SearchableWidget/SearchableView.h"
33 #include "Gui/Utils/Widgets/Dragable.h"
34 #include "Gui/Utils/Widgets/WidgetTemplate.h"
36 #include "Gui/InfoDialog/InfoDialogContainer.h"
38 #include "Utils/Playlist/PlaylistFwd.h"
39 #include "Utils/MetaData/MetaDataFwd.h"
40 #include "Utils/Pimpl.h"
59 void sigDoubleClicked(
int row);
60 void sigDeleteTracks(
const IndexSet& rows);
61 void sigBookmarkPressed(
int trackIdx, Seconds timestamp);
64 explicit View(PlaylistPtr playlist, QWidget* parent=
nullptr);
67 void gotoRow(
int row);
68 void deleteSelectedTracks();
79 void removeSelectedRows();
83 void currentTrackChanged(
int trackIndex,
int playlistIndex);
84 void asyncDropFinished();
85 void ratingChanged(Rating rating);
86 void columnsChanged();
87 void showRatingChanged();
88 void findTrackTriggered();
89 void bookmarkTriggered(Seconds timestamp);
90 void moveSelectedRowsUp();
91 void moveSelectedRowsDown();
92 void playSelectedTrack();
93 void gotoToCurrentTrack();
94 void playlistBusyChanged(
bool b);
95 void currentScannedFileChanged(
const QString& currentFile);
98 void initContextMenu();
101 void handleDrop(QDropEvent* event);
106 QMimeData* dragableMimedata()
const override;
107 int mapModelIndexToIndex(
const QModelIndex& idx)
const override;
110 void skinChanged()
override;
117 void dragEnterEvent(QDragEnterEvent* event)
override;
118 void dragMoveEvent(QDragMoveEvent* event)
override;
119 void dropEvent(QDropEvent* event)
override;
120 void mousePressEvent(QMouseEvent* event)
override;
121 void mouseDoubleClickEvent(QMouseEvent* event)
override;
122 void keyPressEvent(QKeyEvent* event)
override;
123 bool viewportEvent(QEvent* event)
override;
124 void contextMenuEvent(QContextMenuEvent* e)
override;