MCPcopy Create free account
hub / github.com/Project-LemonLime/Project_LemonLime / exportResult

Method exportResult

src/component/exportutil/exportutil.cpp:853–895  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

851#endif
852
853void ExportUtil::exportResult(QWidget *widget, Contest *contest) {
854 QList<Contestant *> contestantList = contest->getContestantList();
855 QList<Task *> taskList = contest->getTaskList();
856
857 if (contestantList.isEmpty()) {
858 QMessageBox::warning(widget, tr("LemonLime"), tr("No contestant in current contest"),
859 QMessageBox::Ok);
860 return;
861 }
862
863 if (taskList.isEmpty()) {
864 QMessageBox::warning(widget, tr("LemonLime"), tr("No task in current contest"), QMessageBox::Ok);
865 return;
866 }
867
868 QString filter = tr("HTML Document (*.html *.htm);;CSV (*.csv)");
869#ifdef ENABLE_XLS_EXPORT
870 QAxObject *excel = new QAxObject("Excel.Application", widget);
871
872 if (! excel->isNull())
873 filter = filter + tr(";;Excel Workbook (*.xls)");
874
875 delete excel;
876#endif
877 QString fileName = QFileDialog::getSaveFileName(
878 widget, tr("Export Result"), QDir::currentPath() + QDir::separator() + "result.html", filter);
879
880 if (fileName.isEmpty())
881 return;
882 // TODO: refactor
883 if (QFileInfo(fileName).suffix() == "html")
884 exportHtml(widget, contest, fileName);
885
886 if (QFileInfo(fileName).suffix() == "htm")
887 exportSmallerHtml(widget, contest, fileName);
888
889 if (QFileInfo(fileName).suffix() == "csv")
890 exportCsv(widget, contest, fileName);
891#ifdef ENABLE_XLS_EXPORT
892 if (QFileInfo(fileName).suffix() == "xls")
893 exportXls(widget, contest, fileName);
894#endif
895}

Callers

nothing calls this directly

Calls 2

getContestantListMethod · 0.80
getTaskListMethod · 0.80

Tested by

no test coverage detected