Qt: Fix stream id display in context menu

It was displayed for every protocol, but should only be displayed
for TCP and UDP alone
This commit is contained in:
Roland Knall 2022-06-22 15:48:51 +02:00
parent 3b0d9194bc
commit 1424e28c7d
4 changed files with 6 additions and 6 deletions

View File

@ -757,12 +757,12 @@ conv_item_t * ConversationDataModel::itemForRow(int row)
return (conv_item_t *)&g_array_index(storage_, conv_item_t, row);
}
bool ConversationDataModel::showConversationId() const
bool ConversationDataModel::showConversationId(int row) const
{
if (!storage_)
if (!storage_ || row >= storage_->len)
return false;
conv_item_t *conv_item = (conv_item_t *)&g_array_index(storage_, conv_item_t, 0);
conv_item_t *conv_item = (conv_item_t *)&g_array_index(storage_, conv_item_t, row);
if (conv_item && (conv_item->etype == ENDPOINT_TCP || conv_item->etype == ENDPOINT_UDP))
return true;
return false;

View File

@ -317,7 +317,7 @@ public:
* @return true a conversation id exists
* @return false none available
*/
bool showConversationId() const;
bool showConversationId(int row) const;
};

View File

@ -197,7 +197,7 @@ bool TrafficDataFilterProxy::filterAcceptsColumn(int source_column, const QModel
}
if (qobject_cast<ConversationDataModel *>(model)) {
ConversationDataModel * convModel = qobject_cast<ConversationDataModel *>(model);
if (source_column == ConversationDataModel::CONV_COLUMN_CONV_ID && ! convModel->showConversationId())
if (source_column == ConversationDataModel::CONV_COLUMN_CONV_ID && ! convModel->showConversationId(source_column))
return false;
}
}

View File

@ -225,7 +225,7 @@ QMenu * TrafficTree::createActionSubMenu(FilterAction::Action cur_action, QModel
ConversationDataModel * model = qobject_cast<ConversationDataModel *>(dataModel());
if (model) {
conv_item = model->itemForRow(idx.row());
hasConvId = true;
hasConvId = model->showConversationId(idx.row());
}
}