updateStatusBar();
}
+// FIXME: dup code from table-model.cpp
+Club *MainWindow::findClub(QString &name)
+{
+ QListIterator<Club *> i(clubList);
+ Club *c;
+
+ while (i.hasNext()) {
+ c = i.next();
+ if (c->getName() == name)
+ return c;
+ }
+ return 0;
+}
+
void MainWindow::newCourse()
{
- CourseDialog *dlg = new CourseDialog(this);
+ CourseSelectDialog *selectDialog = new CourseSelectDialog(this);
+
+ int result = selectDialog->exec();
+ if (result) {
+ QString clubName;
+ QString courseName;
+ QString date;
- int result = dlg->exec();
+ selectDialog->results(clubName, courseName);
+ qDebug() << "club=" << clubName;
+ qDebug() << "course=" << courseName;
+
+ CourseDialog *courseDialog = new CourseDialog(this);
+
+ QString title = "New Course : " + clubName + "," + courseName;
+ courseDialog->setWindowTitle(title);
+
+ int result = courseDialog->exec();
+ if (result) {
+ QVector<QString> par(18);
+ QVector<QString> hcp(18);
+ QVector<QString> len(18);
+
+ courseDialog->results(par, hcp, len);
+
+ Course *course = 0;
+ Club *club = findClub(clubName);
+ if (club) {
+ course = club->getCourse(courseName);
+ if (course) {
+ qDebug() << "Error: club/course already in the database";
+ return;
+ }
+ else {
+ course = new Course(courseName, par, hcp);
+ club->addCourse(course);
+ }
+ }
+ else {
+ club = new Club(clubName);
+ course = new Course(courseName, par, hcp);
+ club->addCourse(course);
+ clubList << club;
+ }
+ saveClubFile(clubFile, clubList);
+ }
+ }
}
void MainWindow::newScore()
ScoreDialog *scoreDialog = new ScoreDialog(this);
- // FIXME
- Club *club = clubList[0];
+ Club *club = findClub(clubName);
+ if (!club) {
+ qDebug() << "Error: no such club: " << clubName;
+ return;
+ }
Course *course = club->getCourse(courseName);
+ if (!course) {
+ qDebug() << "Error: no such course: " << courseName;
+ return;
+ }
scoreDialog->init(course);
QVector<QString> scores(18);
scoreDialog->results(scores);
- for (int i=0; i<scores.size(); i++)
- qDebug() << i << ": " << scores[i];
-
Score *score = new Score(scores, clubName, courseName, date);
scoreList << score;