From d7ce2bece8e9c0048f25bf60ab2b017079db7940 Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Thu, 5 Jul 2018 16:48:53 -0700 Subject: [PATCH] Add a "Include column headings" checkbox in export dissections and print. Bug: 14945 Change-Id: I1c5ed0bc7e738a5c8d65c09f25686549e1e6dd67 Reviewed-on: https://code.wireshark.org/review/28615 Reviewed-by: Guy Harris --- ui/qt/export_dissection_dialog.cpp | 2 ++ ui/qt/packet_format_group_box.cpp | 29 +++++++++++++++++++++++++++-- ui/qt/packet_format_group_box.h | 2 ++ ui/qt/packet_format_group_box.ui | 12 +++++++++++- ui/qt/print_dialog.cpp | 1 + 5 files changed, 43 insertions(+), 3 deletions(-) diff --git a/ui/qt/export_dissection_dialog.cpp b/ui/qt/export_dissection_dialog.cpp index 210858a7b1..267ff7405f 100644 --- a/ui/qt/export_dissection_dialog.cpp +++ b/ui/qt/export_dissection_dialog.cpp @@ -174,6 +174,7 @@ int ExportDissectionDialog::exec() print_args_.to_file = TRUE; print_args_.cmd = NULL; print_args_.print_summary = TRUE; + print_args_.print_col_headings = TRUE; print_args_.print_dissections = print_dissections_as_displayed; print_args_.print_hex = FALSE; print_args_.print_formfeed = FALSE; @@ -181,6 +182,7 @@ int ExportDissectionDialog::exec() switch (export_type_) { case export_type_text: /* Text */ print_args_.print_summary = packet_format_group_box_.summaryEnabled(); + print_args_.print_col_headings = packet_format_group_box_.includeColumnHeadingsEnabled(); print_args_.print_dissections = print_dissections_none; if (packet_format_group_box_.detailsEnabled()) { if (packet_format_group_box_.allCollapsedEnabled()) diff --git a/ui/qt/packet_format_group_box.cpp b/ui/qt/packet_format_group_box.cpp index d31e0811b7..0fd78461e3 100644 --- a/ui/qt/packet_format_group_box.cpp +++ b/ui/qt/packet_format_group_box.cpp @@ -22,7 +22,26 @@ PacketFormatGroupBox::PacketFormatGroupBox(QWidget *parent) : QStyleOption style_opt; int cb_label_offset = pf_ui_->detailsCheckBox->style()->subElementRect(QStyle::SE_CheckBoxContents, &style_opt).left(); - setStyleSheet(QString( + + // Indent the checkbox under the "Packet summary" checkbox + pf_ui_->includeColumnHeadingsCheckBox->setStyleSheet(QString( + "QCheckBox {" + " padding-left: %1px;" + "}" + ).arg(cb_label_offset)); + + // Indent the radio buttons under the "Packet details" checkbox + pf_ui_->allCollapsedButton->setStyleSheet(QString( + "QRadioButton {" + " padding-left: %1px;" + "}" + ).arg(cb_label_offset)); + pf_ui_->asDisplayedButton->setStyleSheet(QString( + "QRadioButton {" + " padding-left: %1px;" + "}" + ).arg(cb_label_offset)); + pf_ui_->allExpandedButton->setStyleSheet(QString( "QRadioButton {" " padding-left: %1px;" "}" @@ -39,6 +58,11 @@ bool PacketFormatGroupBox::summaryEnabled() return pf_ui_->summaryCheckBox->isChecked(); } +bool PacketFormatGroupBox::includeColumnHeadingsEnabled() +{ + return pf_ui_->includeColumnHeadingsCheckBox->isChecked(); +} + bool PacketFormatGroupBox::detailsEnabled() { return pf_ui_->detailsCheckBox->isChecked(); @@ -64,8 +88,9 @@ bool PacketFormatGroupBox::allExpandedEnabled() return pf_ui_->allExpandedButton->isChecked(); } -void PacketFormatGroupBox::on_summaryCheckBox_toggled(bool) +void PacketFormatGroupBox::on_summaryCheckBox_toggled(bool checked) { + pf_ui_->includeColumnHeadingsCheckBox->setEnabled(checked); emit formatChanged(); } diff --git a/ui/qt/packet_format_group_box.h b/ui/qt/packet_format_group_box.h index 780a9ca016..7ca9dfe66b 100644 --- a/ui/qt/packet_format_group_box.h +++ b/ui/qt/packet_format_group_box.h @@ -29,6 +29,8 @@ public: bool detailsEnabled(); bool bytesEnabled(); + bool includeColumnHeadingsEnabled(); + bool allCollapsedEnabled(); bool asDisplayedEnabled(); bool allExpandedEnabled(); diff --git a/ui/qt/packet_format_group_box.ui b/ui/qt/packet_format_group_box.ui index 6a02244cba..8f4f53ac42 100644 --- a/ui/qt/packet_format_group_box.ui +++ b/ui/qt/packet_format_group_box.ui @@ -7,7 +7,7 @@ 0 0 400 - 178 + 199 @@ -30,6 +30,16 @@ + + + + Include column headings + + + true + + + diff --git a/ui/qt/print_dialog.cpp b/ui/qt/print_dialog.cpp index 7f8a663182..45804dc4c8 100644 --- a/ui/qt/print_dialog.cpp +++ b/ui/qt/print_dialog.cpp @@ -235,6 +235,7 @@ void PrintDialog::printPackets(QPrinter *printer, bool in_preview) print_args_.format = PR_FMT_TEXT; print_args_.print_summary = pd_ui_->formatGroupBox->summaryEnabled(); + print_args_.print_col_headings = pd_ui_->formatGroupBox->includeColumnHeadingsEnabled(); print_args_.print_hex = pd_ui_->formatGroupBox->bytesEnabled(); print_args_.print_formfeed = pd_ui_->formFeedCheckBox->isChecked();