aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2020-10-28 16:55:19 +0000
committerGerald Combs <gerald@wireshark.org>2020-10-28 20:22:45 +0000
commita1909f2343e63640677355023037f761d34a98c0 (patch)
tree6ce4349f220d8f53236537795f0d6677f3accfba /ui
parentf49d6000a7bc3b6edbcd6e69d42bcebd64f648a0 (diff)
Qt: Add a recent item for packet diagram field values.
Fixes #16957. (cherry picked from commit b1d18e41db5e3b3b5b8b95b405c7dbce5ba14e18)
Diffstat (limited to 'ui')
-rw-r--r--ui/qt/packet_diagram.cpp11
-rw-r--r--ui/recent.c83
-rw-r--r--ui/recent.h1
3 files changed, 51 insertions, 44 deletions
diff --git a/ui/qt/packet_diagram.cpp b/ui/qt/packet_diagram.cpp
index 71e3d5a802..dddf51af8e 100644
--- a/ui/qt/packet_diagram.cpp
+++ b/ui/qt/packet_diagram.cpp
@@ -21,6 +21,7 @@
#include "ui/qt/main_window.h"
#include "ui/qt/utils/proto_node.h"
#include "ui/qt/utils/variant_pointer.h"
+#include "ui/recent.h"
#include <QContextMenuEvent>
@@ -48,8 +49,7 @@ public:
small_font_rems_(0.75),
bit_width_rems_(1.0),
padding_rems_(0.5),
- span_mark_offset_rems_(0.2),
- show_fields_(false)
+ span_mark_offset_rems_(0.2)
{
setFont(wsApp->font());
}
@@ -62,7 +62,7 @@ public:
QFontMetrics fm(regular_font_);
root_em_ = fm.height();
}
- void setShowFields(bool show_fields = false) { show_fields_ = show_fields; }
+ void setShowFields(bool show_fields = false) { recent.gui_packet_diagram_field_values = show_fields; }
int bitsPerRow() const { return bits_per_row_; }
const QFont regularFont() const { return regular_font_; }
@@ -73,17 +73,16 @@ public:
int vPadding() const { return root_em_ * padding_rems_; }
int spanMarkOffset() const { return root_em_ * span_mark_offset_rems_; }
int rowHeight() const {
- int rows = show_fields_ ? 2 : 1;
+ int rows = recent.gui_packet_diagram_field_values ? 2 : 1;
return ((lineHeight() * rows) + (vPadding() * 2));
}
- bool showFields() const { return show_fields_; }
+ bool showFields() const { return recent.gui_packet_diagram_field_values; }
private:
int bits_per_row_;
double small_font_rems_;
double bit_width_rems_;
double padding_rems_;
double span_mark_offset_rems_; // XXX Make this padding_rems_ / 2 instead?
- bool show_fields_;
QFont regular_font_;
QFont small_font_;
int root_em_;
diff --git a/ui/recent.c b/ui/recent.c
index c36dbcad7b..8c24b32320 100644
--- a/ui/recent.c
+++ b/ui/recent.c
@@ -29,44 +29,45 @@
#include <wsutil/file_util.h>
-#define RECENT_KEY_MAIN_TOOLBAR_SHOW "gui.toolbar_main_show"
-#define RECENT_KEY_FILTER_TOOLBAR_SHOW "gui.filter_toolbar_show"
-#define RECENT_KEY_WIRELESS_TOOLBAR_SHOW "gui.wireless_toolbar_show"
-#define RECENT_KEY_PACKET_LIST_SHOW "gui.packet_list_show"
-#define RECENT_KEY_TREE_VIEW_SHOW "gui.tree_view_show"
-#define RECENT_KEY_BYTE_VIEW_SHOW "gui.byte_view_show"
-#define RECENT_KEY_PACKET_DIAGRAM_SHOW "gui.packet_diagram_show"
-#define RECENT_KEY_STATUSBAR_SHOW "gui.statusbar_show"
-#define RECENT_KEY_PACKET_LIST_COLORIZE "gui.packet_list_colorize"
-#define RECENT_GUI_TIME_FORMAT "gui.time_format"
-#define RECENT_GUI_TIME_PRECISION "gui.time_precision"
-#define RECENT_GUI_SECONDS_FORMAT "gui.seconds_format"
-#define RECENT_GUI_ZOOM_LEVEL "gui.zoom_level"
-#define RECENT_GUI_BYTES_VIEW "gui.bytes_view"
-#define RECENT_GUI_BYTES_ENCODING "gui.bytes_encoding"
-#define RECENT_GUI_GEOMETRY_MAIN_X "gui.geometry_main_x"
-#define RECENT_GUI_GEOMETRY_MAIN_Y "gui.geometry_main_y"
-#define RECENT_GUI_GEOMETRY_MAIN_WIDTH "gui.geometry_main_width"
-#define RECENT_GUI_GEOMETRY_MAIN_HEIGHT "gui.geometry_main_height"
-#define RECENT_GUI_GEOMETRY_MAIN_MAXIMIZED "gui.geometry_main_maximized"
-#define RECENT_GUI_GEOMETRY_LEFTALIGN_ACTIONS "gui.geometry_leftalign_actions"
-#define RECENT_GUI_GEOMETRY_MAIN_UPPER_PANE "gui.geometry_main_upper_pane"
-#define RECENT_GUI_GEOMETRY_MAIN_LOWER_PANE "gui.geometry_main_lower_pane"
-#define RECENT_GUI_GEOMETRY_STATUS_PANE_LEFT "gui.geometry_status_pane"
-#define RECENT_GUI_GEOMETRY_STATUS_PANE_RIGHT "gui.geometry_status_pane_right"
-#define RECENT_GUI_GEOMETRY_WLAN_STATS_PANE "gui.geometry_status_wlan_stats_pane"
-#define RECENT_LAST_USED_PROFILE "gui.last_used_profile"
-#define RECENT_GUI_FILEOPEN_REMEMBERED_DIR "gui.fileopen_remembered_dir"
-#define RECENT_GUI_CONVERSATION_TABS "gui.conversation_tabs"
-#define RECENT_GUI_ENDPOINT_TABS "gui.endpoint_tabs"
-#define RECENT_GUI_RLC_PDUS_FROM_MAC_FRAMES "gui.rlc_pdus_from_mac_frames"
-#define RECENT_GUI_CUSTOM_COLORS "gui.custom_colors"
-#define RECENT_GUI_TOOLBAR_SHOW "gui.additional_toolbar_show"
-#define RECENT_GUI_INTERFACE_TOOLBAR_SHOW "gui.interface_toolbar_show"
-#define RECENT_GUI_SEARCH_IN "gui.search_in"
-#define RECENT_GUI_SEARCH_CHAR_SET "gui.search_char_set"
-#define RECENT_GUI_SEARCH_CASE_SENSITIVE "gui.search_case_sensitive"
-#define RECENT_GUI_SEARCH_TYPE "gui.search_type"
+#define RECENT_KEY_MAIN_TOOLBAR_SHOW "gui.toolbar_main_show"
+#define RECENT_KEY_FILTER_TOOLBAR_SHOW "gui.filter_toolbar_show"
+#define RECENT_KEY_WIRELESS_TOOLBAR_SHOW "gui.wireless_toolbar_show"
+#define RECENT_KEY_PACKET_LIST_SHOW "gui.packet_list_show"
+#define RECENT_KEY_TREE_VIEW_SHOW "gui.tree_view_show"
+#define RECENT_KEY_BYTE_VIEW_SHOW "gui.byte_view_show"
+#define RECENT_KEY_PACKET_DIAGRAM_SHOW "gui.packet_diagram_show"
+#define RECENT_KEY_STATUSBAR_SHOW "gui.statusbar_show"
+#define RECENT_KEY_PACKET_LIST_COLORIZE "gui.packet_list_colorize"
+#define RECENT_GUI_TIME_FORMAT "gui.time_format"
+#define RECENT_GUI_TIME_PRECISION "gui.time_precision"
+#define RECENT_GUI_SECONDS_FORMAT "gui.seconds_format"
+#define RECENT_GUI_ZOOM_LEVEL "gui.zoom_level"
+#define RECENT_GUI_BYTES_VIEW "gui.bytes_view"
+#define RECENT_GUI_BYTES_ENCODING "gui.bytes_encoding"
+#define RECENT_GUI_PACKET_DIAGRAM_FIELD_VALUES "gui.packet_diagram_field_values"
+#define RECENT_GUI_GEOMETRY_MAIN_X "gui.geometry_main_x"
+#define RECENT_GUI_GEOMETRY_MAIN_Y "gui.geometry_main_y"
+#define RECENT_GUI_GEOMETRY_MAIN_WIDTH "gui.geometry_main_width"
+#define RECENT_GUI_GEOMETRY_MAIN_HEIGHT "gui.geometry_main_height"
+#define RECENT_GUI_GEOMETRY_MAIN_MAXIMIZED "gui.geometry_main_maximized"
+#define RECENT_GUI_GEOMETRY_LEFTALIGN_ACTIONS "gui.geometry_leftalign_actions"
+#define RECENT_GUI_GEOMETRY_MAIN_UPPER_PANE "gui.geometry_main_upper_pane"
+#define RECENT_GUI_GEOMETRY_MAIN_LOWER_PANE "gui.geometry_main_lower_pane"
+#define RECENT_GUI_GEOMETRY_STATUS_PANE_LEFT "gui.geometry_status_pane"
+#define RECENT_GUI_GEOMETRY_STATUS_PANE_RIGHT "gui.geometry_status_pane_right"
+#define RECENT_GUI_GEOMETRY_WLAN_STATS_PANE "gui.geometry_status_wlan_stats_pane"
+#define RECENT_LAST_USED_PROFILE "gui.last_used_profile"
+#define RECENT_GUI_FILEOPEN_REMEMBERED_DIR "gui.fileopen_remembered_dir"
+#define RECENT_GUI_CONVERSATION_TABS "gui.conversation_tabs"
+#define RECENT_GUI_ENDPOINT_TABS "gui.endpoint_tabs"
+#define RECENT_GUI_RLC_PDUS_FROM_MAC_FRAMES "gui.rlc_pdus_from_mac_frames"
+#define RECENT_GUI_CUSTOM_COLORS "gui.custom_colors"
+#define RECENT_GUI_TOOLBAR_SHOW "gui.additional_toolbar_show"
+#define RECENT_GUI_INTERFACE_TOOLBAR_SHOW "gui.interface_toolbar_show"
+#define RECENT_GUI_SEARCH_IN "gui.search_in"
+#define RECENT_GUI_SEARCH_CHAR_SET "gui.search_char_set"
+#define RECENT_GUI_SEARCH_CASE_SENSITIVE "gui.search_case_sensitive"
+#define RECENT_GUI_SEARCH_TYPE "gui.search_type"
#define RECENT_GUI_GEOMETRY "gui.geom."
@@ -882,6 +883,10 @@ write_profile_recent(void)
RECENT_GUI_BYTES_ENCODING, bytes_encoding_type_values,
recent.gui_bytes_encoding);
+ write_recent_boolean(rf, "Packet diagram field values show (hide)",
+ RECENT_GUI_PACKET_DIAGRAM_FIELD_VALUES,
+ recent.gui_packet_diagram_field_values);
+
fprintf(rf, "\n# Main window upper (or leftmost) pane size.\n");
fprintf(rf, "# Decimal number.\n");
if (recent.gui_geometry_main_upper_pane != 0) {
@@ -1085,6 +1090,8 @@ read_set_recent_pair_static(gchar *key, const gchar *value,
} else if (strcmp(key, RECENT_GUI_BYTES_ENCODING) == 0) {
recent.gui_bytes_encoding =
(bytes_encoding_type)str_to_val(value, bytes_encoding_type_values, BYTES_ENC_FROM_PACKET);
+ } else if (strcmp(key, RECENT_GUI_PACKET_DIAGRAM_FIELD_VALUES) == 0) {
+ parse_recent_boolean(value, &recent.gui_packet_diagram_field_values);
} else if (strcmp(key, RECENT_GUI_GEOMETRY_MAIN_MAXIMIZED) == 0) {
parse_recent_boolean(value, &recent.gui_geometry_main_maximized);
} else if (strcmp(key, RECENT_GUI_GEOMETRY_MAIN_UPPER_PANE) == 0) {
diff --git a/ui/recent.h b/ui/recent.h
index b154a57741..3d6d1c9cdb 100644
--- a/ui/recent.h
+++ b/ui/recent.h
@@ -98,6 +98,7 @@ typedef struct recent_settings_tag {
gint gui_zoom_level;
bytes_view_type gui_bytes_view;
bytes_encoding_type gui_bytes_encoding;
+ gboolean gui_packet_diagram_field_values;
search_in_type gui_search_in;
search_char_set_type gui_search_char_set;