From b106979fb78b411a22314a52f756febdc366d11d Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 16 Feb 2011 13:43:01 +0000 Subject: [PATCH] Use correct preferences file on OS X and migrate old config files. --- src/core/mac_startup.mm | 47 +++++++++++++++++++++++++---------------- src/main.cpp | 2 +- 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/src/core/mac_startup.mm b/src/core/mac_startup.mm index 933b7397b..d30cbb1d5 100644 --- a/src/core/mac_startup.mm +++ b/src/core/mac_startup.mm @@ -47,6 +47,7 @@ #include #include #include +#include #include @@ -237,29 +238,39 @@ QString GetMusicDirectory() { } bool MigrateLegacyConfigFiles() { + bool moved_dir = false; QString old_config_dir = QString("%1/.config/%2").arg( QDir::homePath(), QCoreApplication::organizationName()); - if (!QFile::exists(old_config_dir)) { - return false; - } - QString new_config_dir = Utilities::GetConfigPath(Utilities::Path_Root); - // Create ~/Library/Application Support which should already exist anyway. - QDir::root().mkpath(GetApplicationSupportPath()); + if (QFile::exists(old_config_dir)) { + 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; + qDebug() << "Move from:" << old_config_dir + << "to:" << new_config_dir; - NSFileManager* file_manager = [[NSFileManager alloc] init]; - NSError* error; - bool ret = [file_manager moveItemAtPath: - [NSString stringWithUTF8String: old_config_dir.toUtf8().constData()] - toPath:[NSString stringWithUTF8String: new_config_dir.toUtf8().constData()] - error: &error]; - if (!ret) { - qWarning() << [[error localizedDescription] UTF8String]; - return false; + NSFileManager* file_manager = [[NSFileManager alloc] init]; + NSError* error; + bool ret = [file_manager moveItemAtPath: + [NSString stringWithUTF8String: old_config_dir.toUtf8().constData()] + toPath:[NSString stringWithUTF8String: new_config_dir.toUtf8().constData()] + error: &error]; + if (!ret) { + qWarning() << [[error localizedDescription] UTF8String]; + } + moved_dir = true; } - return true; + + QString old_config_path = QDir::homePath() + "/Library/Preferences/com.davidsansome.Clementine.plist"; + if (QFile::exists(old_config_path)) { + QSettings settings; + bool ret = QFile::rename(old_config_path, settings.fileName()); + if (ret) { + qWarning() << "Migrated old config file: " << old_config_path << "to: " << settings.fileName(); + } + } + + return moved_dir; } } // namespace mac diff --git a/src/main.cpp b/src/main.cpp index 773b2a8cf..ec49edd17 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -162,7 +162,7 @@ int main(int argc, char *argv[]) { QCoreApplication::setApplicationName("Clementine"); QCoreApplication::setApplicationVersion(CLEMENTINE_VERSION_DISPLAY); QCoreApplication::setOrganizationName("Clementine"); - QCoreApplication::setOrganizationDomain("davidsansome.com"); + QCoreApplication::setOrganizationDomain("clementine-player.org"); #ifdef Q_OS_DARWIN // Must happen after QCoreApplication::setOrganizationName().