Skip to content
Snippets Groups Projects
Commit 42515174 authored by SeeLook's avatar SeeLook :musical_note:
Browse files

Exam summary: restore displaying exam times

parent 51b14997
No related branches found
No related tags found
No related merge requests found
Pipeline #3153 skipped
......@@ -40,6 +40,11 @@ inline QStringList getDelegate(const QString& label, float value, float wTotal)
return QStringList() << label + QLatin1String(": ") << QString(" <b>%1</b> (%2\%)").arg(value).arg(qRound(value * 100.0 / wTotal));
}
inline QStringList timeDelegate(const QString& label, const QString& time) {
return QStringList() << label + QLatin1String(": ") << QString(" <b>%1</b>").arg(time);
}
TexamSummary::TexamSummary(QQuickItem* parent) :
QQuickItem(parent)
{
......@@ -50,15 +55,9 @@ TexamSummary::TexamSummary(QQuickItem* parent) :
+ QString("%1: <b>%2</b><br>").arg(TexTrans::mistakesNrTxt()).arg(m_exam->mistakes())
+ QString("%1: <b>%2</b>").arg(TexTrans::halfMistakenTxt()).arg(m_exam->halfMistaken());
/*
QGroupBox *timeGr = new QGroupBox(tr("times:"), this);
TroundedLabel *timeLab = new TroundedLabel("<table>" +
row2(TexTrans::totalTimetxt(), TexamView::formatedTotalTime(exam->totalTime() * 1000)) +
row2(tr("Time taken to answer"), TexamView::formatedTotalTime(exam->workTime() * 1000)) +
row2(TexTrans::averAnsverTimeTxt(), QString("%1 s").
arg((qreal)exam->averageReactonTime()/10.0, 0, 'f', 1, '0')) +
"</table>", this);
*/
m_timesModel << timeDelegate(TexTrans::totalTimetxt(), TexamView::formatedTotalTime(m_exam->totalTime() * 1000));
m_timesModel << timeDelegate(tr("Time taken to answer"), TexamView::formatedTotalTime(m_exam->workTime() * 1000));
m_timesModel << timeDelegate(TexTrans::averAnsverTimeTxt(), QString("%1 s").arg(static_cast<qreal>(m_exam->averageReactonTime()) / 10.0, 0, 'f', 1, '0'));
if (m_exam->mistakes() || m_exam->halfMistaken()) {
float wAccid = 0.0f, wKey = 0.0f, wNote = 0.0f, wOctave = 0.0f, wStyle = 0.0f, wPos = 0.0f, wString = 0.0f, wTotal;
......
......@@ -40,6 +40,7 @@ class TexamSummary : public QQuickItem
// Exam properties
Q_PROPERTY(QString student READ student NOTIFY updateExam)
Q_PROPERTY(QString answersLabel READ answersLabel NOTIFY updateExam)
Q_PROPERTY(QStringList timesModel READ timesModel NOTIFY updateExam)
Q_PROPERTY(QString resultHeader READ resultHeader NOTIFY updateExam)
Q_PROPERTY(QStringList resultsModel READ resultsModel NOTIFY updateExam)
Q_PROPERTY(QList<int> kindOfMistakes READ kindOfMistakes NOTIFY updateExam)
......@@ -53,6 +54,7 @@ public:
QString student() const;
QString answersLabel() const { return m_answersLabel; }
QStringList timesModel() const { return m_timesModel; }
QString resultHeader() const { return m_resultHeader; }
QStringList resultsModel() const { return m_resultsModel; }
......@@ -104,6 +106,7 @@ private:
bool m_accepted = false;
QString m_answersLabel;
QString m_resultHeader;
QStringList m_timesModel;
QStringList m_resultsModel;
QList<int> m_kindOfMistakes;
};
......
......@@ -27,12 +27,12 @@ TexamSummary {
contentHeight: summCol.height
Column {
id: summCol
spacing: NOO.factor()
width: parent.width
Text { // student
anchors.horizontalCenter: parent.horizontalCenter
text: student; textFormat: Text.StyledText
}
Item { width: NOO.factor(); height: NOO.factor() }
Tile { // answers/mistakes numbers
width: parent.width - NOO.factor()
Text {
......@@ -42,6 +42,30 @@ TexamSummary {
font.pixelSize: NOO.factor() * 1.2
}
}
Tile { // times
width: parent.width - NOO.factor()
Column {
spacing: NOO.factor()
width: parent.width
Text {
anchors.horizontalCenter: parent.horizontalCenter
horizontalAlignment: Text.AlignHCenter
text: qsTranslate("TexamSummary", "times:")
font.pixelSize: NOO.factor() * 1.1
}
Grid {
anchors.horizontalCenter: parent.horizontalCenter
columns: 2; columnSpacing: NOO.factor()
Repeater {
model: timesModel
Text {
text: modelData
color: activPal.text; textFormat: Text.StyledText
}
}
}
}
}
Tile { // results
width: parent.width - NOO.factor()
Column {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment