Qt: Fix PacketListHeader column
Due to changes in #35206, if you have a lot of columns the display of all columns may be hindered depending on your screen resolution. With this change, displaying the column information can be disabled via a Preferences->Layout checkbox element. Additionaly, the column information will always be displayed as a tooltip element Bug: 16317 Change-Id: Ib8c0fc0a84deaca96631270b320f3a530ba87d89 Reviewed-on: https://code.wireshark.org/review/35706 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
This commit is contained in:
parent
e0bb1ddea7
commit
936a844cc3
@ -3380,6 +3380,11 @@ prefs_register_modules(void)
|
|||||||
"Enable Packet List Separator",
|
"Enable Packet List Separator",
|
||||||
&prefs.gui_qt_packet_list_separator);
|
&prefs.gui_qt_packet_list_separator);
|
||||||
|
|
||||||
|
prefs_register_bool_preference(gui_layout_module, "packet_header_column_definition.enabled",
|
||||||
|
"Show column definition in packet list header",
|
||||||
|
"Show column definition in packet list header",
|
||||||
|
&prefs.gui_qt_packet_header_column_definition);
|
||||||
|
|
||||||
prefs_register_bool_preference(gui_layout_module, "show_selected_packet.enabled",
|
prefs_register_bool_preference(gui_layout_module, "show_selected_packet.enabled",
|
||||||
"Show selected packet in the Status Bar",
|
"Show selected packet in the Status Bar",
|
||||||
"Show selected packet in the Status Bar",
|
"Show selected packet in the Status Bar",
|
||||||
@ -4128,6 +4133,7 @@ pre_init_prefs(void)
|
|||||||
prefs.gui_interfaces_show_hidden = FALSE;
|
prefs.gui_interfaces_show_hidden = FALSE;
|
||||||
prefs.gui_interfaces_remote_display = TRUE;
|
prefs.gui_interfaces_remote_display = TRUE;
|
||||||
prefs.gui_qt_packet_list_separator = FALSE;
|
prefs.gui_qt_packet_list_separator = FALSE;
|
||||||
|
prefs.gui_qt_packet_header_column_definition = TRUE;
|
||||||
prefs.gui_qt_show_selected_packet = FALSE;
|
prefs.gui_qt_show_selected_packet = FALSE;
|
||||||
prefs.gui_qt_show_file_load_time = FALSE;
|
prefs.gui_qt_show_file_load_time = FALSE;
|
||||||
prefs.gui_max_export_objects = 1000;
|
prefs.gui_max_export_objects = 1000;
|
||||||
|
@ -211,6 +211,7 @@ typedef struct _e_prefs {
|
|||||||
gboolean unknown_prefs; /* unknown or obsolete pref(s) */
|
gboolean unknown_prefs; /* unknown or obsolete pref(s) */
|
||||||
gboolean unknown_colorfilters; /* Warn when saving unknown or obsolete color filters. */
|
gboolean unknown_colorfilters; /* Warn when saving unknown or obsolete color filters. */
|
||||||
gboolean gui_qt_packet_list_separator;
|
gboolean gui_qt_packet_list_separator;
|
||||||
|
gboolean gui_qt_packet_header_column_definition;
|
||||||
gboolean gui_qt_show_selected_packet;
|
gboolean gui_qt_show_selected_packet;
|
||||||
gboolean gui_qt_show_file_load_time;
|
gboolean gui_qt_show_file_load_time;
|
||||||
gboolean gui_packet_editor; /* Enable Packet Editor */
|
gboolean gui_packet_editor; /* Enable Packet Editor */
|
||||||
|
@ -46,12 +46,16 @@ LayoutPreferencesFrame::LayoutPreferencesFrame(QWidget *parent) :
|
|||||||
"}"
|
"}"
|
||||||
).arg(ui->packetListSeparatorCheckBox->style()->subElementRect(QStyle::SE_CheckBoxContents, &style_opt).left());
|
).arg(ui->packetListSeparatorCheckBox->style()->subElementRect(QStyle::SE_CheckBoxContents, &style_opt).left());
|
||||||
ui->packetListSeparatorCheckBox->setStyleSheet(indent_ss);
|
ui->packetListSeparatorCheckBox->setStyleSheet(indent_ss);
|
||||||
|
ui->packetListHeaderShowColumnDefinition->setStyleSheet(indent_ss);
|
||||||
ui->statusBarShowSelectedPacketCheckBox->setStyleSheet(indent_ss);
|
ui->statusBarShowSelectedPacketCheckBox->setStyleSheet(indent_ss);
|
||||||
ui->statusBarShowFileLoadTimeCheckBox->setStyleSheet(indent_ss);
|
ui->statusBarShowFileLoadTimeCheckBox->setStyleSheet(indent_ss);
|
||||||
|
|
||||||
pref_packet_list_separator_ = prefFromPrefPtr(&prefs.gui_qt_packet_list_separator);
|
pref_packet_list_separator_ = prefFromPrefPtr(&prefs.gui_qt_packet_list_separator);
|
||||||
ui->packetListSeparatorCheckBox->setChecked(prefs_get_bool_value(pref_packet_list_separator_, pref_stashed));
|
ui->packetListSeparatorCheckBox->setChecked(prefs_get_bool_value(pref_packet_list_separator_, pref_stashed));
|
||||||
|
|
||||||
|
pref_packet_header_column_definition_ = prefFromPrefPtr(&prefs.gui_qt_packet_header_column_definition);
|
||||||
|
ui->packetListHeaderShowColumnDefinition->setChecked(prefs_get_bool_value(pref_packet_header_column_definition_, pref_stashed));
|
||||||
|
|
||||||
pref_show_selected_packet_ = prefFromPrefPtr(&prefs.gui_qt_show_selected_packet);
|
pref_show_selected_packet_ = prefFromPrefPtr(&prefs.gui_qt_show_selected_packet);
|
||||||
ui->statusBarShowSelectedPacketCheckBox->setChecked(prefs_get_bool_value(pref_show_selected_packet_, pref_stashed));
|
ui->statusBarShowSelectedPacketCheckBox->setChecked(prefs_get_bool_value(pref_show_selected_packet_, pref_stashed));
|
||||||
|
|
||||||
@ -293,6 +297,7 @@ void LayoutPreferencesFrame::on_restoreButtonBox_clicked(QAbstractButton *)
|
|||||||
updateWidgets();
|
updateWidgets();
|
||||||
|
|
||||||
ui->packetListSeparatorCheckBox->setChecked(prefs_get_bool_value(pref_packet_list_separator_, pref_default));
|
ui->packetListSeparatorCheckBox->setChecked(prefs_get_bool_value(pref_packet_list_separator_, pref_default));
|
||||||
|
ui->packetListHeaderShowColumnDefinition->setChecked(prefs_get_bool_value(pref_packet_header_column_definition_, pref_default));
|
||||||
ui->statusBarShowSelectedPacketCheckBox->setChecked(prefs_get_bool_value(pref_show_selected_packet_, pref_default));
|
ui->statusBarShowSelectedPacketCheckBox->setChecked(prefs_get_bool_value(pref_show_selected_packet_, pref_default));
|
||||||
ui->statusBarShowFileLoadTimeCheckBox->setChecked(prefs_get_bool_value(pref_show_file_load_time_, pref_default));
|
ui->statusBarShowFileLoadTimeCheckBox->setChecked(prefs_get_bool_value(pref_show_file_load_time_, pref_default));
|
||||||
}
|
}
|
||||||
@ -302,6 +307,11 @@ void LayoutPreferencesFrame::on_packetListSeparatorCheckBox_toggled(bool checked
|
|||||||
prefs_set_bool_value(pref_packet_list_separator_, (gboolean) checked, pref_stashed);
|
prefs_set_bool_value(pref_packet_list_separator_, (gboolean) checked, pref_stashed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LayoutPreferencesFrame::on_packetListHeaderShowColumnDefinition_toggled(bool checked)
|
||||||
|
{
|
||||||
|
prefs_set_bool_value(pref_packet_header_column_definition_, (gboolean) checked, pref_stashed);
|
||||||
|
}
|
||||||
|
|
||||||
void LayoutPreferencesFrame::on_statusBarShowSelectedPacketCheckBox_toggled(bool checked)
|
void LayoutPreferencesFrame::on_statusBarShowSelectedPacketCheckBox_toggled(bool checked)
|
||||||
{
|
{
|
||||||
prefs_set_bool_value(pref_show_selected_packet_, (gboolean) checked, pref_stashed);
|
prefs_set_bool_value(pref_show_selected_packet_, (gboolean) checked, pref_stashed);
|
||||||
|
@ -38,6 +38,7 @@ private:
|
|||||||
pref_t *pref_layout_content_2_;
|
pref_t *pref_layout_content_2_;
|
||||||
pref_t *pref_layout_content_3_;
|
pref_t *pref_layout_content_3_;
|
||||||
pref_t *pref_packet_list_separator_;
|
pref_t *pref_packet_list_separator_;
|
||||||
|
pref_t *pref_packet_header_column_definition_;
|
||||||
pref_t *pref_show_selected_packet_;
|
pref_t *pref_show_selected_packet_;
|
||||||
pref_t *pref_show_file_load_time_;
|
pref_t *pref_show_file_load_time_;
|
||||||
|
|
||||||
@ -64,6 +65,7 @@ private slots:
|
|||||||
void on_pane3NoneRadioButton_toggled(bool checked);
|
void on_pane3NoneRadioButton_toggled(bool checked);
|
||||||
void on_restoreButtonBox_clicked(QAbstractButton *button);
|
void on_restoreButtonBox_clicked(QAbstractButton *button);
|
||||||
void on_packetListSeparatorCheckBox_toggled(bool checked);
|
void on_packetListSeparatorCheckBox_toggled(bool checked);
|
||||||
|
void on_packetListHeaderShowColumnDefinition_toggled(bool checked);
|
||||||
void on_statusBarShowSelectedPacketCheckBox_toggled(bool checked);
|
void on_statusBarShowSelectedPacketCheckBox_toggled(bool checked);
|
||||||
void on_statusBarShowFileLoadTimeCheckBox_toggled(bool checked);
|
void on_statusBarShowFileLoadTimeCheckBox_toggled(bool checked);
|
||||||
};
|
};
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>414</width>
|
<width>414</width>
|
||||||
<height>287</height>
|
<height>409</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -358,6 +358,13 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="packetListHeaderShowColumnDefinition">
|
||||||
|
<property name="text">
|
||||||
|
<string>Show column definition in column context menu</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer_3">
|
<spacer name="verticalSpacer_3">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
@ -423,8 +430,8 @@
|
|||||||
<connections/>
|
<connections/>
|
||||||
<buttongroups>
|
<buttongroups>
|
||||||
<buttongroup name="layoutButtonGroup"/>
|
<buttongroup name="layoutButtonGroup"/>
|
||||||
<buttongroup name="pane2ButtonGroup"/>
|
|
||||||
<buttongroup name="pane3ButtonGroup"/>
|
<buttongroup name="pane3ButtonGroup"/>
|
||||||
|
<buttongroup name="pane2ButtonGroup"/>
|
||||||
<buttongroup name="pane1ButtonGroup"/>
|
<buttongroup name="pane1ButtonGroup"/>
|
||||||
</buttongroups>
|
</buttongroups>
|
||||||
</ui>
|
</ui>
|
||||||
|
@ -205,18 +205,25 @@ void PacketListHeader::contextMenuEvent(QContextMenuEvent *event)
|
|||||||
|
|
||||||
for (int cnt = 0; cnt < prefs.num_cols; cnt++) {
|
for (int cnt = 0; cnt < prefs.num_cols; cnt++) {
|
||||||
QString title(get_column_title(cnt));
|
QString title(get_column_title(cnt));
|
||||||
|
QString detail;
|
||||||
if (get_column_format(cnt) == COL_CUSTOM) {
|
if (get_column_format(cnt) == COL_CUSTOM) {
|
||||||
title.append(QString("\t%1").arg(get_column_custom_fields(cnt)));
|
detail = get_column_custom_fields(cnt);
|
||||||
} else {
|
} else {
|
||||||
title.append(QString("\t%1").arg(col_format_desc(get_column_format(cnt))));
|
detail = col_format_desc(get_column_format(cnt));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (prefs.gui_qt_packet_header_column_definition)
|
||||||
|
title.append(QString("\t%1").arg(detail));
|
||||||
|
|
||||||
QAction *action = new QAction(title, this);
|
QAction *action = new QAction(title, this);
|
||||||
|
action->setToolTip(detail);
|
||||||
action->setCheckable(true);
|
action->setCheckable(true);
|
||||||
action->setChecked(get_column_visible(cnt));
|
action->setChecked(get_column_visible(cnt));
|
||||||
action->setData(QVariant::fromValue(cnt));
|
action->setData(QVariant::fromValue(cnt));
|
||||||
connect(action, &QAction::triggered, this, &PacketListHeader::columnVisibilityTriggered);
|
connect(action, &QAction::triggered, this, &PacketListHeader::columnVisibilityTriggered);
|
||||||
contextMenu->addAction(action);
|
contextMenu->addAction(action);
|
||||||
}
|
}
|
||||||
|
contextMenu->setToolTipsVisible(true);
|
||||||
|
|
||||||
contextMenu->addSeparator();
|
contextMenu->addSeparator();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user