void Serializer::saveOrLoadEntries(Entry *entry) { debug(DBG_SER, "Serializer::saveOrLoadEntries() _mode=%d", _mode); _bytesCount = 0; switch (_mode) { case SM_SAVE: saveEntries(entry); break; case SM_LOAD: loadEntries(entry); break; } debug(DBG_SER, "Serializer::saveOrLoadEntries() _bytesCount=%d", _bytesCount); }
int TabCompetition::newGuideCB(gdioutput &gdi, int type, void *data) { if (type == GUI_LINK) { TextInfo ti = *(TextInfo *)data; if (ti.id == "link") { } } else if (type==GUI_BUTTON) { ButtonInfo bi=*(ButtonInfo *)data; if (bi.id == "ImportEntries") { newCompetitionGuide(gdi, 1); } else if (bi.id == "BasicSetup") { gdi.restore("entrychoice"); entryChoice(gdi); gdi.refresh(); } else if (bi.id == "DoImportEntries") { createCompetition(gdi); try { gdi.autoRefresh(true); saveEntries(gdi, false, true); } catch (std::exception &) { newCompetitionGuide(gdi, 1); throw; } gdi.restore("newcmp"); gdi.setCX(gdi.getCX() + gdi.getLineHeight()); gdi.pushX(); gdi.setRestorePoint("entrychoice"); newCompetitionGuide(gdi, 2); } else if (bi.id == "NoEntries") { gdi.restore("entrychoice"); newCompetitionGuide(gdi, 2); } else if (bi.id == "Cancel") { oe->clear(); oe->updateTabs(true, false); loadPage(gdi); } else if (bi.id == "FAll") { if (gdi.hasField("Name")) createCompetition(gdi); gdi.clearPage(true); gdi.fillRight(); gdi.addString("", fontMediumPlus, "Skapar tävling..."); gdi.refresh(); Sleep(400); oe->getMeOSFeatures().useAll(*oe); oe->updateTabs(true, false); loadPage(gdi); } else if (bi.id == "FBasic") { if (gdi.hasField("Name")) createCompetition(gdi); oe->getMeOSFeatures().clear(*oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Clubs, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::RunnerDb, true, *oe); oe->updateTabs(true, false); loadPage(gdi); } else if (bi.id == "FSelect") { newCompetitionGuide(gdi, 3); } else if (bi.id == "StoreFeatures") { if (gdi.hasField("Name")) createCompetition(gdi); saveMeosFeatures(gdi, true); gdi.clearPage(true); gdi.fillRight(); gdi.addString("", fontMediumPlus, "Skapar tävling..."); gdi.refresh(); Sleep(400); oe->updateTabs(true, false); loadPage(gdi); } else if (bi.id == "FIndividual") { if (gdi.hasField("Name")) createCompetition(gdi); oe->getMeOSFeatures().useFeature(MeOSFeatures::Speaker, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Economy, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::EditClub, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Network, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Vacancy, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::InForest, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::DrawStartList, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Bib, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::RunnerDb, true, *oe); gdi.clearPage(true); gdi.fillRight(); gdi.addString("", fontMediumPlus, "Skapar tävling..."); gdi.refresh(); Sleep(400); oe->updateTabs(true, false); loadPage(gdi); } else if (bi.id == "FForked") { if (gdi.hasField("Name")) createCompetition(gdi); oe->getMeOSFeatures().useFeature(MeOSFeatures::Speaker, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Economy, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::EditClub, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Network, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Vacancy, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::InForest, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::DrawStartList, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Bib, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::RunnerDb, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::ForkedIndividual, true, *oe); gdi.clearPage(true); gdi.fillRight(); gdi.addString("", fontMediumPlus, "Skapar tävling..."); gdi.refresh(); Sleep(400); oe->updateTabs(true, false); loadPage(gdi); } else if (bi.id == "FTeam") { if (gdi.hasField("Name")) createCompetition(gdi); oe->getMeOSFeatures().useFeature(MeOSFeatures::Speaker, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Economy, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::EditClub, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Network, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Vacancy, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::InForest, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::DrawStartList, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Bib, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::RunnerDb, true, *oe); oe->getMeOSFeatures().useFeature(MeOSFeatures::Relay, true, *oe); gdi.clearPage(true); gdi.fillRight(); gdi.addString("", fontMediumPlus, "Skapar tävling..."); gdi.refresh(); Sleep(400); oe->updateTabs(true, false); loadPage(gdi); } } else if (type == GUI_INPUT) { InputInfo &ii = *(InputInfo*)data; if (ii.id == "FirstStart" || ii.id == "Date") { int t,d; SYSTEMTIME st; if (ii.id == "FirstStart") { t = convertAbsoluteTimeHMS(ii.text); d = convertDateYMS(gdi.getText("Date"), st); ii.setBgColor(t == -1 ? colorLightRed: colorDefault); } else { t = convertAbsoluteTimeHMS(gdi.getText("FirstStart")); d = convertDateYMS(ii.text, st); ii.setBgColor(d <= 0 ? colorLightRed: colorDefault); } if (t <= 0 || d <= 0) { gdi.setTextTranslate("AllowedInterval", "Felaktigt datum/tid", true); } else { long long absT = SystemTimeToInt64Second(st); absT += max(0, t - 3600); long long stopT = absT + 23 * 3600; SYSTEMTIME start = Int64SecondToSystemTime(absT); SYSTEMTIME end = Int64SecondToSystemTime(stopT); string s = "Tävlingen måste avgöras mellan X och Y.#" + convertSystemTime(start) + "#" + convertSystemTime(end); gdi.setTextTranslate("AllowedInterval", s, true); } } } return 0; }