moved kdeaccessibility kdeaddons kdeadmin kdeartwork kdebindings kdeedu kdegames...
[kdeedu.git] / kverbos / kverbos / kresult.cpp
blobeeaedb6b868d0ef723c88b0fd0552e31523243a3
1 /***************************************************************************
2 kresult.cpp - description
3 -------------------
4 begin : Sat Jan 5 2002
5 copyright : (C) 2002 by Arnold Kraschinski
6 email : arnold.k67@gmx.de
7 ***************************************************************************/
9 /***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
18 #include "kresult.h"
19 #include <qlabel.h>
20 #include <qtable.h>
21 #include <qlistview.h>
22 #include <qvaluestack.h>
24 #include <klocale.h>
26 KResult::KResult(KVerbosUser* pU, QWidget* parent, const char* name, bool modal, WFlags fl )
27 : QResult(parent, name, modal, fl)
29 int sessions;
30 QString date[10];
31 int result[10][2];
32 pU->getResults(sessions, date, result);
33 QString s;
34 s.setNum(sessions);
35 TextLabelSessions->setText(s);
36 TextLabelUser->setText(pU->getName());
37 TableResult->horizontalHeader()->setLabel(1, i18n("trained"));
38 TableResult->horizontalHeader()->setLabel(2, i18n("correct in %"));
39 TableResult->horizontalHeader()->setLabel(0, i18n("date"));
40 for (int row=0; row<10; row++)
42 TableResult->setText(row, 0, date[row]);
43 TableResult->setText(row, 1, s.setNum(result[row][1])+i18n(" verbs"));
44 TableResult->setText(row, 2, s.setNum(result[row][0])+"%");
46 TableResult->adjustColumn(0);
47 TableResult->adjustColumn(1);
48 TableResult->adjustColumn(2);
50 // Die Spaltenbreiten anpassen
51 ListViewVerben->setColumnWidthMode(0, QListView::Maximum);
52 ListViewVerben->setColumnWidthMode(1, QListView::Maximum);
54 verbenListe* pVL = pU->getListe();
55 verbenListe::Iterator it;
56 QValueStack<QString> right;
57 QValueStack<QString> wrong;
58 for (it = pVL->begin(); it!=pVL->end(); ++it)
60 if ((*it).status == RICHTIGGEMACHT)
61 right.push((*it).verb);
62 else
63 if ((*it).status == FEHLERHAFT)
64 wrong.push((*it).verb);
66 while (!right.isEmpty() && !wrong.isEmpty())
68 QListViewItem* pItem;
69 pItem = new QListViewItem( ListViewVerben, right.pop(), wrong.pop());
70 ListViewVerben->insertItem(pItem);
72 while (!right.isEmpty())
74 QListViewItem* pItem;
75 pItem = new QListViewItem( ListViewVerben, right.pop(), "");
76 ListViewVerben->insertItem(pItem);
78 while (!wrong.isEmpty())
80 QListViewItem* pItem;
81 pItem = new QListViewItem( ListViewVerben, "", wrong.pop());
82 ListViewVerben->insertItem(pItem);
86 KResult::~KResult()
90 void KResult::slotDlgEnde()
92 done(0);