Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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;
}