vlc | branch: master | Jonathan Heard <[email protected]> | Thu Jan 19 16:21:23 2017 +0000| [1866ec487ef02569055e106bb923aa2689dd35f1] | committer: Hugo Beauzée-Luyssen
Remove all reliance upon QUrl for handling MRLs in GUI Fixes #17850 Signed-off-by: Hugo Beauzée-Luyssen <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1866ec487ef02569055e106bb923aa2689dd35f1 --- modules/gui/qt/components/playlist/playlist_item.cpp | 4 ++-- modules/gui/qt/components/playlist/playlist_item.hpp | 5 ++--- modules/gui/qt/components/playlist/playlist_model.cpp | 2 +- modules/gui/qt/components/playlist/vlc_model.cpp | 2 +- modules/gui/qt/components/sout/sout_widgets.cpp | 8 +++++++- modules/gui/qt/dialogs/openurl.cpp | 1 - modules/gui/qt/dialogs/playlist.cpp | 1 - 7 files changed, 13 insertions(+), 10 deletions(-) diff --git a/modules/gui/qt/components/playlist/playlist_item.cpp b/modules/gui/qt/components/playlist/playlist_item.cpp index a38cf93..317f30b 100644 --- a/modules/gui/qt/components/playlist/playlist_item.cpp +++ b/modules/gui/qt/components/playlist/playlist_item.cpp @@ -125,13 +125,13 @@ bool PLItem::operator< ( AbstractPLItem& other ) return false; } -QUrl PLItem::getURI() const +QString PLItem::getURI() const { QString uri; vlc_mutex_lock( &p_input->lock ); uri = QString( p_input->psz_uri ); vlc_mutex_unlock( &p_input->lock ); - return QUrl( uri ); + return uri; } QString PLItem::getTitle() const diff --git a/modules/gui/qt/components/playlist/playlist_item.hpp b/modules/gui/qt/components/playlist/playlist_item.hpp index 636bb57..b88314b 100644 --- a/modules/gui/qt/components/playlist/playlist_item.hpp +++ b/modules/gui/qt/components/playlist/playlist_item.hpp @@ -32,7 +32,6 @@ #include <QList> #include <QString> -#include <QUrl> class AbstractPLItem { @@ -57,7 +56,7 @@ protected: virtual AbstractPLItem *child( int id ) const = 0; void removeChild( AbstractPLItem *item ); void clearChildren(); - virtual QUrl getURI() const = 0; + virtual QString getURI() const = 0; virtual QString getTitle() const = 0; virtual bool readOnly() const = 0; @@ -79,7 +78,7 @@ private: int id() const Q_DECL_OVERRIDE; input_item_t *inputItem() Q_DECL_OVERRIDE { return p_input; } AbstractPLItem *child( int id ) const Q_DECL_OVERRIDE { return children.value( id ); }; - virtual QUrl getURI() const Q_DECL_OVERRIDE; + virtual QString getURI() const Q_DECL_OVERRIDE; virtual QString getTitle() const Q_DECL_OVERRIDE; virtual bool readOnly() const Q_DECL_OVERRIDE; diff --git a/modules/gui/qt/components/playlist/playlist_model.cpp b/modules/gui/qt/components/playlist/playlist_model.cpp index 7e5a991..d4b5df7 100644 --- a/modules/gui/qt/components/playlist/playlist_model.cpp +++ b/modules/gui/qt/components/playlist/playlist_model.cpp @@ -1048,7 +1048,7 @@ bool PLModel::isSupportedAction( actions action, const QModelIndex &index ) cons if( !item ) return false; - char* psz_path = vlc_uri2path( qtu( item->getURI().toString() ) ); + char* psz_path = vlc_uri2path( qtu( item->getURI() ) ); free( psz_path ); return psz_path != NULL; } diff --git a/modules/gui/qt/components/playlist/vlc_model.cpp b/modules/gui/qt/components/playlist/vlc_model.cpp index 7d48f73..e877b5d 100644 --- a/modules/gui/qt/components/playlist/vlc_model.cpp +++ b/modules/gui/qt/components/playlist/vlc_model.cpp @@ -163,7 +163,7 @@ QString VLCModel::getURI( const QModelIndex &index ) const { AbstractPLItem *item = getItem( index ); if ( !item ) return QString(); - return item->getURI().toString(); + return item->getURI(); } input_item_t * VLCModel::getInputItem( const QModelIndex &index ) const diff --git a/modules/gui/qt/components/sout/sout_widgets.cpp b/modules/gui/qt/components/sout/sout_widgets.cpp index f84ebdb..45243b9 100644 --- a/modules/gui/qt/components/sout/sout_widgets.cpp +++ b/modules/gui/qt/components/sout/sout_widgets.cpp @@ -70,6 +70,8 @@ SoutInputBox::SoutInputBox( QWidget *_parent, const QString& mrl ) : QGroupBox( void SoutInputBox::setMRL( const QString& mrl ) { QUrl uri = QUrl::fromEncoded( mrl.toLatin1() ); + QString type = uri.scheme(); + if( !uri.isValid() && !mrl.startsWith("http") && !mrl.startsWith("ftp") && @@ -82,10 +84,14 @@ void SoutInputBox::setMRL( const QString& mrl ) sourceLine->setText( mrl ); } } + else if ( type == "window" ) + { + /* QUrl mangles X11 Window identifiers so use the raw mrl */ + sourceLine->setText( mrl ); + } else { sourceLine->setText( uri.toString() ); - QString type = uri.scheme(); if ( type.isEmpty() ) type = qtr( I_FILE_SLASH_DIR ); sourceValueLabel->setText( type ); } diff --git a/modules/gui/qt/dialogs/openurl.cpp b/modules/gui/qt/dialogs/openurl.cpp index e0f7c26..2e4606c 100644 --- a/modules/gui/qt/dialogs/openurl.cpp +++ b/modules/gui/qt/dialogs/openurl.cpp @@ -35,7 +35,6 @@ #include <QClipboard> #include <QMimeData> #include <QList> -#include <QUrl> #include <QFile> #include <QLabel> diff --git a/modules/gui/qt/dialogs/playlist.cpp b/modules/gui/qt/dialogs/playlist.cpp index 0da5c98..beb47a3 100644 --- a/modules/gui/qt/dialogs/playlist.cpp +++ b/modules/gui/qt/dialogs/playlist.cpp @@ -30,7 +30,6 @@ #include "util/qt_dirs.hpp" -#include <QUrl> #include <QMimeData> #include <QHBoxLayout> _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
