Forcibly update all items if name resolution is turned on or off.
This makes the display change if you turn the name resolution checkbox on or off. Change-Id: I873832b103b61e1e566523a1ae1c4211937c7bae Reviewed-on: https://code.wireshark.org/review/15063 Reviewed-by: Guy Harris <guy@alum.mit.edu>
This commit is contained in:
parent
3db13c7bbb
commit
948342a487
|
@ -331,10 +331,8 @@ public:
|
|||
: TrafficTableTreeWidgetItem (parent, strings) {}
|
||||
|
||||
// Set column text to its cooked representation.
|
||||
void update(gboolean resolve_names) {
|
||||
void update(gboolean resolve_names, bool force) {
|
||||
conv_item_t *conv_item = data(ci_col_, Qt::UserRole).value<conv_item_t *>();
|
||||
bool ok;
|
||||
quint64 cur_packets = data(pkts_col_, Qt::UserRole).toULongLong(&ok);
|
||||
char *src_addr, *dst_addr, *src_port, *dst_port;
|
||||
|
||||
if (!conv_item) {
|
||||
|
@ -342,8 +340,13 @@ public:
|
|||
}
|
||||
|
||||
quint64 packets = conv_item->tx_frames + conv_item->rx_frames;
|
||||
if (ok && cur_packets == packets) {
|
||||
return;
|
||||
if (!force) {
|
||||
bool ok;
|
||||
quint64 cur_packets = data(pkts_col_, Qt::UserRole).toULongLong(&ok);
|
||||
|
||||
if (ok && cur_packets == packets) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
src_addr = get_conversation_address(NULL, &conv_item->src_address, resolve_names);
|
||||
|
@ -604,7 +607,7 @@ ConversationTreeWidget::ConversationTreeWidget(QWidget *parent, register_ct_t* t
|
|||
connect(fa, SIGNAL(triggered()), this, SLOT(filterActionTriggered()));
|
||||
}
|
||||
|
||||
updateItems();
|
||||
updateItems(false);
|
||||
}
|
||||
|
||||
ConversationTreeWidget::~ConversationTreeWidget() {
|
||||
|
@ -628,7 +631,7 @@ void ConversationTreeWidget::tapDraw(void *conv_hash_ptr)
|
|||
ConversationTreeWidget *conv_tree = static_cast<ConversationTreeWidget *>(hash->user_data);
|
||||
if (!conv_tree) return;
|
||||
|
||||
conv_tree->updateItems();
|
||||
conv_tree->updateItems(false);
|
||||
}
|
||||
|
||||
QMap<FilterAction::ActionDirection, conv_direction_e> fad_to_cd_;
|
||||
|
@ -650,7 +653,7 @@ void ConversationTreeWidget::initDirectionMap()
|
|||
fad_to_cd_[FilterAction::ActionDirectionAnyFromB] = CONV_DIR_ANY_FROM_B;
|
||||
}
|
||||
|
||||
void ConversationTreeWidget::updateItems() {
|
||||
void ConversationTreeWidget::updateItems(bool force) {
|
||||
title_ = proto_get_protocol_short_name(find_protocol_by_id(get_conversation_proto_id(table_)));
|
||||
|
||||
if (hash_.conv_array && hash_.conv_array->len > 0) {
|
||||
|
@ -683,7 +686,7 @@ void ConversationTreeWidget::updateItems() {
|
|||
QTreeWidgetItemIterator iter(this);
|
||||
while (*iter) {
|
||||
ConversationTreeWidgetItem *ci = static_cast<ConversationTreeWidgetItem *>(*iter);
|
||||
ci->update(resolve_names_);
|
||||
ci->update(resolve_names_, force);
|
||||
++iter;
|
||||
}
|
||||
setSortingEnabled(true);
|
||||
|
|
|
@ -38,9 +38,9 @@ public:
|
|||
|
||||
private:
|
||||
void initDirectionMap();
|
||||
void updateItems(bool force);
|
||||
|
||||
private slots:
|
||||
void updateItems();
|
||||
void filterActionTriggered();
|
||||
};
|
||||
|
||||
|
|
|
@ -223,10 +223,8 @@ public:
|
|||
: TrafficTableTreeWidgetItem (parent, strings) {}
|
||||
|
||||
// Set column text to its cooked representation.
|
||||
void update(gboolean resolve_names) {
|
||||
void update(gboolean resolve_names, bool force) {
|
||||
hostlist_talker_t *endp_item = data(ei_col_, Qt::UserRole).value<hostlist_talker_t *>();
|
||||
bool ok;
|
||||
quint64 cur_packets = data(pkts_col_, Qt::UserRole).toULongLong(&ok);
|
||||
char *addr_str, *port_str;
|
||||
|
||||
if (!endp_item) {
|
||||
|
@ -234,8 +232,13 @@ public:
|
|||
}
|
||||
|
||||
quint64 packets = endp_item->tx_frames + endp_item->rx_frames;
|
||||
if (ok && cur_packets == packets) {
|
||||
return;
|
||||
if (!force) {
|
||||
bool ok;
|
||||
quint64 cur_packets = data(pkts_col_, Qt::UserRole).toULongLong(&ok);
|
||||
|
||||
if (ok && cur_packets == packets) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
addr_str = get_conversation_address(NULL, &endp_item->myaddress, resolve_names);
|
||||
|
@ -504,7 +507,7 @@ EndpointTreeWidget::EndpointTreeWidget(QWidget *parent, register_ct_t *table) :
|
|||
connect(fa, SIGNAL(triggered()), this, SLOT(filterActionTriggered()));
|
||||
}
|
||||
|
||||
updateItems();
|
||||
updateItems(false);
|
||||
|
||||
}
|
||||
|
||||
|
@ -529,10 +532,10 @@ void EndpointTreeWidget::tapDraw(void *conv_hash_ptr)
|
|||
EndpointTreeWidget *endp_tree = static_cast<EndpointTreeWidget *>(hash->user_data);
|
||||
if (!endp_tree) return;
|
||||
|
||||
endp_tree->updateItems();
|
||||
endp_tree->updateItems(false);
|
||||
}
|
||||
|
||||
void EndpointTreeWidget::updateItems()
|
||||
void EndpointTreeWidget::updateItems(bool force)
|
||||
{
|
||||
title_ = proto_get_protocol_short_name(find_protocol_by_id(get_conversation_proto_id(table_)));
|
||||
|
||||
|
@ -574,7 +577,7 @@ void EndpointTreeWidget::updateItems()
|
|||
QTreeWidgetItemIterator iter(this);
|
||||
while (*iter) {
|
||||
EndpointTreeWidgetItem *ei = static_cast<EndpointTreeWidgetItem *>(*iter);
|
||||
ei->update(resolve_names_);
|
||||
ei->update(resolve_names_, force);
|
||||
++iter;
|
||||
}
|
||||
setSortingEnabled(true);
|
||||
|
|
|
@ -52,8 +52,10 @@ private:
|
|||
bool has_geoip_data_;
|
||||
#endif
|
||||
|
||||
private:
|
||||
void updateItems(bool force);
|
||||
|
||||
private slots:
|
||||
void updateItems();
|
||||
void filterActionTriggered();
|
||||
};
|
||||
|
||||
|
|
|
@ -303,7 +303,7 @@ TrafficTableTreeWidget::TrafficTableTreeWidget(QWidget *parent, register_ct_t *t
|
|||
setRootIsDecorated(false);
|
||||
sortByColumn(0, Qt::AscendingOrder);
|
||||
|
||||
connect(wsApp, SIGNAL(addressResolutionChanged()), this, SLOT(updateItems()));
|
||||
connect(wsApp, SIGNAL(addressResolutionChanged()), this, SLOT(updateItemsForSettingChange()));
|
||||
}
|
||||
|
||||
TrafficTableTreeWidget::~TrafficTableTreeWidget()
|
||||
|
@ -339,7 +339,7 @@ void TrafficTableTreeWidget::setNameResolutionEnabled(bool enable)
|
|||
{
|
||||
if (resolve_names_ != enable) {
|
||||
resolve_names_ = enable;
|
||||
updateItems();
|
||||
updateItems(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -352,6 +352,12 @@ void TrafficTableTreeWidget::contextMenuEvent(QContextMenuEvent *event)
|
|||
}
|
||||
|
||||
ctx_menu_.exec(event->globalPos());
|
||||
|
||||
}
|
||||
|
||||
void TrafficTableTreeWidget::updateItemsForSettingChange()
|
||||
{
|
||||
updateItems(true);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -85,9 +85,11 @@ protected:
|
|||
void contextMenuEvent(QContextMenuEvent *event);
|
||||
|
||||
private:
|
||||
virtual void updateItems(bool) {}
|
||||
|
||||
private slots:
|
||||
virtual void updateItems() {}
|
||||
// Updates all items
|
||||
void updateItemsForSettingChange();
|
||||
|
||||
signals:
|
||||
void titleChanged(QWidget *tree, const QString &text);
|
||||
|
|
Loading…
Reference in New Issue