diff --git a/src/core/albumcoverloader.cpp b/src/core/albumcoverloader.cpp index 35ba3fc1f..7b0f3c171 100644 --- a/src/core/albumcoverloader.cpp +++ b/src/core/albumcoverloader.cpp @@ -44,7 +44,7 @@ AlbumCoverLoader::AlbumCoverLoader(QObject* parent) } QString AlbumCoverLoader::ImageCacheDir() { - return Utilities::GetConfigPath(Utilities::ALBUM_COVERS); + return Utilities::GetConfigPath(Utilities::Path_AlbumCovers); } void AlbumCoverLoader::Clear() { diff --git a/src/core/database.cpp b/src/core/database.cpp index 2ac9d106d..5128b182e 100644 --- a/src/core/database.cpp +++ b/src/core/database.cpp @@ -334,7 +334,7 @@ Database::Database(QObject* parent, const QString& database_name) } directory_ = QDir::toNativeSeparators( - Utilities::GetConfigPath(Utilities::ROOT)); + Utilities::GetConfigPath(Utilities::Path_Root)); attached_databases_["jamendo"] = AttachedDatabase( directory_ + "/jamendo.db", ":/schema/jamendo.sql"); diff --git a/src/core/mac_startup.mm b/src/core/mac_startup.mm index 466ede368..ae5c542d0 100644 --- a/src/core/mac_startup.mm +++ b/src/core/mac_startup.mm @@ -232,7 +232,9 @@ bool MigrateLegacyConfigFiles() { if (!QFile::exists(old_config_dir)) { return false; } - QString new_config_dir = Utilities::GetConfigPath(Utilities::ROOT); + QString new_config_dir = Utilities::GetConfigPath(Utilities::Path_Root); + // Create ~/Library/Application Support which should already exist anyway. + QDir::root().mkpath(GetApplicationSupportPath()); qDebug() << "Move from:" << old_config_dir << "to:" << new_config_dir; diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp index 68acec6bd..ed311b296 100644 --- a/src/core/utilities.cpp +++ b/src/core/utilities.cpp @@ -201,7 +201,7 @@ QString ColorToRgba(const QColor& c) { QString GetConfigPath(ConfigPath config) { switch (config) { - case ROOT: { + case Path_Root: { #ifdef Q_OS_DARWIN return mac::GetApplicationSupportPath() + "/" + QCoreApplication::organizationName(); #else @@ -210,14 +210,14 @@ QString GetConfigPath(ConfigPath config) { } break; - case ALBUM_COVERS: - return GetConfigPath(ROOT) + "/albumcovers"; + case Path_AlbumCovers: + return GetConfigPath(Path_Root) + "/albumcovers"; - case NETWORK_CACHE: - return GetConfigPath(ROOT) + "/networkcache"; + case Path_NetworkCache: + return GetConfigPath(Path_Root) + "/networkcache"; - case GSTREAMER_REGISTRY: - return GetConfigPath(ROOT) + + case Path_GstreamerRegistry: + return GetConfigPath(Path_Root) + QString("/gst-registry-%1-bin").arg(QCoreApplication::applicationVersion()); default: diff --git a/src/core/utilities.h b/src/core/utilities.h index 01de50494..c395ca258 100644 --- a/src/core/utilities.h +++ b/src/core/utilities.h @@ -43,10 +43,10 @@ namespace Utilities { enum ConfigPath { - ROOT, - ALBUM_COVERS, - NETWORK_CACHE, - GSTREAMER_REGISTRY, + Path_Root, + Path_AlbumCovers, + Path_NetworkCache, + Path_GstreamerRegistry, }; QString GetConfigPath(ConfigPath config); } diff --git a/src/engines/gstengine.cpp b/src/engines/gstengine.cpp index 2ac899e93..229a0ebbd 100644 --- a/src/engines/gstengine.cpp +++ b/src/engines/gstengine.cpp @@ -121,7 +121,7 @@ bool GstEngine::Init() { #endif #if defined(Q_OS_WIN32) || defined(Q_OS_DARWIN) - registry_filename = Utilities::GetConfigPath(Utilities::GSTREAMER_REGISTRY); + registry_filename = Utilities::GetConfigPath(Utilities::Path_GstreamerRegistry); #endif if (!scanner_path.isEmpty()) diff --git a/src/main.cpp b/src/main.cpp index 526c83a49..50350b3e9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -112,14 +112,15 @@ int main(int argc, char *argv[]) { if (mac::MigrateLegacyConfigFiles()) { QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName(Utilities::GetConfigPath( - Utilities::ROOT) + "/" + Database::kDatabaseFilename); + Utilities::Path_Root) + "/" + Database::kDatabaseFilename); db.open(); QSqlQuery query( "UPDATE songs SET art_manual = replace(" "art_manual, '.config', 'Library/Application Support') " - "WHERE art_manual LIKE '%.config%';", db); + "WHERE art_manual LIKE '%.config%'", db); query.exec(); db.close(); + QSqlDatabase::removeDatabase(db.connectionName()); } #endif