![Roland Knall](/assets/img/avatar_default.png)
Rework the context menu to have same functions behave the same way and just create the menu while it is needed. Also, add switch for setting the time of day to the context menu Change-Id: Id813ff39431f6fad15887856f246d03f209e438d Reviewed-on: https://code.wireshark.org/review/34165 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
86 lines
1.9 KiB
C++
86 lines
1.9 KiB
C++
/* voip_calls_info_model.h
|
|
*
|
|
* Wireshark - Network traffic analyzer
|
|
* By Gerald Combs <gerald@wireshark.org>
|
|
* Copyright 1998 Gerald Combs
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
|
|
#ifndef VOIP_CALLS_INFO_MODEL_H
|
|
#define VOIP_CALLS_INFO_MODEL_H
|
|
|
|
#include <config.h>
|
|
#include <glib.h>
|
|
|
|
#include "ui/voip_calls.h"
|
|
#include <ui/qt/utils/variant_pointer.h>
|
|
|
|
#include <QAbstractTableModel>
|
|
#include <QSortFilterProxyModel>
|
|
|
|
class VoipCallsInfoModel : public QAbstractTableModel
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
VoipCallsInfoModel(QObject *parent = 0);
|
|
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
|
|
QVariant headerData(int section, Qt::Orientation orientation,
|
|
int role = Qt::DisplayRole) const;
|
|
int rowCount(const QModelIndex &parent = QModelIndex()) const;
|
|
int columnCount(const QModelIndex &parent = QModelIndex()) const;
|
|
void setTimeOfDay(bool timeOfDay);
|
|
bool timeOfDay() const;
|
|
void updateCalls(GQueue *callsinfos);
|
|
|
|
static voip_calls_info_t *indexToCallInfo(const QModelIndex &index);
|
|
|
|
enum Column
|
|
{
|
|
StartTime,
|
|
StopTime,
|
|
InitialSpeaker,
|
|
From,
|
|
To,
|
|
Protocol,
|
|
Duration,
|
|
Packets,
|
|
State,
|
|
Comments,
|
|
ColumnCount /* not an actual column, but used to find max. cols. */
|
|
};
|
|
|
|
private:
|
|
QList<void *> callinfos_;
|
|
bool mTimeOfDay_;
|
|
|
|
QVariant timeData(nstime_t *abs_ts, nstime_t *rel_ts) const;
|
|
};
|
|
|
|
class VoipCallsInfoSortedModel : public QSortFilterProxyModel
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
VoipCallsInfoSortedModel(QObject *parent = 0);
|
|
|
|
protected:
|
|
bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const;
|
|
};
|
|
|
|
#endif // VOIP_CALLS_INFO_MODEL_H
|
|
|
|
/*
|
|
* Editor modelines
|
|
*
|
|
* Local Variables:
|
|
* c-basic-offset: 4
|
|
* tab-width: 8
|
|
* indent-tabs-mode: nil
|
|
* End:
|
|
*
|
|
* ex: set shiftwidth=4 tabstop=8 expandtab:
|
|
* :indentSize=4:tabSize=8:noTabs=true:
|
|
*/
|