summaryrefslogtreecommitdiff
path: root/ui/qt
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2016-06-19 16:52:50 +0200
committerAnders Broman <a.broman58@gmail.com>2016-06-20 01:22:57 +0000
commit92f4c7c8d24d07ec83622e15310e8e8014c734ab (patch)
tree59151f9d7fcd60b5b0cc7e485df8948a70e6455e /ui/qt
parentbea1950d0701eba35af85b228f37dac849902ea8 (diff)
downloadwireshark-92f4c7c8d24d07ec83622e15310e8e8014c734ab.tar.gz
Add JSON export to Qt/GTK UI
Change-Id: I5ff46a40cdb1f8f41565d2aa54c6f9e61d397e3a Reviewed-on: https://code.wireshark.org/review/16013 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'ui/qt')
-rw-r--r--ui/qt/export_dissection_dialog.cpp7
-rw-r--r--ui/qt/main_window.cpp2
-rw-r--r--ui/qt/main_window.h1
-rw-r--r--ui/qt/main_window.ui6
-rw-r--r--ui/qt/main_window_slots.cpp5
5 files changed, 20 insertions, 1 deletions
diff --git a/ui/qt/export_dissection_dialog.cpp b/ui/qt/export_dissection_dialog.cpp
index 769393da7e..306da411fd 100644
--- a/ui/qt/export_dissection_dialog.cpp
+++ b/ui/qt/export_dissection_dialog.cpp
@@ -96,12 +96,14 @@ ExportDissectionDialog::ExportDissectionDialog(QWidget *parent, capture_file *ca
<< tr("Comma Separated Values - summary (*.csv)")
<< tr("PSML - summary (*.psml, *.xml)")
<< tr("PDML - details (*.pdml, *.xml)")
+ << tr("JSON (*.json)")
<< tr("C Arrays - bytes (*.c, *.h)");
export_type_map_[name_filters[0]] = export_type_text;
export_type_map_[name_filters[1]] = export_type_csv;
export_type_map_[name_filters[2]] = export_type_psml;
export_type_map_[name_filters[3]] = export_type_pdml;
- export_type_map_[name_filters[4]] = export_type_carrays;
+ export_type_map_[name_filters[4]] = export_type_json;
+ export_type_map_[name_filters[5]] = export_type_carrays;
setNameFilters(name_filters);
selectNameFilter(export_type_map_.key(export_type));
exportTypeChanged(export_type_map_.key(export_type));
@@ -206,6 +208,9 @@ int ExportDissectionDialog::exec()
case export_type_pdml: /* PDML */
status = cf_write_pdml_packets(cap_file_, &print_args_);
break;
+ case export_type_json: /* JSON */
+ status = cf_write_json_packets(cap_file_, &print_args_);
+ break;
default:
return QDialog::Rejected;
}
diff --git a/ui/qt/main_window.cpp b/ui/qt/main_window.cpp
index 2cdf69c3ef..39bc693294 100644
--- a/ui/qt/main_window.cpp
+++ b/ui/qt/main_window.cpp
@@ -2023,6 +2023,7 @@ void MainWindow::setMenusForCaptureFile(bool force_disable)
main_ui_->actionFileExportAsPDML->setEnabled(enable);
main_ui_->actionFileExportAsPlainText->setEnabled(enable);
main_ui_->actionFileExportAsPSML->setEnabled(enable);
+ main_ui_->actionFileExportAsJSON->setEnabled(enable);
main_ui_->actionFileExportPacketBytes->setEnabled(enable);
main_ui_->actionFileExportPDU->setEnabled(enable);
@@ -2047,6 +2048,7 @@ void MainWindow::setMenusForCaptureInProgress(bool capture_in_progress) {
main_ui_->actionFileExportAsPDML->setEnabled(capture_in_progress);
main_ui_->actionFileExportAsPlainText->setEnabled(capture_in_progress);
main_ui_->actionFileExportAsPSML->setEnabled(capture_in_progress);
+ main_ui_->actionFileExportAsJSON->setEnabled(capture_in_progress);
main_ui_->actionFileExportPacketBytes->setEnabled(capture_in_progress);
main_ui_->actionFileExportPDU->setEnabled(capture_in_progress);
diff --git a/ui/qt/main_window.h b/ui/qt/main_window.h
index 5d13e44cc7..41d7288e5d 100644
--- a/ui/qt/main_window.h
+++ b/ui/qt/main_window.h
@@ -377,6 +377,7 @@ private slots:
void on_actionFileExportAsCArrays_triggered();
void on_actionFileExportAsPSML_triggered();
void on_actionFileExportAsPDML_triggered();
+ void on_actionFileExportAsJSON_triggered();
void on_actionFileExportPacketBytes_triggered();
void on_actionFileExportObjectsDICOM_triggered();
void on_actionFileExportObjectsHTTP_triggered();
diff --git a/ui/qt/main_window.ui b/ui/qt/main_window.ui
index e4d23f9b83..8126d4a35d 100644
--- a/ui/qt/main_window.ui
+++ b/ui/qt/main_window.ui
@@ -172,6 +172,7 @@
<addaction name="separator"/>
<addaction name="actionFileExportAsPSML"/>
<addaction name="actionFileExportAsPDML"/>
+ <addaction name="actionFileExportAsJSON"/>
</widget>
<widget class="QMenu" name="menuFileExportObjects">
<property name="title">
@@ -1236,6 +1237,11 @@
<string>As PDML XML…</string>
</property>
</action>
+ <action name="actionFileExportAsJSON">
+ <property name="text">
+ <string>As JSON…</string>
+ </property>
+ </action>
<action name="actionFileExportObjectsHTTP">
<property name="text">
<string>&amp;HTTP…</string>
diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp
index 4d4709bba0..017eaa5d02 100644
--- a/ui/qt/main_window_slots.cpp
+++ b/ui/qt/main_window_slots.cpp
@@ -1706,6 +1706,11 @@ void MainWindow::on_actionFileExportAsPDML_triggered()
exportDissections(export_type_pdml);
}
+void MainWindow::on_actionFileExportAsJSON_triggered()
+{
+ exportDissections(export_type_json);
+}
+
void MainWindow::on_actionFileExportPacketBytes_triggered()
{
QString file_name;