menu->addAction(give_up);
display_score();
display_grid();
+ current_time = total_time;
+ display_timer();
+ start_dialog();
if (total_time) {
- current_time = total_time;
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update_timer()));
timer->start(1000);
}
+ } else {
+ QString message = "Can't read file :\n";
+
+ message.append(current->path.absolutePath());
+ QMessageBox::warning (window, tr("Input file error"), message);
}
}
}
ifstream ifs (filename);
max_label_length = 0;
int i = 0;
+ bool ok;
total_time = 0;
if (!ifs) {
do {
getline(ifs, buffer);
} while (buffer[0] == '#');
+ description = QString::fromStdString(buffer);
+ do {
+ getline(ifs, buffer);
+ } while (buffer[0] == '#');
if (! buffer.compare(0, strlen(SUBSET_PATTERN), SUBSET_PATTERN)) {
- subset = atoi(buffer.substr(strlen(SUBSET_PATTERN)).c_str());
- do {
- getline(ifs, buffer);
- } while (buffer[0] == '#');
+ subset = QString::fromStdString(buffer.substr(strlen(SUBSET_PATTERN))).toInt(&ok);
+ if (!ok) {
+ return 0;
+ }
+ do {
+ getline(ifs, buffer);
+ } while (buffer[0] == '#');
+ }
+ total_time = QString::fromStdString(buffer).toInt(&ok);
+ if (!ok) {
+ return 0;
}
- total_time = atoi(buffer.c_str());
/* convert minutes to seconds */
total_time *= 60;
while (getline(ifs, parse_line)){
QObject::connect(give_up, SIGNAL(triggered()), this, SLOT(end()));
}
+void quiz::start_dialog() {
+
+ QMessageBox::information(window, tr("Description"), description);
+
+}
+
void quiz::buzz(const QString& buffer) {
map <QString, int>::iterator itr;
question *q;
}
void quiz::update_timer() {
-
current_time--;
+ display_timer();
+}
+
+void quiz::display_timer() {
+
QTime t(0, current_time / 60, current_time % 60);
timer_label->setText(t.toString("m:ss"));
if (current_time == 0) {