From 7ca65c81d8417d27a709241824a3aea1975b8eca Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Sun, 18 Oct 2020 14:07:48 +0200 Subject: [PATCH] Use QFileInfo instead of custom functions --- src/core/utilities.cpp | 9 --------- src/core/utilities.h | 4 ---- src/organize/organize.cpp | 7 +++---- src/organize/organizedialog.cpp | 2 +- src/organize/organizeformat.cpp | 2 +- 5 files changed, 5 insertions(+), 19 deletions(-) diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp index c70b867d8..c1dd3c1e2 100644 --- a/src/core/utilities.cpp +++ b/src/core/utilities.cpp @@ -785,15 +785,6 @@ QUrl GetRelativePathToStrawberryBin(const QUrl &url) { return QUrl::fromLocalFile(appPath.relativeFilePath(url.toLocalFile())); } -QString PathWithoutFilenameExtension(const QString &filename) { - if (filename.section('/', -1, -1).contains('.')) return filename.section('.', 0, -2); - return filename; -} - -QString FiddleFileExtension(const QString &filename, const QString &new_extension) { - return PathWithoutFilenameExtension(filename) + "." + new_extension; -} - QString GetEnv(const QString &key) { return QString::fromLocal8Bit(qgetenv(key.toLocal8Bit())); } diff --git a/src/core/utilities.h b/src/core/utilities.h index 50a20fc76..80131eb64 100644 --- a/src/core/utilities.h +++ b/src/core/utilities.h @@ -114,10 +114,6 @@ bool UrlOnSameDriveAsStrawberry(const QUrl &url); // Get relative path to Strawberry binary QUrl GetRelativePathToStrawberryBin(const QUrl &url); -// Get the path without the filename extension -QString PathWithoutFilenameExtension(const QString &filename); -QString FiddleFileExtension(const QString &filename, const QString &new_extension); - QString GetEnv(const QString &key); void SetEnv(const char *key, const QString &value); void IncreaseFDLimit(); diff --git a/src/organize/organize.cpp b/src/organize/organize.cpp index e72db7cbe..44d721713 100644 --- a/src/organize/organize.cpp +++ b/src/organize/organize.cpp @@ -33,7 +33,6 @@ #include #include "core/logging.h" -#include "core/utilities.h" #include "core/taskmanager.h" #include "core/musicstorage.h" #include "core/tagreaderclient.h" @@ -172,9 +171,9 @@ void Organize::ProcessSomeFiles() { song.set_filetype(task.new_filetype_); // Fiddle the filename extension as well to match the new type - song.set_url(QUrl::fromLocalFile(Utilities::FiddleFileExtension(song.basefilename(), task.new_extension_))); - song.set_basefilename(Utilities::FiddleFileExtension(song.basefilename(), task.new_extension_)); - task.song_info_.new_filename_ = Utilities::FiddleFileExtension(task.song_info_.new_filename_, task.new_extension_); + song.set_url(QUrl::fromLocalFile(QFileInfo(song.basefilename()).completeBaseName() + "." + task.new_extension_)); + song.set_basefilename(QFileInfo(song.basefilename()).completeBaseName() + "." + task.new_extension_); + task.song_info_.new_filename_ = QFileInfo(task.song_info_.new_filename_).completeBaseName() + "." + task.new_extension_; // Have to set this to the size of the new file or else funny stuff happens song.set_filesize(QFileInfo(task.transcoded_filename_).size()); diff --git a/src/organize/organizedialog.cpp b/src/organize/organizedialog.cpp index 5ab96cb0b..8e4d15811 100644 --- a/src/organize/organizedialog.cpp +++ b/src/organize/organizedialog.cpp @@ -420,7 +420,7 @@ Organize::NewSongInfoList OrganizeDialog::ComputeNewSongsFilenames(const SongLis QString new_filename = format.GetFilenameForSong(song, extension); if (filenames.contains(new_filename)) { QString song_number = QString::number(++filenames[new_filename]); - new_filename = Utilities::PathWithoutFilenameExtension(new_filename) + "(" + song_number + ")." + QFileInfo(new_filename).suffix(); + new_filename = QFileInfo(new_filename).completeBaseName() + "(" + song_number + ")." + QFileInfo(new_filename).suffix(); } filenames.insert(new_filename, 1); new_songs_info << Organize::NewSongInfo(song, new_filename); diff --git a/src/organize/organizeformat.cpp b/src/organize/organizeformat.cpp index c8d02d16d..b8bf0e318 100644 --- a/src/organize/organizeformat.cpp +++ b/src/organize/organizeformat.cpp @@ -115,7 +115,7 @@ QString OrganizeFormat::GetFilenameForSong(const Song &song, QString extension) if (QFileInfo(filename).completeBaseName().isEmpty()) { // Avoid having empty filenames, or filenames with extension only: in this case, keep the original filename. // We remove the extension from "filename" if it exists, as song.basefilename() also contains the extension. - filename = Utilities::PathWithoutFilenameExtension(filename) + song.basefilename(); + filename = QFileInfo(filename).path() + "/" + song.basefilename(); } if (remove_problematic_) filename = filename.remove(kProblematicCharacters);