diff options
author | Roland Knall <rknall@gmail.com> | 2022-06-13 17:16:24 +0200 |
---|---|---|
committer | Roland Knall <r.knall@moba.cc> | 2022-06-13 17:33:38 +0200 |
commit | 1dc37de740679d3412e6644b1639e94543f5289e (patch) | |
tree | b10cccc3a7649c988933ee4128ad00e47a2f07fd /ui/qt/models/atap_data_model.cpp | |
parent | be112bd44eca157a03a121796ef3c1b6a00121f2 (diff) |
Qt: Fix sorting for ports
Ports where sorted as string and not numerical
Diffstat (limited to 'ui/qt/models/atap_data_model.cpp')
-rw-r--r-- | ui/qt/models/atap_data_model.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/ui/qt/models/atap_data_model.cpp b/ui/qt/models/atap_data_model.cpp index 75ff1a69af..9b3a0669ff 100644 --- a/ui/qt/models/atap_data_model.cpp +++ b/ui/qt/models/atap_data_model.cpp @@ -506,11 +506,13 @@ QVariant EndpointDataModel::data(const QModelIndex &idx, int role) const return ipAddress; } #endif - else if (role == ATapDataModel::DATA_ADDRESS_TYPE || ATapDataModel::DATA_IPV4_INTEGER || role == ATapDataModel::DATA_IPV6_VECTOR) { + else if (role == ATapDataModel::DATA_ADDRESS_TYPE) { + if (column == EndpointDataModel::ENDP_COLUMN_ADDR) + return (int)item->myaddress.type; + return (int) AT_NONE; + } else if (role == ATapDataModel::DATA_IPV4_INTEGER || role == ATapDataModel::DATA_IPV6_VECTOR) { if (column == EndpointDataModel::ENDP_COLUMN_ADDR) { - if (role == ATapDataModel::DATA_ADDRESS_TYPE) - return (int)item->myaddress.type; - else if (role == ATapDataModel::DATA_IPV4_INTEGER && item->myaddress.type == AT_IPv4) { + if (role == ATapDataModel::DATA_IPV4_INTEGER && item->myaddress.type == AT_IPv4) { const ws_in4_addr * ip4 = (const ws_in4_addr *) item->myaddress.data; return (quint32) GUINT32_TO_BE(*ip4); } @@ -793,13 +795,16 @@ QVariant ConversationDataModel::data(const QModelIndex &idx, int role) const return (int)(conv_item->conv_id); } else if (role == ATapDataModel::ROW_IS_FILTERED) { return (bool)conv_item->filtered && showTotalColumn(); - } - else if (role == ATapDataModel::DATA_ADDRESS_TYPE || role == ATapDataModel::DATA_IPV4_INTEGER || role == ATapDataModel::DATA_IPV6_VECTOR) { + } else if (role == ATapDataModel::DATA_ADDRESS_TYPE) { + if (column == ConversationDataModel::CONV_COLUMN_SRC_ADDR || column == ConversationDataModel::CONV_COLUMN_DST_ADDR) { + address tst_address = column == ConversationDataModel::CONV_COLUMN_SRC_ADDR ? conv_item->src_address : conv_item->dst_address; + return (int)tst_address.type; + } + return (int) AT_NONE; + } else if (role == ATapDataModel::DATA_IPV4_INTEGER || role == ATapDataModel::DATA_IPV6_VECTOR) { if (column == ConversationDataModel::CONV_COLUMN_SRC_ADDR || column == ConversationDataModel::CONV_COLUMN_DST_ADDR) { address tst_address = column == ConversationDataModel::CONV_COLUMN_SRC_ADDR ? conv_item->src_address : conv_item->dst_address; - if (role == ATapDataModel::DATA_ADDRESS_TYPE) - return (int)tst_address.type; - else if (role == ATapDataModel::DATA_IPV4_INTEGER && tst_address.type == AT_IPv4) { + if (role == ATapDataModel::DATA_IPV4_INTEGER && tst_address.type == AT_IPv4) { const ws_in4_addr * ip4 = (const ws_in4_addr *) tst_address.data; return (quint32) GUINT32_TO_BE(*ip4); } |