remove @EAP_LDFLAGS@, no longer exists
[mech_eap.orig] / libeap / 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 #include <QScrollBar>
17
18 #include "eventhistory.h"
19
20
21 int EventListModel::rowCount(const QModelIndex &) const
22 {
23         return msgList.count();
24 }
25
26
27 int EventListModel::columnCount(const QModelIndex &) const
28 {
29         return 2;
30 }
31
32
33 QVariant EventListModel::data(const QModelIndex &index, int role) const
34 {
35         if (!index.isValid())
36                 return QVariant();
37
38         if (role == Qt::DisplayRole)
39                 if (index.column() == 0) {
40                         if (index.row() >= timeList.size())
41                                 return QVariant();
42                         return timeList.at(index.row());
43                 } else {
44                         if (index.row() >= msgList.size())
45                                 return QVariant();
46                         return msgList.at(index.row());
47                 }
48         else
49                 return QVariant();
50 }
51
52
53 QVariant EventListModel::headerData(int section, Qt::Orientation orientation,
54                                     int role) const
55 {
56         if (role != Qt::DisplayRole)
57                 return QVariant();
58
59         if (orientation == Qt::Horizontal) {
60                 switch (section) {
61                 case 0:
62                         return QString(tr("Timestamp"));
63                 case 1:
64                         return QString(tr("Message"));
65                 default:
66                         return QVariant();
67                 }
68         } else
69                 return QString("%1").arg(section);
70 }
71
72
73 void EventListModel::addEvent(QString time, QString msg)
74 {
75         beginInsertRows(QModelIndex(), msgList.size(), msgList.size() + 1);
76         timeList << time;
77         msgList << msg;
78         endInsertRows();
79 }
80
81
82 EventHistory::EventHistory(QWidget *parent, const char *, bool, Qt::WFlags)
83         : QDialog(parent)
84 {
85         setupUi(this);
86
87         connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));
88
89         eventListView->setItemsExpandable(FALSE);
90         eventListView->setRootIsDecorated(FALSE);
91         elm = new EventListModel(parent);
92         eventListView->setModel(elm);
93 }
94
95
96 EventHistory::~EventHistory()
97 {
98         destroy();
99         delete elm;
100 }
101
102
103 void EventHistory::languageChange()
104 {
105         retranslateUi(this);
106 }
107
108
109 void EventHistory::addEvents(WpaMsgList msgs)
110 {
111         WpaMsgList::iterator it;
112         for (it = msgs.begin(); it != msgs.end(); it++)
113                 addEvent(*it);
114 }
115
116
117 void EventHistory::addEvent(WpaMsg msg)
118 {
119         bool scroll = true;
120
121         if (eventListView->verticalScrollBar()->value() <
122             eventListView->verticalScrollBar()->maximum())
123                 scroll = false;
124
125         elm->addEvent(msg.getTimestamp().toString("yyyy-MM-dd hh:mm:ss.zzz"),
126                       msg.getMsg());
127
128         if (scroll)
129                 eventListView->scrollToBottom();
130 }