QString logFile("/tmp/scorecard.log");
QString titleScores("ScoreCard - Scores");
QString titleCourses("ScoreCard - Courses");
+QString settingsGroup("Settings");
+QString settingsHcp("hcp");
+QString settingsHomeClub("home-club");
+QString settingsDefaultCourses("default-courses");
bool dateLessThan(const Score *s1, const Score *s2)
{
return findCourse(strList[0], strList[1]);
}
+void MainWindow::flushReadOnlyItems()
+{
+ QMutableListIterator<Club *> i(clubList);
+ Club *c;
+
+ while (i.hasNext()) {
+ c = i.next();
+ if (c->isReadOnly()) {
+ qDebug() << "Del:" << c->getName();
+ i.remove();
+ }
+ }
+}
+
+
MainWindow::MainWindow(QMainWindow *parent): QMainWindow(parent)
{
resize(800, 480);
setCentralWidget(centralWidget);
loadScoreFile(scoreFile, scoreList);
- loadClubFile(masterFile, clubList, true);
+ if (conf.defaultCourses == "Yes")
+ loadClubFile(masterFile, clubList, true);
loadClubFile(clubFile, clubList);
// Sort the scores based on dates
}
qDebug() << "Data is at:" + dataDir;
- settings.beginGroup("Settings");
- conf.hcp = settings.value("hcp");
- conf.homeClub = settings.value("home-club");
- conf.defaultCourses = settings.value("default-courses");
+ settings.beginGroup(settingsGroup);
+ conf.hcp = settings.value(settingsHcp);
+ conf.homeClub = settings.value(settingsHomeClub);
+ conf.defaultCourses = settings.value(settingsDefaultCourses);
settings.endGroup();
+
+ // Use default courses if no settings for that
+ if (!conf.defaultCourses.isValid())
+ conf.defaultCourses = "Yes";
+
qDebug() << "Settings: " << conf.hcp << conf.homeClub << conf.defaultCourses;
}
void MainWindow::saveSettings(void)
{
- settings.beginGroup("Settings");
+ settings.beginGroup(settingsGroup);
if (conf.hcp.isValid())
- settings.setValue("hcp", conf.hcp);
+ settings.setValue(settingsHcp, conf.hcp);
if (conf.homeClub.isValid())
- settings.setValue("home-club", conf.homeClub);
+ settings.setValue(settingsHomeClub, conf.homeClub);
if (conf.defaultCourses.isValid())
- settings.setValue("default-courses", conf.defaultCourses);
+ settings.setValue(settingsDefaultCourses, conf.defaultCourses);
settings.endGroup();
}
-
void MainWindow::createLayoutList(QWidget *parent)
{
QVBoxLayout * tableLayout = new QVBoxLayout;
if (club) {
course = club->getCourse(courseName);
if (course) {
- qDebug() << "Error: club/course already in the database";
+ showNote(tr("Club/course already in the database"));
return;
}
else {
int result = dlg->exec();
if (result) {
- QString a, b, c;
-
+ QString oldValue = conf.defaultCourses.toString();
dlg->results(conf);
- //qDebug() << << b << c;
+ QString newValue = conf.defaultCourses.toString();
saveSettings();
+
+ qDebug() << "Settings:" << oldValue << "->" << newValue;
+
+ // Reload club list, or drop r/o courses from list
+ if (oldValue == "Yes" && newValue == "No") {
+ flushReadOnlyItems();
+ courseListModel->update(clubList);
+ list->update();
+ }
+ else if ((oldValue == "No" || oldValue == "") && newValue == "Yes") {
+ loadClubFile(masterFile, clubList, true);
+ courseListModel->update(clubList);
+ list->update();
+ }
}
}
void MainWindow::loadClubFile(QString &fileName, QList<Club *> &list, bool readOnly)
{
- ClubXmlHandler handler(list);
+ ClubXmlHandler handler(list);
- if (handler.parse(fileName, readOnly))
- qDebug() << "File loaded:" << fileName << " entries:" << list.size();
+ if (handler.parse(fileName, readOnly))
+ qDebug() << "File loaded:" << fileName << " entries:" << list.size();
}
void MainWindow::saveClubFile(QString &fileName, QList<Club *> &list)