int CardChecker::stageStartSec(int stage_id) { qf::qmlwidgets::framework::MainWindow *fwk = qf::qmlwidgets::framework::MainWindow::frameWork(); auto event_plugin = qobject_cast<Event::EventPlugin *>(fwk->plugin("Event")); QF_ASSERT(event_plugin != nullptr, "Bad plugin", return 0); if(stage_id == 0) stage_id = event_plugin->currentStageId(); int ret = event_plugin->stageStartMsec(stage_id); return ret / 1000; }
void EventPlugin::editStage() { qfLogFuncFrame();// << "id:" << id << "mode:" << mode; int stage_id = currentStageId(); if(stage_id < 0) return; Event::StageWidget *w = new Event::StageWidget(); w->setWindowTitle(tr("Edit Stage")); auto fwk = qf::qmlwidgets::framework::MainWindow::frameWork(); qfd::Dialog dlg(QDialogButtonBox::Save | QDialogButtonBox::Cancel, fwk); dlg.setDefaultButton(QDialogButtonBox::Save); dlg.setCentralWidget(w); w->load(stage_id); if(dlg.exec()) { clearStageDataCache(); } }
void ReceiptsWidget::reload() { int current_stage = currentStageId(); qfs::QueryBuilder qb; qb.select2("cards", "id, siId, printerConnectionId") .select2("runs", "startTimeMs, timeMs") .select2("competitors", "registration") .select2("classes", "name") .select("COALESCE(lastName, '') || ' ' || COALESCE(firstName, '') AS competitorName") .from("cards") .join("cards.runId", "runs.id") .join("runs.competitorId", "competitors.id") .join("competitors.classId", "classes.id") .where("cards.stageId=" QF_IARG(current_stage)) .orderBy("cards.id DESC"); m_cardsModel->setQueryBuilder(qb); m_cardsModel->reload(); }