| 851 | #endif |
| 852 | |
| 853 | void 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 | } |
nothing calls this directly
no test coverage detected