]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / contrib / wpa_supplicant / wpa_gui-qt4 / eventhistory.cpp
1 /*
2  * wpa_gui - EventHistory class
3  * Copyright (c) 2005-2006, Jouni Malinen <j@w1.fi>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  *
9  * Alternatively, this software may be distributed under the terms of BSD
10  * license.
11  *
12  * See README and COPYING for more details.
13  */
14
15 #include <QHeaderView>
16
17 #include "eventhistory.h"
18
19
20 int EventListModel::rowCount(const QModelIndex &) const
21 {
22         return msgList.count();
23 }
24
25
26 int EventListModel::columnCount(const QModelIndex &) const
27 {
28         return 2;
29 }
30
31
32 QVariant EventListModel::data(const QModelIndex &index, int role) const
33 {
34         if (!index.isValid())
35                 return QVariant();
36
37         if (role == Qt::DisplayRole)
38                 if (index.column() == 0) {
39                         if (index.row() >= timeList.size())
40                                 return QVariant();
41                         return timeList.at(index.row());
42                 } else {
43                         if (index.row() >= msgList.size())
44                                 return QVariant();
45                         return msgList.at(index.row());
46                 }
47         else
48                 return QVariant();
49 }
50
51
52 QVariant EventListModel::headerData(int section, Qt::Orientation orientation,
53                                     int role) const
54 {
55         if (role != Qt::DisplayRole)
56                 return QVariant();
57
58         if (orientation == Qt::Horizontal) {
59                 switch (section) {
60                 case 0:
61                         return QString("Timestamp");
62                 case 1:
63                         return QString("Message");
64                 default:
65                         return QVariant();
66                 }
67         } else
68                 return QString("%1").arg(section);
69 }
70
71
72 void EventListModel::addEvent(QString time, QString msg)
73 {
74         beginInsertRows(QModelIndex(), msgList.size(), msgList.size() + 1);
75         timeList << time;
76         msgList << msg;
77         endInsertRows();
78 }
79
80
81 EventHistory::EventHistory(QWidget *parent, const char *, bool, Qt::WFlags)
82         : QDialog(parent)
83 {
84         setupUi(this);
85
86         connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));
87
88         elm = new EventListModel(parent);
89         eventListView->setModel(elm);
90 }
91
92
93 EventHistory::~EventHistory()
94 {
95         destroy();
96         delete elm;
97 }
98
99
100 void EventHistory::languageChange()
101 {
102         retranslateUi(this);
103 }
104
105
106 void EventHistory::addEvents(WpaMsgList msgs)
107 {
108         WpaMsgList::iterator it;
109         for (it = msgs.begin(); it != msgs.end(); it++)
110                 addEvent(*it);
111 }
112
113
114 void EventHistory::addEvent(WpaMsg msg)
115 {
116         elm->addEvent(msg.getTimestamp().toString("yyyy-MM-dd hh:mm:ss.zzz"),
117                       msg.getMsg());
118 #if QT_VERSION >= 0x040100
119         eventListView->resizeColumnsToContents();
120         eventListView->resizeRowsToContents();
121 #endif
122 }