aboutsummaryrefslogtreecommitdiffstats
path: root/trace-view-main.c
diff options
context:
space:
mode:
Diffstat (limited to 'trace-view-main.c')
-rw-r--r--trace-view-main.c46
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 */
76static void
77load_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 */
76static void 99static void
77save_filters_clicked (gpointer data) 100save_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