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 pl, QWidget* parent=
nullptr);
67 void gotoRow(
int row);
68 void deleteSelectedTracks();
79 void removeSelectedRows();
83 void currentTrackChanged(
int track_index,
int playlistIndex);
84 void asyncDropFinished();
85 void ratingChanged(Rating rating);
86 void columnsChanged();
87 void showRatingChanged();
88 void findTrackTriggered();
89 void reverseTriggered();
90 void bookmarkTriggered(Seconds timestamp);
92 void moveSelectedRowsUp();
93 void moveSelectedRowsDown();
94 void playSelectedTrack();
95 void gotoToCurrentTrack();
96 void playlistBusyChanged(
bool b);
97 void currentScannedFileChanged(
const QString& currentFile);
101 void initContextMenu();
104 int calcDragDropLine(QPoint pos);
105 void handleDrop(QDropEvent* event);
106 void handleInnerDragDrop(
int row,
bool copy);
111 QMimeData* dragableMimedata()
const override;
112 int mapModelIndexToIndex(
const QModelIndex& idx)
const override;
115 void skinChanged()
override;
122 void dragEnterEvent(QDragEnterEvent* event)
override;
123 void dragMoveEvent(QDragMoveEvent* event)
override;
124 void dropEvent(QDropEvent* event)
override;
125 void mousePressEvent(QMouseEvent* event)
override;
126 void mouseDoubleClickEvent(QMouseEvent* event)
override;
127 void keyPressEvent(QKeyEvent* event)
override;
128 bool viewportEvent(QEvent* event)
override;
129 void contextMenuEvent(QContextMenuEvent* e)
override;