#include "preferences/settingsmanager.h" #include #include "control/control.h" #include "preferences/upgrade.h" #include "util/assert.h" SettingsManager::SettingsManager(const QString& settingsPath) : m_bShouldRescanLibrary(false) { // First make sure the settings path exists. If we don't then other parts of // Mixxx (such as the library) will produce confusing errors. if (!QDir(settingsPath).exists()) { QDir().mkpath(settingsPath); } // Check to see if this is the first time this version of Mixxx is run // after an upgrade and make any needed changes. Upgrade upgrader; m_pSettings = upgrader.versionUpgrade(settingsPath); VERIFY_OR_DEBUG_ASSERT(!m_pSettings.isNull()) { m_pSettings = UserSettingsPointer(new UserSettings("")); } m_bShouldRescanLibrary = upgrader.rescanLibrary(); initializeDefaults(); ControlDoublePrivate::setUserConfig(m_pSettings); #ifdef __BROADCAST__ m_pBroadcastSettings = BroadcastSettingsPointer( new BroadcastSettings(m_pSettings)); #endif } SettingsManager::~SettingsManager() { ControlDoublePrivate::setUserConfig(UserSettingsPointer()); } void SettingsManager::initializeDefaults() { QString resourcePath = m_pSettings->getResourcePath(); // Store the last resource path in the config database. // TODO(rryan): this looks unused. m_pSettings->set(ConfigKey("[Config]", "Path"), ConfigValue(resourcePath)); }