aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/qt/voip_calls_dialog.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/ui/qt/voip_calls_dialog.cpp b/ui/qt/voip_calls_dialog.cpp
index 5476b5305a..5f596c3ee5 100644
--- a/ui/qt/voip_calls_dialog.cpp
+++ b/ui/qt/voip_calls_dialog.cpp
@@ -241,9 +241,9 @@ void VoipCallsDialog::prepareFilter()
QString filter_str;
QSet<guint16> selected_calls;
+ QString frame_numbers;
/* Build a new filter based on frame numbers */
- const char *or_prepend = "";
foreach (QModelIndex index, ui->callTreeView->selectionModel()->selectedIndexes()) {
voip_calls_info_t *call_info = VoipCallsInfoModel::indexToCallInfo(index);
if (!call_info) {
@@ -256,12 +256,16 @@ void VoipCallsDialog::prepareFilter()
while (cur_ga_item && cur_ga_item->data) {
seq_analysis_item_t *ga_item = (seq_analysis_item_t*) cur_ga_item->data;
if (selected_calls.contains(ga_item->conv_num)) {
- filter_str += QString("%1frame.number == %2").arg(or_prepend).arg(ga_item->frame_number);
- or_prepend = " or ";
+ frame_numbers += QString("%1 ").arg(ga_item->frame_number);
}
cur_ga_item = g_list_next(cur_ga_item);
}
+ if (!frame_numbers.isEmpty()) {
+ frame_numbers.chop(1);
+ filter_str = QString("frame.number in {%1} or rtp.setup-frame in {%1}").arg(frame_numbers);
+ }
+
#if 0
// XXX The GTK+ UI falls back to building a filter based on protocols if the filter
// length is too long. Leaving this here for the time being in case we need to do