blob: efae6089815669d4e31ad9daaaf030d52f0810bc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#include "preferences/settingsmanager.h"
#include <QDir>
#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);
m_pBroadcastSettings = BroadcastSettingsPointer(
new BroadcastSettings(m_pSettings));
}
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));
}
|