Skip to content
Snippets Groups Projects
Commit c658f1a8 authored by Pierre Lamot's avatar Pierre Lamot
Browse files

qt: allow to enqueue network item using model indexes

parent 34ae3b4f
No related branches found
No related tags found
No related merge requests found
......@@ -147,6 +147,19 @@ bool NetworkDeviceModel::addToPlaylist(const QVariantList &itemIdList)
return ret;
}
bool NetworkDeviceModel::addToPlaylist(const QModelIndexList &itemIdList)
{
bool ret = false;
for (const QModelIndex& index: itemIdList)
{
if (!index.isValid())
continue;
ret |= addToPlaylist(index.row());
}
return ret;
}
bool NetworkDeviceModel::addAndPlay(int index)
{
if (!(m_ctx && m_sdSource != CAT_MYCOMPUTER))
......@@ -176,6 +189,21 @@ bool NetworkDeviceModel::addAndPlay(const QVariantList& itemIdList)
return ret;
}
bool NetworkDeviceModel::addAndPlay(const QModelIndexList& itemIdList)
{
bool ret = false;
for (const QModelIndex& index: itemIdList)
{
if (!index.isValid())
continue;
if (!ret)
ret |= addAndPlay(index.row());
else
ret |= addToPlaylist(index.row());
}
return ret;
}
bool NetworkDeviceModel::initializeMediaSources()
{
auto libvlc = vlc_object_instance(m_ctx->getIntf());
......
......@@ -84,8 +84,10 @@ public:
Q_INVOKABLE bool addToPlaylist( int index );
Q_INVOKABLE bool addToPlaylist(const QVariantList& itemIdList);
Q_INVOKABLE bool addToPlaylist(const QModelIndexList& itemIdList);
Q_INVOKABLE bool addAndPlay( int index );
Q_INVOKABLE bool addAndPlay(const QVariantList& itemIdList);
Q_INVOKABLE bool addAndPlay(const QModelIndexList& itemIdList);
signals:
void ctxChanged();
......
......@@ -217,6 +217,18 @@ bool NetworkMediaModel::addToPlaylist(const QVariantList &itemIdList)
return ret;
}
bool NetworkMediaModel::addToPlaylist(const QModelIndexList &itemIdList)
{
bool ret = false;
for (const QModelIndex& index: itemIdList)
{
if (!index.isValid())
continue;
ret |= addToPlaylist(index.row());
}
return ret;
}
bool NetworkMediaModel::addAndPlay(int index)
{
if (!(m_ctx && m_hasTree))
......@@ -251,6 +263,22 @@ bool NetworkMediaModel::addAndPlay(const QVariantList& itemIdList)
return ret;
}
bool NetworkMediaModel::addAndPlay(const QModelIndexList& itemIdList)
{
bool ret = false;
for (const QModelIndex& index: itemIdList)
{
if (!index.isValid())
continue;
if (!ret)
ret |= addAndPlay(index.row());
else
ret |= addToPlaylist(index.row());
}
return ret;
}
bool NetworkMediaModel::initializeMediaSources()
{
......
......@@ -126,8 +126,10 @@ public:
Q_INVOKABLE bool addToPlaylist( int index );
Q_INVOKABLE bool addToPlaylist(const QVariantList& itemIdList);
Q_INVOKABLE bool addToPlaylist(const QModelIndexList& itemIdList);
Q_INVOKABLE bool addAndPlay( int index );
Q_INVOKABLE bool addAndPlay(const QVariantList& itemIdList);
Q_INVOKABLE bool addAndPlay(const QModelIndexList& itemIdList);
signals:
void nameChanged();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment