aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/rtp_analysis_dialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ui/qt/rtp_analysis_dialog.cpp')
-rw-r--r--ui/qt/rtp_analysis_dialog.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/ui/qt/rtp_analysis_dialog.cpp b/ui/qt/rtp_analysis_dialog.cpp
index adb2e46004..a6dac14d30 100644
--- a/ui/qt/rtp_analysis_dialog.cpp
+++ b/ui/qt/rtp_analysis_dialog.cpp
@@ -840,6 +840,27 @@ void RtpAnalysisDialog::rtpPlayerRemove()
emit rtpPlayerDialogRemoveRtpStreams(getSelectedRtpIds());
}
+void RtpAnalysisDialog::saveCsvHeader(QFile *save_file, QTreeWidget *tree)
+{
+ QList<QVariant> row_data;
+ QStringList values;
+
+ for (int col = 0; col < tree->columnCount(); col++) {
+ row_data << tree->headerItem()->text(col);
+ }
+ foreach (QVariant v, row_data) {
+ if (!v.isValid()) {
+ values << "\"\"";
+ } else if ((int) v.type() == (int) QMetaType::QString) {
+ values << QString("\"%1\"").arg(v.toString());
+ } else {
+ values << v.toString();
+ }
+ }
+ save_file->write(values.join(",").toUtf8());
+ save_file->write("\n");
+}
+
void RtpAnalysisDialog::saveCsvData(QFile *save_file, QTreeWidget *tree)
{
for (int row = 0; row < tree->topLevelItemCount(); row++) {
@@ -891,6 +912,8 @@ void RtpAnalysisDialog::saveCsv(RtpAnalysisDialog::StreamDirection direction)
tab_info_t *tab_data = getTabInfoForCurrentTab();
if (tab_data) {
+ saveCsvHeader(&save_file, tab_data->tree_widget);
+
QString n = QString(*tab_data->tab_name);
n.replace("\n"," ");
save_file.write("\"");
@@ -902,6 +925,10 @@ void RtpAnalysisDialog::saveCsv(RtpAnalysisDialog::StreamDirection direction)
break;
case dir_all_:
default:
+ if (tabs_.count() > 0) {
+ saveCsvHeader(&save_file, tabs_[0]->tree_widget);
+ }
+
for(int i=0; i<tabs_.count(); i++) {
QString n = QString(*tabs_[i]->tab_name);
n.replace("\n"," ");