diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp index 041c9ac20..f3b077a3e 100644 --- a/src/core/utilities.cpp +++ b/src/core/utilities.cpp @@ -283,11 +283,10 @@ QString GetConfigPath(ConfigPath config) { } } -void OpenInFileBrowser(const QStringList& filenames) { +void OpenInFileBrowser(const QList& urls) { QSet dirs; - foreach (const QString& filename, filenames) { - QUrl url(filename); + foreach (const QUrl& url, urls) { if (url.scheme() != "file") { continue; } diff --git a/src/core/utilities.h b/src/core/utilities.h index 6400c8113..1c9873668 100644 --- a/src/core/utilities.h +++ b/src/core/utilities.h @@ -23,6 +23,7 @@ #include #include #include +#include #include @@ -49,7 +50,7 @@ namespace Utilities { bool CopyRecursive(const QString& source, const QString& destination); bool Copy(QIODevice* source, QIODevice* destination); - void OpenInFileBrowser(const QStringList& filenames); + void OpenInFileBrowser(const QList& filenames); enum HashFunction { Md5_Algo, diff --git a/src/library/libraryview.cpp b/src/library/libraryview.cpp index 38e96fa01..b0f3e3b9f 100644 --- a/src/library/libraryview.cpp +++ b/src/library/libraryview.cpp @@ -542,10 +542,10 @@ void LibraryView::EditSmartPlaylistFinished() { } void LibraryView::ShowInBrowser() { - QStringList filenames; + QList urls; foreach (const Song& song, GetSelectedSongs()) { - filenames << song.url().toLocalFile(); + urls << song.url(); } - Utilities::OpenInFileBrowser(filenames); + Utilities::OpenInFileBrowser(urls); } diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index 01aae6ebf..69c766d2f 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -1862,15 +1862,15 @@ void MainWindow::PlaylistDelete() { } void MainWindow::PlaylistOpenInBrowser() { - QStringList filenames; + QList urls; QModelIndexList proxy_indexes = ui_->playlist->view()->selectionModel()->selectedRows(); foreach (const QModelIndex& proxy_index, proxy_indexes) { const QModelIndex index = playlists_->current()->proxy()->mapToSource(proxy_index); - filenames << index.sibling(index.row(), Playlist::Column_Filename).data().toString(); + urls << index.sibling(index.row(), Playlist::Column_Filename).data().toString(); } - Utilities::OpenInFileBrowser(filenames); + Utilities::OpenInFileBrowser(urls); } void MainWindow::DeleteFinished(const SongList& songs_with_errors) {