Merge 69315833af
into 2f3464403b
This commit is contained in:
commit
c12b7db503
|
@ -308,7 +308,7 @@ bool CommandlineOptions::Parse() {
|
|||
QString value = QFile::decodeName(argv_[i]);
|
||||
QFileInfo file_info(value);
|
||||
if (file_info.exists())
|
||||
urls_ << QUrl::fromLocalFile(file_info.canonicalFilePath());
|
||||
urls_ << QUrl::fromLocalFile(file_info.absoluteFilePath());
|
||||
else
|
||||
urls_ << QUrl::fromUserInput(value);
|
||||
}
|
||||
|
|
|
@ -725,8 +725,11 @@ bool UrlOnSameDriveAsClementine(const QUrl& url) {
|
|||
if (url.scheme() != "file") return false;
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
QUrl canUrl =
|
||||
QUrl::fromLocalFile(QFileInfo(url.toLocalFile()).canonicalFilePath());
|
||||
QUrl appUrl = QUrl::fromLocalFile(QCoreApplication::applicationDirPath());
|
||||
if (url.toLocalFile().left(1) == appUrl.toLocalFile().left(1))
|
||||
|
||||
if (canUrl.toLocalFile().left(1) == appUrl.toLocalFile().left(1))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
|
|
|
@ -218,11 +218,11 @@ void LibraryBackend::UpdateTotalSongCount() {
|
|||
}
|
||||
|
||||
void LibraryBackend::AddDirectory(const QString& path) {
|
||||
QString canonical_path = QFileInfo(path).canonicalFilePath();
|
||||
QString db_path = canonical_path;
|
||||
QString absolute_path = QFileInfo(path).absoluteFilePath();
|
||||
QString db_path = absolute_path;
|
||||
|
||||
if (Application::kIsPortable && Utilities::UrlOnSameDriveAsClementine(
|
||||
QUrl::fromLocalFile(canonical_path))) {
|
||||
QUrl::fromLocalFile(absolute_path))) {
|
||||
db_path = Utilities::GetRelativePathToClementineBin(db_path);
|
||||
qLog(Debug) << "db_path" << db_path;
|
||||
}
|
||||
|
@ -239,7 +239,7 @@ void LibraryBackend::AddDirectory(const QString& path) {
|
|||
if (db_->CheckErrors(q)) return;
|
||||
|
||||
Directory dir;
|
||||
dir.path = canonical_path;
|
||||
dir.path = absolute_path;
|
||||
dir.id = q.lastInsertId().toInt();
|
||||
|
||||
emit DirectoryDiscovered(dir, SubdirectoryList());
|
||||
|
|
|
@ -467,7 +467,7 @@ void IncomingDataParser::AppendFilesToPlaylist(
|
|||
QDir dir(fi_folder.absoluteFilePath());
|
||||
for (const auto& file : req_append.files()) {
|
||||
QFileInfo fi(dir, file.c_str());
|
||||
if (fi.exists()) urls << QUrl::fromLocalFile(fi.canonicalFilePath());
|
||||
if (fi.exists()) urls << QUrl::fromLocalFile(fi.absoluteFilePath());
|
||||
}
|
||||
if (!urls.isEmpty()) {
|
||||
MimeData* data = new MimeData;
|
||||
|
|
|
@ -53,15 +53,12 @@ void ParserBase::LoadSong(const QString& filename_or_url, qint64 beginning,
|
|||
// was created on/for, using replace() lets playlists work on any platform.
|
||||
filename = filename.replace('\\', '/');
|
||||
|
||||
// Make the path absolute
|
||||
// Make the path absolute and clean it
|
||||
if (!QDir::isAbsolutePath(filename)) {
|
||||
filename = dir.absoluteFilePath(filename);
|
||||
}
|
||||
|
||||
// Use the canonical path
|
||||
if (QFile::exists(filename)) {
|
||||
filename = QFileInfo(filename).canonicalFilePath();
|
||||
}
|
||||
filename = QDir::cleanPath(filename);
|
||||
|
||||
const QUrl url = QUrl::fromLocalFile(filename);
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ class ParserBase : public QObject {
|
|||
protected:
|
||||
// Loads a song. If filename_or_url is a URL (with a scheme other than
|
||||
// "file") then it is set on the song and the song marked as a stream.
|
||||
// If it is a filename or a file:// URL then it is made absolute and canonical
|
||||
// If it is a filename or a file:// URL then it is made absolute and cleaned
|
||||
// and set as a file:// url on the song. Also sets the song's metadata by
|
||||
// searching in the Library, or loading from the file as a fallback.
|
||||
// This function should always be used when loading a playlist.
|
||||
|
|
|
@ -2185,7 +2185,7 @@ void MainWindow::AddFile() {
|
|||
// Convert to URLs
|
||||
QList<QUrl> urls;
|
||||
for (const QString& path : file_names) {
|
||||
urls << QUrl::fromLocalFile(QFileInfo(path).canonicalFilePath());
|
||||
urls << QUrl::fromLocalFile(QFileInfo(path).absoluteFilePath());
|
||||
}
|
||||
|
||||
MimeData* data = new MimeData;
|
||||
|
@ -2209,7 +2209,7 @@ void MainWindow::AddFolder() {
|
|||
// Add media
|
||||
MimeData* data = new MimeData;
|
||||
data->setUrls(QList<QUrl>() << QUrl::fromLocalFile(
|
||||
QFileInfo(directory).canonicalFilePath()));
|
||||
QFileInfo(directory).absoluteFilePath()));
|
||||
AddToPlaylist(data);
|
||||
}
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ QList<QUrl> FileViewList::UrlListFromSelection() const {
|
|||
if (index.column() == 0)
|
||||
urls << QUrl::fromLocalFile(static_cast<QFileSystemModel*>(model())
|
||||
->fileInfo(index)
|
||||
.canonicalFilePath());
|
||||
.absoluteFilePath());
|
||||
}
|
||||
return urls;
|
||||
}
|
||||
|
|
|
@ -74,7 +74,7 @@ TEST_F(LibraryBackendTest, AddDirectory) {
|
|||
// Check the signal was emitted correctly
|
||||
ASSERT_EQ(1, spy.count());
|
||||
Directory dir = spy[0][0].value<Directory>();
|
||||
EXPECT_EQ(QFileInfo("/tmp").canonicalFilePath(), dir.path);
|
||||
EXPECT_EQ(QFileInfo("/tmp").absoluteFilePath(), dir.path);
|
||||
EXPECT_EQ(1, dir.id);
|
||||
EXPECT_EQ(0, spy[0][1].value<SubdirectoryList>().size());
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue