QString mmcDir("/media/mmc1");
QString dataDirName("data");
QString dataDir;
+QString userDataDir;
QString imgDir(topDir + "/pixmaps");
QString scoreFileName("score.xml");
QString scoreFile;
dataDir = topDir + "/" + appName + "/" + dataDirName;
}
#endif
- scoreFile = dataDir + "/" + scoreFileName;
- clubFile = dataDir + "/" + clubFileName;
- masterFile = dataDir + "/" + masterFileName;
- QDir dir(dataDir);
+ // Use MyDoc directory to get automatic backup/restore
+ userDataDir = QDir::homePath() + "/MyDocs/." + appName;
+ QDir dir(userDataDir);
if (!dir.exists())
- if (!dir.mkpath(dataDir)) {
- qWarning() << "Unable to create: " + dataDir;
+ if (!dir.mkpath(userDataDir)) {
+ qWarning() << "Unable to create: " + userDataDir;
return;
}
- qDebug() << "Data is at:" + dataDir;
+
+ masterFile = dataDir + "/" + masterFileName;
+
+ // Store user data files under $HOME so they are not lost in
+ // re-flash
+ scoreFile = userDataDir + "/" + scoreFileName;
+ clubFile = userDataDir + "/" + clubFileName;
+
+ // Start of 0.19 migration
+ // Copy existing user data to new location
+ // 0.18 and earlier: score.xml and club.xml are in /opt/scorecard/data
+ // 0.19 and later: score.xml and club.xml are in /home/user/.scorecard
+ QString scoreFileOld = dataDir + "/" + scoreFileName;
+ QString clubFileOld = dataDir + "/" + clubFileName;
+
+ QFile file1(scoreFileOld);
+ QFile file2(clubFileOld);
+ QDir move;
+ if (file1.exists()) {
+ move.rename(scoreFileOld, scoreFile);
+ qDebug() << "Moved: " << scoreFileOld << "->" << scoreFile;
+ }
+ if (file2.exists()) {
+ move.rename(clubFileOld, clubFile);
+ qDebug() << "Moved: " << clubFileOld << "->" << clubFile;
+ }
+ // End of 0.19 migration
+
+ qDebug() << "User data is at:" + userDataDir;
settings.beginGroup(settingsGroup);
conf.hcp = settings.value(settingsHcp);
conf.homeClub = settings.value(settingsHomeClub);
conf.sortOrder = settings.value(settingsSortOrder);
+ conf.userMode = settings.value(settingsUserMode);
conf.defaultCourses = settings.value(settingsDefaultCourses);
settings.endGroup();
if (!conf.sortOrder.isValid())
conf.sortOrder = "Date";
- qDebug() << "Settings: " << conf.hcp << conf.homeClub << conf.sortOrder << conf.defaultCourses;
+ // Use basic mode if no settings for that
+ if (!conf.userMode.isValid())
+ conf.userMode = "Basic";
+
+ qDebug() << "Settings: " << conf.hcp << conf.homeClub << conf.sortOrder << conf.userMode << conf.defaultCourses;
}
void MainWindow::saveSettings(void)
settings.setValue(settingsHomeClub, conf.homeClub);
if (conf.sortOrder.isValid())
settings.setValue(settingsSortOrder, conf.sortOrder);
+ if (conf.userMode.isValid())
+ settings.setValue(settingsUserMode, conf.userMode);
if (conf.defaultCourses.isValid())
settings.setValue(settingsDefaultCourses, conf.defaultCourses);
settings.endGroup();
Club *club = findClub(clubName);
if (!club) {
- showNote(tr("Error: no such club"));
+ showNote(tr("No club"));
return;
}
Course *course = club->getCourse(courseName);
course = findCourse(score->getClubName(), score->getCourseName());
if (!course || !score) {
- qDebug() << "No score/course to edit";
+ showNote(tr("No score or course to edit"));
return;
}