forked from osmocom/wireshark
Qt: Credentials move tap to dialog
Move Taps to the dialog and implement a reset method Change-Id: I8324170a207bc9a9c6fef25bd7457757931a93c8 Reviewed-on: https://code.wireshark.org/review/33830 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
This commit is contained in:
parent
97d47139bc
commit
d0228f2915
|
@ -53,10 +53,10 @@ CredentialsDialog::CredentialsDialog(QWidget &parent, CaptureFile &cf, PacketLis
|
|||
ui->setupUi(this);
|
||||
packet_list_ = packet_list;
|
||||
|
||||
CredentialsModel* model = new CredentialsModel(this, cf);
|
||||
model_ = new CredentialsModel(this, cf);
|
||||
QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(this);
|
||||
|
||||
proxyModel->setSourceModel(model);
|
||||
proxyModel->setSourceModel(model_);
|
||||
ui->auths->setModel(proxyModel);
|
||||
|
||||
setWindowSubtitle(tr("Credentials"));
|
||||
|
@ -73,6 +73,8 @@ CredentialsDialog::CredentialsDialog(QWidget &parent, CaptureFile &cf, PacketLis
|
|||
ui->auths->sortByColumn(CredentialsModel::COL_NUM, Qt::AscendingOrder);
|
||||
|
||||
connect(ui->auths, SIGNAL(clicked(const QModelIndex&)), this, SLOT(actionGoToPacket(const QModelIndex&)));
|
||||
|
||||
registerTapListener("credentials", this, "", 0, tapReset, tapPacket, Q_NULLPTR);
|
||||
}
|
||||
|
||||
CredentialsDialog::~CredentialsDialog()
|
||||
|
@ -80,6 +82,19 @@ CredentialsDialog::~CredentialsDialog()
|
|||
delete ui;
|
||||
}
|
||||
|
||||
void CredentialsDialog::tapReset(void *tapdata)
|
||||
{
|
||||
CredentialsDialog * d = (CredentialsDialog*) tapdata;
|
||||
d->model_->clear();
|
||||
}
|
||||
|
||||
tap_packet_status CredentialsDialog::tapPacket(void *tapdata, _packet_info *, epan_dissect *, const void *data)
|
||||
{
|
||||
CredentialsDialog * d = (CredentialsDialog*) tapdata;
|
||||
d->model_->addRecord((tap_credential_t*)data);
|
||||
return TAP_PACKET_REDRAW;
|
||||
}
|
||||
|
||||
void CredentialsDialog::actionGoToPacket(const QModelIndex& idx)
|
||||
{
|
||||
if (!idx.isValid())
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
#include "packet_list.h"
|
||||
#include <ui/tap-credentials.h>
|
||||
|
||||
class CredentialsModel;
|
||||
|
||||
namespace Ui {
|
||||
class CredentialsDialog;
|
||||
}
|
||||
|
@ -37,6 +39,10 @@ private slots:
|
|||
private:
|
||||
Ui::CredentialsDialog *ui;
|
||||
PacketList *packet_list_;
|
||||
CredentialsModel * model_;
|
||||
|
||||
static void tapReset(void *tapdata);
|
||||
static tap_packet_status tapPacket(void *tapdata, struct _packet_info *pinfo, struct epan_dissect *edt, const void *data);
|
||||
};
|
||||
|
||||
#endif // CREDENTIALS_DIALOG_H
|
||||
|
|
|
@ -18,15 +18,6 @@
|
|||
CredentialsModel::CredentialsModel(QObject *parent, CaptureFile& cf)
|
||||
:QAbstractListModel(parent)
|
||||
{
|
||||
GString* error_string = register_tap_listener("credentials", this, NULL, TL_REQUIRES_NOTHING,
|
||||
NULL, credentialsPacket, NULL, NULL);
|
||||
if (error_string) {
|
||||
g_log(LOG_DOMAIN_MAIN, G_LOG_LEVEL_ERROR, "Error registering credentials tap: %s", error_string->str);
|
||||
return;
|
||||
}
|
||||
|
||||
cf_retap_packets(cf.capFile());
|
||||
remove_tap_listener(this);
|
||||
}
|
||||
|
||||
int CredentialsModel::rowCount(const QModelIndex &) const
|
||||
|
@ -108,16 +99,19 @@ QVariant CredentialsModel::data(const QModelIndex &index, int role) const
|
|||
}
|
||||
|
||||
|
||||
tap_packet_status CredentialsModel::credentialsPacket(void *p, packet_info *, epan_dissect_t *, const void *pri)
|
||||
{
|
||||
CredentialsModel* model = (CredentialsModel*)p;
|
||||
model->addRecord((tap_credential_t*)pri);
|
||||
return TAP_PACKET_REDRAW;
|
||||
}
|
||||
|
||||
void CredentialsModel::addRecord(tap_credential_t* auth)
|
||||
{
|
||||
emit beginInsertRows(QModelIndex(), rowCount(), rowCount() + 1);
|
||||
credentials_.append(auth);
|
||||
emit endInsertRows();
|
||||
}
|
||||
|
||||
void CredentialsModel::clear()
|
||||
{
|
||||
emit beginRemoveRows(QModelIndex(), 0, rowCount());
|
||||
credentials_.clear();
|
||||
emit endInsertRows();
|
||||
}
|
||||
|
||||
QVariant CredentialsModel::headerData(int section, Qt::Orientation orientation, int role) const
|
||||
|
|
|
@ -27,6 +27,9 @@ public:
|
|||
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
|
||||
virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
|
||||
|
||||
void addRecord(tap_credential_t* rec);
|
||||
void clear();
|
||||
|
||||
enum {
|
||||
COL_NUM,
|
||||
COL_PROTO,
|
||||
|
@ -37,10 +40,10 @@ public:
|
|||
enum {
|
||||
ColumnHFID = Qt::UserRole + 1
|
||||
};
|
||||
|
||||
private:
|
||||
QList<tap_credential_t*> credentials_;
|
||||
static tap_packet_status credentialsPacket(void *p, packet_info *, epan_dissect_t *, const void *pri);
|
||||
void addRecord(tap_credential_t* rec);
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue