1#ifndef __PLAYLIST_HPP__
2#define __PLAYLIST_HPP__
17#include <QSortFilterProxyModel>
19#include <QStandardItemModel>
30 explicit PlaylistDialog(
const QStringList &shaderNames, QWidget *parent =
nullptr);
QPushButton * shuffleButton
void loadShaders(const QStringList &shaderNames)
int getAutopilotFrames() const
Return frames-per-shader threshold for autopilot mode (minimum 4).
void setPlaylistTree(const QList< QPair< QString, QStringList > > &tree)
QPushButton * concatButton
PlaylistDialog(const QStringList &shaderNames, QWidget *parent=nullptr)
QPushButton * renameNodeButton
QStringList getSelectedShaderNames() const
Return flattened selection of shaders in current playlist.
QLineEdit * searchLineEdit
QStringList shaderNamesList
void setEnabled(bool enabled)
bool isPlaylistEnabled() const
Return whether playlist mode is enabled.
void setPlaylistFile(const QString &path)
QSortFilterProxyModel * proxyModel
QCheckBox * enableCheckBox
QPushButton * removeButton
QPushButton * cancelButton
void setSelectedShaderNames(const QStringList &names)
QTreeWidget * playlistTree
QString getPlaylistFile() const
Return current playlist file path.
void setAutopilotRandom(bool enabled)
Enable or disable random autopilot timeout mode.
QTreeWidgetItem * currentNodeItem() const
QPushButton * clearButton
void updateShaderList(const QStringList &shaderNames)
bool isAutopilotRandom() const
Return true when random autopilot timeout mode is enabled.
QList< QPair< QString, QStringList > > getPlaylistTree() const
Return tree representation as node-name and shader-list pairs.
void filterSearchChanged(const QString &text)
QPushButton * removeNodeButton
void setAutopilotFrames(int frames)
Set frames-per-shader threshold for autopilot mode.
QMap< QString, int > shaderNameToIndex
QPushButton * addNodeButton
QComboBox * shaderComboBox
QStandardItemModel * shaderModel
QSpinBox * autopilotFramesSpinBox
QCheckBox * autopilotRandomCheckBox