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 <guy@alum.mit.edu>
This commit is contained in:
Guy Harris 2018-07-05 16:48:53 -07:00
parent 2ba45c2556
commit d7ce2bece8
5 changed files with 43 additions and 3 deletions

View File

@ -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())

View File

@ -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();
}

View File

@ -29,6 +29,8 @@ public:
bool detailsEnabled();
bool bytesEnabled();
bool includeColumnHeadingsEnabled();
bool allCollapsedEnabled();
bool asDisplayedEnabled();
bool allExpandedEnabled();

View File

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>400</width>
<height>178</height>
<height>199</height>
</rect>
</property>
<property name="windowTitle">
@ -30,6 +30,16 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="includeColumnHeadingsCheckBox">
<property name="text">
<string>Include column headings</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="detailsCheckBox">
<property name="toolTip">

View File

@ -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();