diff options
author | Michael Mann <mmann78@netscape.net> | 2015-06-25 14:41:53 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2015-06-25 18:43:43 +0000 |
commit | 8b6c4c352276873085f77afce89b33e314bb1fee (patch) | |
tree | 494c2d6d8854e725a781d41d53b98c137350cd81 /ui/gtk | |
parent | 7f5717516d23a80f3f6a571e61ca44119b760374 (diff) |
Limit the text displayed for the Filter label in the SRT dialog so it doesn't push the table off of dialog.
Add tooltip that displays entire filter string
Bug: 6399
Change-Id: I094f3785eb15daf6e05485748f01c36a9a98e163
Reviewed-on: https://code.wireshark.org/review/9142
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'ui/gtk')
-rw-r--r-- | ui/gtk/service_response_time_table.c | 15 | ||||
-rw-r--r-- | ui/gtk/service_response_time_table.h | 3 |
2 files changed, 16 insertions, 2 deletions
diff --git a/ui/gtk/service_response_time_table.c b/ui/gtk/service_response_time_table.c index efc3869246..7e80c07770 100644 --- a/ui/gtk/service_response_time_table.c +++ b/ui/gtk/service_response_time_table.c @@ -700,7 +700,7 @@ init_srt_tables(register_srt_t* srt, const char *filter) srt_t *ss; gchar *str; GtkWidget *label; - char *filter_string; + char *filter_string, *tmp_filter_string; GString *error_string; GtkWidget *bbox; GtkWidget *close_bt; @@ -724,9 +724,20 @@ init_srt_tables(register_srt_t* srt, const char *filter) gtk_box_pack_start(GTK_BOX(ss->gtk_data.vbox), label, FALSE, FALSE, 0); g_free(str); - filter_string = g_strdup_printf("Filter: %s", filter ? filter : ""); + if ((filter != NULL) && (strlen(filter) > MAX_FILTER_STRING_LENGTH)) + { + tmp_filter_string = g_strndup(filter, MAX_FILTER_STRING_LENGTH); + filter_string = g_strdup_printf("Filter: %s...", tmp_filter_string); + g_free(tmp_filter_string); + } + else + { + filter_string = g_strdup_printf("Filter: %s", filter ? filter : ""); + } + label=gtk_label_new(filter_string); gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); + gtk_widget_set_tooltip_text (label, filter ? filter : ""); g_free(filter_string); gtk_box_pack_start(GTK_BOX(ss->gtk_data.vbox), label, FALSE, FALSE, 0); diff --git a/ui/gtk/service_response_time_table.h b/ui/gtk/service_response_time_table.h index 5b34104fdd..3b8e5915a9 100644 --- a/ui/gtk/service_response_time_table.h +++ b/ui/gtk/service_response_time_table.h @@ -35,6 +35,9 @@ /** Suggested height of SRT window */ #define SRT_PREFERRED_HEIGHT 400 +/** Limit filter string length for sanity */ +#define MAX_FILTER_STRING_LENGTH 1000 + /** @file * Helper routines common to all service response time statistics tap. */ |