diff options
Diffstat (limited to 'trace-view-main.c')
-rw-r--r-- | trace-view-main.c | 46 |
1 files changed, 42 insertions, 4 deletions
diff --git a/trace-view-main.c b/trace-view-main.c index 52fb4f8..22b9e32 100644 --- a/trace-view-main.c +++ b/trace-view-main.c | |||
@@ -72,7 +72,30 @@ load_clicked (gpointer data) | |||
72 | g_free(filename); | 72 | g_free(filename); |
73 | } | 73 | } |
74 | 74 | ||
75 | /* Callback for the clicked signal of the Save State button */ | 75 | /* Callback for the clicked signal of the Load Filters button */ |
76 | static void | ||
77 | load_filters_clicked (gpointer data) | ||
78 | { | ||
79 | struct trace_tree_info *info = data; | ||
80 | GtkTreeView *trace_tree = GTK_TREE_VIEW(info->trace_tree); | ||
81 | struct tracecmd_xml_handle *handle; | ||
82 | gchar *filename; | ||
83 | |||
84 | filename = trace_get_file_dialog("Load Filters"); | ||
85 | if (!filename) | ||
86 | return; | ||
87 | |||
88 | handle = tracecmd_xml_open(filename); | ||
89 | if (!handle) | ||
90 | warning("Could not open %s", filename); | ||
91 | g_free(filename); | ||
92 | |||
93 | trace_view_load_filters(handle, trace_tree); | ||
94 | |||
95 | tracecmd_xml_close(handle); | ||
96 | } | ||
97 | |||
98 | /* Callback for the clicked signal of the Save Filters button */ | ||
76 | static void | 99 | static void |
77 | save_filters_clicked (gpointer data) | 100 | save_filters_clicked (gpointer data) |
78 | { | 101 | { |
@@ -81,13 +104,13 @@ save_filters_clicked (gpointer data) | |||
81 | struct tracecmd_xml_handle *handle; | 104 | struct tracecmd_xml_handle *handle; |
82 | gchar *filename; | 105 | gchar *filename; |
83 | 106 | ||
84 | filename = trace_get_file_dialog("Save State"); | 107 | filename = trace_get_file_dialog("Save Filters"); |
85 | if (!filename) | 108 | if (!filename) |
86 | return; | 109 | return; |
87 | 110 | ||
88 | handle = tracecmd_xml_create(filename); | 111 | handle = tracecmd_xml_create(filename); |
89 | if (!handle) | 112 | if (!handle) |
90 | warning("Could not create save state %s", filename); | 113 | warning("Could not create %s", filename); |
91 | g_free(filename); | 114 | g_free(filename); |
92 | 115 | ||
93 | trace_view_save_filters(handle, trace_tree); | 116 | trace_view_save_filters(handle, trace_tree); |
@@ -286,7 +309,22 @@ void trace_view(int argc, char **argv) | |||
286 | gtk_widget_show(sub_item); | 309 | gtk_widget_show(sub_item); |
287 | 310 | ||
288 | 311 | ||
289 | /* --- File - Save State Option --- */ | 312 | /* --- File - Load Filter Option --- */ |
313 | |||
314 | sub_item = gtk_menu_item_new_with_label("Load filters"); | ||
315 | |||
316 | /* Add them to the menu */ | ||
317 | gtk_menu_shell_append(GTK_MENU_SHELL (menu), sub_item); | ||
318 | |||
319 | g_signal_connect_swapped (G_OBJECT (sub_item), "activate", | ||
320 | G_CALLBACK (load_filters_clicked), | ||
321 | (gpointer) &tree_info); | ||
322 | |||
323 | /* We do need to show menu items */ | ||
324 | gtk_widget_show(sub_item); | ||
325 | |||
326 | |||
327 | /* --- File - Save Filter Option --- */ | ||
290 | 328 | ||
291 | sub_item = gtk_menu_item_new_with_label("Save filters"); | 329 | sub_item = gtk_menu_item_new_with_label("Save filters"); |
292 | 330 | ||