21#ifndef JUMPTOTRACKDIALOG_P_H
22#define JUMPTOTRACKDIALOG_P_H
27#include <QAbstractListModel>
28#include "metadataformatter.h"
31class QSortFilterProxyModel;
37class JumpToTrackDialog;
44class JumpToTrackDialog :
public QDialog
49 enum { QueueRole = Qt::UserRole + 1 };
51 explicit JumpToTrackDialog(PlayListModel *model, QWidget* parent =
nullptr);
55 void on_queuePushButton_clicked();
56 void on_jumpToPushButton_clicked();
57 void jumpTo(
const QModelIndex&);
58 void queueUnqueue(
const QModelIndex&,
const QModelIndex&);
61 bool eventFilter(QObject *o, QEvent *e)
override;
63 Ui::JumpToTrackDialog *m_ui;
64 TrackListModel *m_listModel;
65 QSortFilterProxyModel* m_proxyModel;
66 PlayListManager *m_pl_manager;
67 PlayListModel *m_model;
69 QHash<int, QString> m_queueText;
76class TrackListModel :
public QAbstractListModel
80 explicit TrackListModel(PlayListModel *model, QObject *parent);
82 QVariant data(
const QModelIndex &index,
int role)
const override;
83 int rowCount(
const QModelIndex &parent)
const override;
86 void onListChanged(
int flags);
89 PlayListModel *m_model;
90 QSet<PlayListTrack *> m_queue;
The PlayListManager class is used to handle multiple playlists.
Definition playlistmanager.h:37
The PlayListModel class provides a data model for the playlist.
Definition playlistmodel.h:88