Browse Source

qt: take media options as const reference

pull/126/head
Prince Gupta 5 years ago
committed by Jean-Baptiste Kempf
parent
commit
904f325796
  1. 8
      modules/gui/qt/dialogs/dialogs_provider.cpp
  2. 2
      modules/gui/qt/dialogs/open/open.cpp
  3. 4
      modules/gui/qt/maininterface/main_interface.cpp
  4. 18
      modules/gui/qt/medialibrary/medialib.cpp
  5. 20
      modules/gui/qt/medialibrary/medialib.hpp
  6. 6
      modules/gui/qt/menus/qml_menu_wrapper.cpp
  7. 14
      modules/gui/qt/playlist/media.hpp

8
modules/gui/qt/dialogs/dialogs_provider.cpp

@ -548,7 +548,7 @@ void DialogsProvider::simpleOpenDialog(bool start)
urls.sort();
QVector<vlc::playlist::Media> medias;
for( const QString& mrl : urls)
medias.push_back( vlc::playlist::Media{mrl, nullptr, nullptr} );
medias.push_back( vlc::playlist::Media{mrl, QString {}} );
if (!medias.empty())
THEMPL->append(medias, start);
}
@ -576,7 +576,7 @@ void DialogsProvider::openUrlDialog()
url = qfu(uri);
free( uri );
}
QVector<vlc::playlist::Media> medias = { {url, nullptr, nullptr} };
QVector<vlc::playlist::Media> medias = { {url, QString {}} };
THEMPL->append(medias, !oud.shouldEnqueue());
}
@ -591,7 +591,7 @@ static void openDirectory( qt_intf_t *p_intf, bool go )
QString uri = DialogsProvider::getDirectoryDialog( p_intf );
if( !uri.isEmpty() )
{
QVector<vlc::playlist::Media> medias = { {uri, nullptr, nullptr} };
QVector<vlc::playlist::Media> medias = { {uri, QString {}} };
THEMPL->append(medias, go);
}
}
@ -766,7 +766,7 @@ void DialogsProvider::streamingDialog( QWidget *parent,
QVector<vlc::playlist::Media> outputMedias;
std::transform(outputMRLs.cbegin(), outputMRLs.cend(), std::back_inserter(outputMedias), [&](const QString& mrl) {
QString title = "Converting " + mrl;
return vlc::playlist::Media(mrl, title, &options);
return vlc::playlist::Media(mrl, title, options);
});
THEMPL->append(outputMedias, true);
}

2
modules/gui/qt/dialogs/open/open.cpp

@ -375,7 +375,7 @@ void OpenDialog::enqueue( bool b_enqueue )
/* Take options from the UI, not from what we stored */
QStringList optionsList = getOptions().split( " :" );
for( const QString& mrl : itemsMRL)
medias.push_back( vlc::playlist::Media{mrl, nullptr, &optionsList} );
medias.push_back( vlc::playlist::Media{mrl, nullptr, optionsList} );
if (!medias.empty())
THEMPL->append(medias, !b_enqueue);
}

4
modules/gui/qt/maininterface/main_interface.cpp

@ -662,7 +662,7 @@ void MainInterface::dropEventPlay( QDropEvent *event, bool b_play )
}
#endif
if( mrl.length() > 0 )
medias.push_back( vlc::playlist::Media{ mrl, nullptr, nullptr });
medias.push_back( vlc::playlist::Media{ mrl, QString {} });
}
}
@ -673,7 +673,7 @@ void MainInterface::dropEventPlay( QDropEvent *event, bool b_play )
QUrl(mimeData->text()).isValid() )
{
QString mrl = toURI( mimeData->text() );
medias.push_back( vlc::playlist::Media{ mrl, nullptr, nullptr });
medias.push_back( vlc::playlist::Media{ mrl, QString {} });
}
if (!medias.empty())
THEMPL->append(medias, b_play);

18
modules/gui/qt/medialibrary/medialib.cpp

@ -40,20 +40,20 @@ MediaLib::MediaLib(qt_intf_t *_intf, QObject *_parent)
m_threadPool.setMaxThreadCount(4);
}
void MediaLib::addToPlaylist(const QString& mrl, const QStringList* options)
void MediaLib::addToPlaylist(const QString& mrl, const QStringList &options)
{
vlc::playlist::Media media{ mrl, mrl, options };
m_intf->p_mainPlaylistController->append( {media}, false );
}
void MediaLib::addToPlaylist(const QUrl& mrl, const QStringList* options)
void MediaLib::addToPlaylist(const QUrl& mrl, const QStringList &options)
{
vlc::playlist::Media media{ mrl.toString(QUrl::None), mrl.fileName(), options };
m_intf->p_mainPlaylistController->append( {media} , false );
}
// A specific item has been asked to be added to the playlist
void MediaLib::addToPlaylist(const MLItemId & itemId, const QStringList* options)
void MediaLib::addToPlaylist(const MLItemId & itemId, const QStringList &options)
{
//invalid item
if (itemId.id == 0)
@ -85,7 +85,7 @@ void MediaLib::addToPlaylist(const MLItemId & itemId, const QStringList* options
}
}
void MediaLib::addToPlaylist(const QVariantList& itemIdList, const QStringList* options)
void MediaLib::addToPlaylist(const QVariantList& itemIdList, const QStringList &options)
{
for (const QVariant& varValue: itemIdList)
{
@ -109,7 +109,7 @@ void MediaLib::addToPlaylist(const QVariantList& itemIdList, const QStringList*
// A specific item has been asked to be played,
// so it's added to the playlist and played
void MediaLib::addAndPlay(const MLItemId & itemId, const QStringList* options )
void MediaLib::addAndPlay(const MLItemId & itemId, const QStringList &options )
{
if (itemId.id == 0)
return;
@ -139,20 +139,20 @@ void MediaLib::addAndPlay(const MLItemId & itemId, const QStringList* options )
}
}
void MediaLib::addAndPlay(const QString& mrl, const QStringList* options)
void MediaLib::addAndPlay(const QString& mrl, const QStringList &options)
{
vlc::playlist::Media media{ mrl, mrl, options };
m_intf->p_mainPlaylistController->append( {media}, true );
}
void MediaLib::addAndPlay(const QUrl& mrl, const QStringList* options)
void MediaLib::addAndPlay(const QUrl& mrl, const QStringList &options)
{
vlc::playlist::Media media{ mrl.toString(QUrl::None), mrl.fileName(), options };
m_intf->p_mainPlaylistController->append( {media}, true );
}
void MediaLib::addAndPlay(const QVariantList& itemIdList, const QStringList* options)
void MediaLib::addAndPlay(const QVariantList& itemIdList, const QStringList &options)
{
bool b_start = true;
for (const QVariant& varValue: itemIdList)
@ -187,7 +187,7 @@ void MediaLib::addAndPlay(const QVariantList& itemIdList, const QStringList* opt
}
}
void MediaLib::insertIntoPlaylist(const size_t index, const QVariantList &itemIds, const QStringList *options)
void MediaLib::insertIntoPlaylist(const size_t index, const QVariantList &itemIds, const QStringList &options)
{
QVector<vlc::playlist::Media> medias;
for ( const auto &id : itemIds )

20
modules/gui/qt/medialibrary/medialib.hpp

@ -47,16 +47,16 @@ class MediaLib : public QObject
public:
MediaLib(qt_intf_t* _intf, QObject* _parent = nullptr );
Q_INVOKABLE void addToPlaylist(const MLItemId &itemId, const QStringList* options = nullptr);
Q_INVOKABLE void addToPlaylist(const QString& mrl, const QStringList* options = nullptr);
Q_INVOKABLE void addToPlaylist(const QUrl& mrl, const QStringList* options = nullptr);
Q_INVOKABLE void addToPlaylist(const QVariantList& itemIdList, const QStringList* options = nullptr);
Q_INVOKABLE void addAndPlay(const MLItemId &itemId, const QStringList* options = nullptr);
Q_INVOKABLE void addAndPlay(const QString& mrl, const QStringList* options = nullptr);
Q_INVOKABLE void addAndPlay(const QUrl& mrl, const QStringList* options = nullptr);
Q_INVOKABLE void addAndPlay(const QVariantList&itemIdList, const QStringList* options = nullptr);
Q_INVOKABLE void insertIntoPlaylist(size_t index, const QVariantList &itemIds /*QList<MLParentId>*/, const QStringList *options = nullptr);
Q_INVOKABLE void addToPlaylist(const MLItemId &itemId, const QStringList &options = {});
Q_INVOKABLE void addToPlaylist(const QString& mrl, const QStringList &options = {});
Q_INVOKABLE void addToPlaylist(const QUrl& mrl, const QStringList &options = {});
Q_INVOKABLE void addToPlaylist(const QVariantList& itemIdList, const QStringList &options = {});
Q_INVOKABLE void addAndPlay(const MLItemId &itemId, const QStringList &options = {});
Q_INVOKABLE void addAndPlay(const QString& mrl, const QStringList &options = {});
Q_INVOKABLE void addAndPlay(const QUrl& mrl, const QStringList &options = {});
Q_INVOKABLE void addAndPlay(const QVariantList&itemIdList, const QStringList &options = {});
Q_INVOKABLE void insertIntoPlaylist(size_t index, const QVariantList &itemIds /*QList<MLParentId>*/, const QStringList &options = {});
Q_INVOKABLE void reload();

6
modules/gui/qt/menus/qml_menu_wrapper.cpp

@ -377,8 +377,7 @@ void VideoContextMenu::popup(const QModelIndexList& selected, QPoint pos, QVaria
action = m_menu->addAction( qtr("Play as audio") );
connect(action, &QAction::triggered, [ml, itemIdList]( ) {
QStringList options({":no-video"});
ml->addAndPlay(itemIdList, &options);
ml->addAndPlay(itemIdList, {":no-video"});
});
if (options.contains("information") && options["information"].type() == QVariant::Int) {
@ -543,8 +542,7 @@ void PlaylistMediaContextMenu::popup(const QModelIndexList & selected, QPoint po
action = m_menu->addAction(qtr("Play as audio"));
connect(action, &QAction::triggered, [ml, ids]() {
QStringList options({":no-video"});
ml->addAndPlay(ids, &options);
ml->addAndPlay(ids, {":no-video"});
});
if (options.contains("information") && options["information"].type() == QVariant::Int) {

14
modules/gui/qt/playlist/media.hpp

@ -36,7 +36,7 @@ using InputItemPtr = vlc_shared_data_ptr_type(input_item_t,
class Media
{
public:
Media(input_item_t *media = nullptr, const QStringList* options = nullptr)
Media(input_item_t *media = nullptr, const QStringList &options = {})
{
if (media)
{
@ -48,7 +48,7 @@ public:
}
}
Media(QString uri, QString name, const QStringList* options = nullptr)
Media(QString uri, QString name, const QStringList &options = {})
{
auto uUri = uri.toUtf8();
auto uName = name.toUtf8();
@ -60,23 +60,23 @@ public:
setMediaOptions(options);
}
void setMediaOptions(const QStringList* options = nullptr)
void setMediaOptions(const QStringList &options = {})
{
if (options && options->count() > 0)
if (options.count() > 0)
{
char **ppsz_options = NULL;
int i_options = 0;
ppsz_options = new char *[options->count()];
ppsz_options = new char *[options.count()];
auto optionDeleter = vlc::wrap_carray<char*>(ppsz_options, [&i_options](char *ptr[]) {
for(int i = 0; i < i_options; i++)
free(ptr[i]);
delete[] ptr;
});
for (int i = 0; i < options->count(); i++)
for (int i = 0; i < options.count(); i++)
{
QString option = colon_unescape( options->at(i) );
QString option = colon_unescape( options[i] );
ppsz_options[i] = strdup(option.toUtf8().constData());
if (!ppsz_options[i])
throw std::bad_alloc();

Loading…
Cancel
Save