1 /*
2 * DO NOT EDIT THIS FILE - it is generated by Glade.
3 */
4
5 #ifdef HAVE_CONFIG_H
6 # include <config.h>
7 #endif
8
9 #include <sys/types.h>
10 #include <sys/stat.h>
11 #include <unistd.h>
12 #include <string.h>
13 #include <stdio.h>
14
15 #include <gdk/gdkkeysyms.h>
16 #include <gtk/gtk.h>
17
18 #include "callbacks.h"
19 #include "interface.h"
20 #include "support.h"
21
22 #define GLADE_HOOKUP_OBJECT(component,widget,name) \
23 g_object_set_data_full (G_OBJECT (component), name, \
24 gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
25
26 #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
27 g_object_set_data (G_OBJECT (component), name, widget)
28
29 GtkWidget*
create_gnee_window(void)30 create_gnee_window (void)
31 {
32 GtkWidget *gnee_window;
33 GdkPixbuf *gnee_window_icon_pixbuf;
34 GtkWidget *vbox1;
35 GtkWidget *menubar1;
36 GtkWidget *menuitem1;
37 GtkWidget *menuitem1_menu;
38 GtkWidget *new1;
39 GtkWidget *open1;
40 GtkWidget *save1;
41 GtkWidget *save_as1;
42 GtkWidget *separatormenuitem1;
43 GtkWidget *quit1;
44 GtkWidget *menuitem3;
45 GtkWidget *menuitem3_menu;
46 GtkWidget *log_window;
47 GtkWidget *menuitem4;
48 GtkWidget *menuitem4_menu;
49 GtkWidget *about1;
50 GtkWidget *hbox34;
51 GtkWidget *new2_button;
52 GtkWidget *open2_button;
53 GtkWidget *save2_button;
54 GtkWidget *record2_button;
55 GtkWidget *replay2_button;
56 GtkWidget *stop2_button;
57 GtkWidget *notebook;
58 GtkWidget *general_settings_box;
59 GtkWidget *hbox21;
60 GtkWidget *log_settings_box;
61 GtkWidget *label14;
62 GtkWidget *verbose_logging_box;
63 GtkWidget *verbose_logging_checkbox;
64 GtkWidget *time_settings_box;
65 GtkWidget *label11;
66 GtkWidget *timeout_box;
67 GtkWidget *wait_checkbox;
68 GtkObject *wait_spinbutton_adj;
69 GtkWidget *wait_spinbutton;
70 GtkWidget *vbox16;
71 GtkWidget *feedback_label;
72 GtkWidget *no_fb_b;
73 GSList *no_fb_b_group = NULL;
74 GtkWidget *xosd_fb_b;
75 GtkWidget *stderr_fb_b;
76 GtkWidget *distribution_settings_box;
77 GtkWidget *label13;
78 GtkWidget *distribution_list_box;
79 GtkWidget *vbox4;
80 GtkWidget *hbox6;
81 GtkWidget *distr_displ_label;
82 GtkWidget *distribute_display_entry;
83 GtkWidget *scrolledwindow3;
84 GtkWidget *distribution_list_view;
85 GtkWidget *vbuttonbox1;
86 GtkWidget *add_to_distribution_list_butotn;
87 GtkWidget *remove_from_distribution_list_button;
88 GtkWidget *hbox12;
89 GtkWidget *distribute_when_recording_checkbox;
90 GtkWidget *label6;
91 GtkWidget *vbox20;
92 GtkWidget *record_settings_box;
93 GtkWidget *vbox30;
94 GtkWidget *label76;
95 GtkWidget *hbox32;
96 GtkWidget *checkbutton10;
97 GtkWidget *rec_disp_text;
98 GtkWidget *repl_file_box;
99 GtkWidget *label61;
100 GtkWidget *hbox30;
101 GtkWidget *rec_file_text;
102 GtkWidget *rec_file_sel;
103 GtkWidget *table1;
104 GtkWidget *vbox8;
105 GtkWidget *label21;
106 GtkWidget *record_clients_box;
107 GtkWidget *radiobutton1;
108 GSList *radiobutton1_group = NULL;
109 GtkWidget *radiobutton2;
110 GtkWidget *printout_box;
111 GtkWidget *printout_label;
112 GtkWidget *xnee_format_rb;
113 GSList *xnee_format_rb_group = NULL;
114 GtkWidget *human_format_rb;
115 GtkWidget *vbox27;
116 GtkWidget *label70;
117 GtkWidget *vbox28;
118 GtkWidget *table7;
119 GtkWidget *label71;
120 GtkObject *spinbutton11_adj;
121 GtkWidget *spinbutton11;
122 GtkWidget *label72;
123 GtkObject *spinbutton12_adj;
124 GtkWidget *spinbutton12;
125 GtkWidget *label73;
126 GtkObject *spinbutton13_adj;
127 GtkWidget *spinbutton13;
128 GtkWidget *vbox6;
129 GtkWidget *label20;
130 GtkWidget *record_recordables_box;
131 GtkWidget *hbox3;
132 GtkWidget *event_group_combo;
133 GtkWidget *combo_label1;
134 GtkWidget *recordable_listview_box;
135 GtkWidget *vbox10;
136 GtkWidget *label22;
137 GtkWidget *scrolledwindow4;
138 GtkWidget *exclude_list;
139 GtkWidget *vbuttonbox2;
140 GtkWidget *record_include_button;
141 GtkWidget *image3;
142 GtkWidget *record_exclude_button;
143 GtkWidget *image2;
144 GtkWidget *vbox11;
145 GtkWidget *label23;
146 GtkWidget *scrolledwindow5;
147 GtkWidget *include_list;
148 GtkWidget *label1;
149 GtkWidget *replay_settings_box;
150 GtkWidget *hbox23;
151 GtkWidget *replay_display_box;
152 GtkWidget *hbox33;
153 GtkWidget *vbox25;
154 GtkWidget *label67;
155 GtkWidget *hbox26;
156 GtkWidget *rep_disp_cb;
157 GtkWidget *rep_disp_text;
158 GtkWidget *vbox32;
159 GtkWidget *label62;
160 GtkWidget *hbox24;
161 GtkWidget *speed_toggle;
162 GtkObject *speed_spin_adj;
163 GtkWidget *speed_spin;
164 GtkWidget *new_win_check;
165 GtkWidget *hbox36;
166 GtkWidget *checkbutton13;
167 GtkObject *x_offs_spin_adj;
168 GtkWidget *x_offs_spin;
169 GtkObject *y_offs_spin_adj;
170 GtkWidget *y_offs_spin;
171 GtkWidget *vbox29;
172 GtkWidget *hbox31;
173 GtkWidget *label75;
174 GtkWidget *rep_file_text;
175 GtkWidget *button11;
176 GtkWidget *spin_boxes;
177 GtkWidget *threshold_box;
178 GtkWidget *threshold_label;
179 GtkWidget *threshold_table;
180 GtkWidget *max_thresh_label;
181 GtkWidget *min_thresh_label;
182 GtkWidget *tot_thresh_label;
183 GtkObject *max_thresh_sb_adj;
184 GtkWidget *max_thresh_sb;
185 GtkObject *min_thresh_sb_adj;
186 GtkWidget *min_thresh_sb;
187 GtkObject *tot_thresh_sb_adj;
188 GtkWidget *tot_thresh_sb;
189 GtkWidget *vbox22;
190 GtkWidget *replay_error_handling_box;
191 GtkWidget *label18;
192 GtkWidget *skip_sync_cb;
193 GtkWidget *force_rep_cb;
194 GtkWidget *vbox12;
195 GtkWidget *label24;
196 GtkWidget *replay_files_box;
197 GtkWidget *scrolledwindow6;
198 GtkWidget *treeview3;
199 GtkWidget *vbuttonbox3;
200 GtkWidget *button3;
201 GtkWidget *label2;
202 GtkWidget *km_table;
203 GtkWidget *label32;
204 GtkWidget *label33;
205 GtkWidget *label36;
206 GtkWidget *label37;
207 GtkWidget *label38;
208 GtkWidget *label39;
209 GtkWidget *label35;
210 GtkWidget *combo7;
211 GtkWidget *pause_k_combo;
212 GtkWidget *combo8;
213 GtkWidget *resume_k_combo;
214 GtkWidget *combo9;
215 GtkWidget *mark_k_combo;
216 GtkWidget *combo10;
217 GtkWidget *exec_k_combo;
218 GtkWidget *combo2;
219 GtkWidget *stop_k_combo;
220 GtkWidget *label80;
221 GtkWidget *hbox35;
222 GtkWidget *label81;
223 GtkWidget *entry1;
224 GtkWidget *label82;
225 GtkWidget *label83;
226 GtkWidget *label84;
227 GtkWidget *label85;
228 GtkWidget *keymodifierpane;
229 GtkWidget *label74;
230 GtkWidget *resolution;
231 GtkWidget *label78;
232 GtkWidget *project_tab;
233 GtkAccelGroup *accel_group;
234 GtkTooltips *tooltips;
235
236 tooltips = gtk_tooltips_new ();
237
238 accel_group = gtk_accel_group_new ();
239
240 gnee_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
241 gtk_window_set_title (GTK_WINDOW (gnee_window), _("Gnee"));
242 gtk_window_set_default_size (GTK_WINDOW (gnee_window), 640, 480);
243 gnee_window_icon_pixbuf = create_pixbuf ("xnee.xpm");
244 if (gnee_window_icon_pixbuf)
245 {
246 gtk_window_set_icon (GTK_WINDOW (gnee_window), gnee_window_icon_pixbuf);
247 gdk_pixbuf_unref (gnee_window_icon_pixbuf);
248 }
249
250 vbox1 = gtk_vbox_new (FALSE, 0);
251 gtk_widget_show (vbox1);
252 gtk_container_add (GTK_CONTAINER (gnee_window), vbox1);
253
254 menubar1 = gtk_menu_bar_new ();
255 gtk_widget_show (menubar1);
256 gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0);
257
258 menuitem1 = gtk_menu_item_new_with_mnemonic (_("_File"));
259 gtk_widget_show (menuitem1);
260 gtk_container_add (GTK_CONTAINER (menubar1), menuitem1);
261
262 menuitem1_menu = gtk_menu_new ();
263 gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem1), menuitem1_menu);
264
265 new1 = gtk_image_menu_item_new_from_stock ("gtk-new", accel_group);
266 gtk_widget_show (new1);
267 gtk_container_add (GTK_CONTAINER (menuitem1_menu), new1);
268
269 open1 = gtk_image_menu_item_new_from_stock ("gtk-open", accel_group);
270 gtk_widget_show (open1);
271 gtk_container_add (GTK_CONTAINER (menuitem1_menu), open1);
272
273 save1 = gtk_image_menu_item_new_from_stock ("gtk-save", accel_group);
274 gtk_widget_show (save1);
275 gtk_container_add (GTK_CONTAINER (menuitem1_menu), save1);
276
277 save_as1 = gtk_image_menu_item_new_from_stock ("gtk-save-as", accel_group);
278 gtk_widget_show (save_as1);
279 gtk_container_add (GTK_CONTAINER (menuitem1_menu), save_as1);
280
281 separatormenuitem1 = gtk_menu_item_new ();
282 gtk_widget_show (separatormenuitem1);
283 gtk_container_add (GTK_CONTAINER (menuitem1_menu), separatormenuitem1);
284 gtk_widget_set_sensitive (separatormenuitem1, FALSE);
285
286 quit1 = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group);
287 gtk_widget_show (quit1);
288 gtk_container_add (GTK_CONTAINER (menuitem1_menu), quit1);
289
290 menuitem3 = gtk_menu_item_new_with_mnemonic (_("_View"));
291 gtk_widget_show (menuitem3);
292 gtk_container_add (GTK_CONTAINER (menubar1), menuitem3);
293
294 menuitem3_menu = gtk_menu_new ();
295 gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem3), menuitem3_menu);
296
297 log_window = gtk_check_menu_item_new_with_mnemonic (_("_Log window"));
298 gtk_widget_show (log_window);
299 gtk_container_add (GTK_CONTAINER (menuitem3_menu), log_window);
300
301 menuitem4 = gtk_menu_item_new_with_mnemonic (_("_Help"));
302 gtk_widget_show (menuitem4);
303 gtk_container_add (GTK_CONTAINER (menubar1), menuitem4);
304
305 menuitem4_menu = gtk_menu_new ();
306 gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem4), menuitem4_menu);
307
308 about1 = gtk_menu_item_new_with_mnemonic (_("_About"));
309 gtk_widget_show (about1);
310 gtk_container_add (GTK_CONTAINER (menuitem4_menu), about1);
311
312 hbox34 = gtk_hbox_new (FALSE, 0);
313 gtk_widget_show (hbox34);
314 gtk_box_pack_start (GTK_BOX (vbox1), hbox34, FALSE, TRUE, 0);
315
316 new2_button = gtk_button_new_from_stock ("gtk-new");
317 gtk_widget_show (new2_button);
318 gtk_box_pack_start (GTK_BOX (hbox34), new2_button, FALSE, FALSE, 0);
319 GTK_WIDGET_UNSET_FLAGS (new2_button, GTK_CAN_FOCUS);
320 gtk_tooltips_set_tip (tooltips, new2_button, _("Create new Xnee Project File"), NULL);
321
322 open2_button = gtk_button_new_from_stock ("gtk-open");
323 gtk_widget_show (open2_button);
324 gtk_box_pack_start (GTK_BOX (hbox34), open2_button, FALSE, FALSE, 0);
325 GTK_WIDGET_UNSET_FLAGS (open2_button, GTK_CAN_FOCUS);
326 gtk_tooltips_set_tip (tooltips, open2_button, _("Open Xnee Project File"), NULL);
327
328 save2_button = gtk_button_new_from_stock ("gtk-save");
329 gtk_widget_show (save2_button);
330 gtk_box_pack_start (GTK_BOX (hbox34), save2_button, FALSE, FALSE, 0);
331 GTK_WIDGET_UNSET_FLAGS (save2_button, GTK_CAN_FOCUS);
332 gtk_tooltips_set_tip (tooltips, save2_button, _("Save settings to Xnee Project File"), NULL);
333
334 record2_button = gtk_button_new_from_stock ("gtk-media-record");
335 gtk_widget_show (record2_button);
336 gtk_box_pack_start (GTK_BOX (hbox34), record2_button, FALSE, FALSE, 0);
337 GTK_WIDGET_UNSET_FLAGS (record2_button, GTK_CAN_FOCUS);
338 gtk_tooltips_set_tip (tooltips, record2_button, _("Start recording"), NULL);
339
340 replay2_button = gtk_button_new_from_stock ("gtk-media-play");
341 gtk_widget_show (replay2_button);
342 gtk_box_pack_start (GTK_BOX (hbox34), replay2_button, FALSE, FALSE, 0);
343 GTK_WIDGET_UNSET_FLAGS (replay2_button, GTK_CAN_FOCUS);
344 gtk_tooltips_set_tip (tooltips, replay2_button, _("Start replay "), NULL);
345
346 stop2_button = gtk_button_new_from_stock ("gtk-stop");
347 gtk_widget_show (stop2_button);
348 gtk_box_pack_start (GTK_BOX (hbox34), stop2_button, FALSE, FALSE, 0);
349 gtk_widget_set_sensitive (stop2_button, FALSE);
350 GTK_WIDGET_UNSET_FLAGS (stop2_button, GTK_CAN_FOCUS);
351 gtk_tooltips_set_tip (tooltips, stop2_button, _("Stop"), NULL);
352
353 notebook = gtk_notebook_new ();
354 gtk_widget_show (notebook);
355 gtk_box_pack_start (GTK_BOX (vbox1), notebook, TRUE, TRUE, 0);
356 gtk_container_set_border_width (GTK_CONTAINER (notebook), 4);
357
358 general_settings_box = gtk_vbox_new (FALSE, 4);
359 gtk_widget_show (general_settings_box);
360 gtk_container_add (GTK_CONTAINER (notebook), general_settings_box);
361 gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (notebook), general_settings_box,
362 FALSE, FALSE, GTK_PACK_START);
363 gtk_container_set_border_width (GTK_CONTAINER (general_settings_box), 4);
364
365 hbox21 = gtk_hbox_new (FALSE, 0);
366 gtk_widget_show (hbox21);
367 gtk_box_pack_start (GTK_BOX (general_settings_box), hbox21, FALSE, FALSE, 0);
368
369 log_settings_box = gtk_vbox_new (FALSE, 0);
370 gtk_widget_show (log_settings_box);
371 gtk_box_pack_start (GTK_BOX (hbox21), log_settings_box, TRUE, TRUE, 0);
372
373 label14 = gtk_label_new (_("<b>Logging</b>"));
374 gtk_widget_show (label14);
375 gtk_box_pack_start (GTK_BOX (log_settings_box), label14, FALSE, FALSE, 0);
376 gtk_label_set_use_markup (GTK_LABEL (label14), TRUE);
377 gtk_misc_set_alignment (GTK_MISC (label14), 0, 0);
378
379 verbose_logging_box = gtk_hbox_new (FALSE, 0);
380 gtk_widget_show (verbose_logging_box);
381 gtk_box_pack_start (GTK_BOX (log_settings_box), verbose_logging_box, FALSE, FALSE, 0);
382 gtk_container_set_border_width (GTK_CONTAINER (verbose_logging_box), 4);
383
384 verbose_logging_checkbox = gtk_check_button_new_with_mnemonic (_("Verbose logging"));
385 gtk_widget_show (verbose_logging_checkbox);
386 gtk_box_pack_start (GTK_BOX (verbose_logging_box), verbose_logging_checkbox, FALSE, FALSE, 0);
387 gtk_tooltips_set_tip (tooltips, verbose_logging_checkbox, _("Turn on verbose printout (to stderr)"), NULL);
388
389 time_settings_box = gtk_vbox_new (FALSE, 0);
390 gtk_widget_show (time_settings_box);
391 gtk_box_pack_start (GTK_BOX (hbox21), time_settings_box, TRUE, TRUE, 0);
392
393 label11 = gtk_label_new (_("<b>Delayed start</b>"));
394 gtk_widget_show (label11);
395 gtk_box_pack_start (GTK_BOX (time_settings_box), label11, FALSE, FALSE, 0);
396 gtk_label_set_use_markup (GTK_LABEL (label11), TRUE);
397 gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.5);
398
399 timeout_box = gtk_hbox_new (FALSE, 4);
400 gtk_widget_show (timeout_box);
401 gtk_box_pack_start (GTK_BOX (time_settings_box), timeout_box, FALSE, FALSE, 0);
402 gtk_container_set_border_width (GTK_CONTAINER (timeout_box), 4);
403
404 wait_checkbox = gtk_check_button_new_with_mnemonic (_("Seconds "));
405 gtk_widget_show (wait_checkbox);
406 gtk_box_pack_start (GTK_BOX (timeout_box), wait_checkbox, FALSE, FALSE, 0);
407 gtk_tooltips_set_tip (tooltips, wait_checkbox, _("Delay start of recording/replaying"), NULL);
408
409 wait_spinbutton_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
410 wait_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (wait_spinbutton_adj), 1, 0);
411 gtk_widget_show (wait_spinbutton);
412 gtk_box_pack_start (GTK_BOX (timeout_box), wait_spinbutton, FALSE, FALSE, 0);
413
414 vbox16 = gtk_vbox_new (FALSE, 0);
415 gtk_widget_show (vbox16);
416 gtk_box_pack_start (GTK_BOX (hbox21), vbox16, TRUE, TRUE, 0);
417
418 feedback_label = gtk_label_new (_("<b>Feedback</b>"));
419 gtk_widget_show (feedback_label);
420 gtk_box_pack_start (GTK_BOX (vbox16), feedback_label, FALSE, FALSE, 0);
421 gtk_label_set_use_markup (GTK_LABEL (feedback_label), TRUE);
422 gtk_misc_set_alignment (GTK_MISC (feedback_label), 0, 0.5);
423
424 no_fb_b = gtk_radio_button_new_with_mnemonic (NULL, _("none"));
425 gtk_widget_show (no_fb_b);
426 gtk_box_pack_start (GTK_BOX (vbox16), no_fb_b, FALSE, FALSE, 0);
427 gtk_tooltips_set_tip (tooltips, no_fb_b, _("No feedback at all "), NULL);
428 gtk_radio_button_set_group (GTK_RADIO_BUTTON (no_fb_b), no_fb_b_group);
429 no_fb_b_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (no_fb_b));
430
431 xosd_fb_b = gtk_radio_button_new_with_mnemonic (NULL, _("xosd"));
432 gtk_widget_show (xosd_fb_b);
433 gtk_box_pack_start (GTK_BOX (vbox16), xosd_fb_b, FALSE, FALSE, 0);
434 gtk_tooltips_set_tip (tooltips, xosd_fb_b, _("Enables XOSD feedback"), NULL);
435 gtk_radio_button_set_group (GTK_RADIO_BUTTON (xosd_fb_b), no_fb_b_group);
436 no_fb_b_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (xosd_fb_b));
437
438 stderr_fb_b = gtk_radio_button_new_with_mnemonic (NULL, _("stderr"));
439 gtk_widget_show (stderr_fb_b);
440 gtk_box_pack_start (GTK_BOX (vbox16), stderr_fb_b, FALSE, FALSE, 0);
441 gtk_radio_button_set_group (GTK_RADIO_BUTTON (stderr_fb_b), no_fb_b_group);
442 no_fb_b_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (stderr_fb_b));
443
444 distribution_settings_box = gtk_vbox_new (FALSE, 0);
445 gtk_widget_show (distribution_settings_box);
446 gtk_box_pack_start (GTK_BOX (general_settings_box), distribution_settings_box, TRUE, TRUE, 0);
447
448 label13 = gtk_label_new (_("<b>Distribution</b>"));
449 gtk_widget_show (label13);
450 gtk_box_pack_start (GTK_BOX (distribution_settings_box), label13, FALSE, FALSE, 0);
451 gtk_label_set_use_markup (GTK_LABEL (label13), TRUE);
452 gtk_misc_set_alignment (GTK_MISC (label13), 0, 0);
453
454 distribution_list_box = gtk_hbox_new (FALSE, 4);
455 gtk_widget_show (distribution_list_box);
456 gtk_box_pack_start (GTK_BOX (distribution_settings_box), distribution_list_box, TRUE, TRUE, 0);
457 gtk_container_set_border_width (GTK_CONTAINER (distribution_list_box), 4);
458
459 vbox4 = gtk_vbox_new (FALSE, 4);
460 gtk_widget_show (vbox4);
461 gtk_box_pack_start (GTK_BOX (distribution_list_box), vbox4, TRUE, TRUE, 4);
462
463 hbox6 = gtk_hbox_new (FALSE, 4);
464 gtk_widget_show (hbox6);
465 gtk_box_pack_start (GTK_BOX (vbox4), hbox6, FALSE, TRUE, 0);
466 gtk_container_set_border_width (GTK_CONTAINER (hbox6), 2);
467
468 distr_displ_label = gtk_label_new (_("Distribute to display:"));
469 gtk_widget_show (distr_displ_label);
470 gtk_box_pack_start (GTK_BOX (hbox6), distr_displ_label, FALSE, FALSE, 0);
471
472 distribute_display_entry = gtk_entry_new ();
473 gtk_widget_show (distribute_display_entry);
474 gtk_box_pack_start (GTK_BOX (hbox6), distribute_display_entry, TRUE, TRUE, 0);
475 gtk_tooltips_set_tip (tooltips, distribute_display_entry, _("Not used in this release"), NULL);
476
477 scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL);
478 gtk_widget_show (scrolledwindow3);
479 gtk_box_pack_start (GTK_BOX (vbox4), scrolledwindow3, TRUE, TRUE, 0);
480 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
481 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_SHADOW_IN);
482
483 distribution_list_view = gtk_tree_view_new ();
484 gtk_widget_show (distribution_list_view);
485 gtk_container_add (GTK_CONTAINER (scrolledwindow3), distribution_list_view);
486 gtk_tooltips_set_tip (tooltips, distribution_list_view, _("Not used in this release"), NULL);
487 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (distribution_list_view), FALSE);
488
489 vbuttonbox1 = gtk_vbutton_box_new ();
490 gtk_widget_show (vbuttonbox1);
491 gtk_box_pack_start (GTK_BOX (distribution_list_box), vbuttonbox1, FALSE, TRUE, 0);
492 gtk_container_set_border_width (GTK_CONTAINER (vbuttonbox1), 4);
493 gtk_button_box_set_layout (GTK_BUTTON_BOX (vbuttonbox1), GTK_BUTTONBOX_START);
494
495 add_to_distribution_list_butotn = gtk_button_new_from_stock ("gtk-add");
496 gtk_widget_show (add_to_distribution_list_butotn);
497 gtk_container_add (GTK_CONTAINER (vbuttonbox1), add_to_distribution_list_butotn);
498 GTK_WIDGET_SET_FLAGS (add_to_distribution_list_butotn, GTK_CAN_DEFAULT);
499 gtk_tooltips_set_tip (tooltips, add_to_distribution_list_butotn, _("Not used in this release"), NULL);
500
501 remove_from_distribution_list_button = gtk_button_new_from_stock ("gtk-remove");
502 gtk_widget_show (remove_from_distribution_list_button);
503 gtk_container_add (GTK_CONTAINER (vbuttonbox1), remove_from_distribution_list_button);
504 GTK_WIDGET_SET_FLAGS (remove_from_distribution_list_button, GTK_CAN_DEFAULT);
505 gtk_tooltips_set_tip (tooltips, remove_from_distribution_list_button, _("Not used in this release"), NULL);
506
507 hbox12 = gtk_hbox_new (FALSE, 0);
508 gtk_widget_show (hbox12);
509 gtk_box_pack_start (GTK_BOX (distribution_settings_box), hbox12, FALSE, FALSE, 0);
510 gtk_container_set_border_width (GTK_CONTAINER (hbox12), 4);
511
512 distribute_when_recording_checkbox = gtk_check_button_new_with_mnemonic (_("Distribute when recording"));
513 gtk_widget_show (distribute_when_recording_checkbox);
514 gtk_box_pack_start (GTK_BOX (hbox12), distribute_when_recording_checkbox, FALSE, FALSE, 0);
515 gtk_container_set_border_width (GTK_CONTAINER (distribute_when_recording_checkbox), 4);
516 gtk_tooltips_set_tip (tooltips, distribute_when_recording_checkbox, _("Not used in this release"), NULL);
517
518 label6 = gtk_label_new (_("General settings"));
519 gtk_widget_show (label6);
520 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 0), label6);
521
522 vbox20 = gtk_vbox_new (FALSE, 0);
523 gtk_widget_show (vbox20);
524 gtk_container_add (GTK_CONTAINER (notebook), vbox20);
525
526 record_settings_box = gtk_vbox_new (FALSE, 0);
527 gtk_widget_show (record_settings_box);
528 gtk_box_pack_start (GTK_BOX (vbox20), record_settings_box, TRUE, TRUE, 0);
529 gtk_container_set_border_width (GTK_CONTAINER (record_settings_box), 4);
530
531 vbox30 = gtk_vbox_new (FALSE, 0);
532 gtk_widget_show (vbox30);
533 gtk_box_pack_start (GTK_BOX (record_settings_box), vbox30, TRUE, TRUE, 0);
534
535 label76 = gtk_label_new (_("<b>Display</b>"));
536 gtk_widget_show (label76);
537 gtk_box_pack_start (GTK_BOX (vbox30), label76, FALSE, FALSE, 0);
538 gtk_label_set_use_markup (GTK_LABEL (label76), TRUE);
539 gtk_misc_set_alignment (GTK_MISC (label76), 0, 0);
540
541 hbox32 = gtk_hbox_new (FALSE, 4);
542 gtk_widget_show (hbox32);
543 gtk_box_pack_start (GTK_BOX (vbox30), hbox32, FALSE, FALSE, 0);
544 gtk_container_set_border_width (GTK_CONTAINER (hbox32), 4);
545
546 checkbutton10 = gtk_check_button_new_with_mnemonic (_("Record from display:"));
547 gtk_widget_show (checkbutton10);
548 gtk_box_pack_start (GTK_BOX (hbox32), checkbutton10, FALSE, FALSE, 0);
549 gtk_tooltips_set_tip (tooltips, checkbutton10, _("Set the display to record (default :0)"), NULL);
550
551 rec_disp_text = gtk_entry_new ();
552 gtk_widget_show (rec_disp_text);
553 gtk_box_pack_start (GTK_BOX (hbox32), rec_disp_text, TRUE, TRUE, 0);
554 gtk_tooltips_set_tip (tooltips, rec_disp_text, _("Set the display to record from"), NULL);
555
556 repl_file_box = gtk_vbox_new (FALSE, 0);
557 gtk_widget_show (repl_file_box);
558 gtk_box_pack_start (GTK_BOX (record_settings_box), repl_file_box, TRUE, TRUE, 0);
559 gtk_container_set_border_width (GTK_CONTAINER (repl_file_box), 4);
560
561 label61 = gtk_label_new (_("<b>Record to session file</b>"));
562 gtk_widget_show (label61);
563 gtk_box_pack_start (GTK_BOX (repl_file_box), label61, FALSE, FALSE, 0);
564 gtk_label_set_use_markup (GTK_LABEL (label61), TRUE);
565 gtk_misc_set_alignment (GTK_MISC (label61), 0, 0);
566
567 hbox30 = gtk_hbox_new (FALSE, 0);
568 gtk_widget_show (hbox30);
569 gtk_box_pack_start (GTK_BOX (repl_file_box), hbox30, TRUE, TRUE, 0);
570
571 rec_file_text = gtk_entry_new ();
572 gtk_widget_show (rec_file_text);
573 gtk_box_pack_start (GTK_BOX (hbox30), rec_file_text, TRUE, TRUE, 0);
574 gtk_tooltips_set_tip (tooltips, rec_file_text, _("Set the file to store the recorded data in"), NULL);
575 gtk_editable_set_editable (GTK_EDITABLE (rec_file_text), FALSE);
576
577 rec_file_sel = gtk_button_new_with_mnemonic (_("..."));
578 gtk_widget_show (rec_file_sel);
579 gtk_box_pack_start (GTK_BOX (hbox30), rec_file_sel, FALSE, FALSE, 0);
580 gtk_widget_set_size_request (rec_file_sel, -1, 4);
581
582 table1 = gtk_table_new (1, 3, TRUE);
583 gtk_widget_show (table1);
584 gtk_box_pack_start (GTK_BOX (record_settings_box), table1, FALSE, FALSE, 0);
585 gtk_table_set_col_spacings (GTK_TABLE (table1), 20);
586
587 vbox8 = gtk_vbox_new (FALSE, 0);
588 gtk_widget_show (vbox8);
589 gtk_table_attach (GTK_TABLE (table1), vbox8, 0, 1, 0, 1,
590 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
591 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
592 gtk_container_set_border_width (GTK_CONTAINER (vbox8), 4);
593
594 label21 = gtk_label_new (_("<b>Clients</b>"));
595 gtk_widget_show (label21);
596 gtk_box_pack_start (GTK_BOX (vbox8), label21, FALSE, FALSE, 0);
597 gtk_label_set_use_markup (GTK_LABEL (label21), TRUE);
598 gtk_misc_set_alignment (GTK_MISC (label21), 0, 0);
599
600 record_clients_box = gtk_vbox_new (FALSE, 0);
601 gtk_widget_show (record_clients_box);
602 gtk_box_pack_start (GTK_BOX (vbox8), record_clients_box, FALSE, FALSE, 0);
603 gtk_container_set_border_width (GTK_CONTAINER (record_clients_box), 4);
604
605 radiobutton1 = gtk_radio_button_new_with_mnemonic (NULL, _("Record all clients"));
606 gtk_widget_show (radiobutton1);
607 gtk_box_pack_start (GTK_BOX (record_clients_box), radiobutton1, FALSE, FALSE, 0);
608 gtk_widget_set_size_request (radiobutton1, 72, -1);
609 gtk_tooltips_set_tip (tooltips, radiobutton1, _("Record all clients (current and present)"), NULL);
610 gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton1), radiobutton1_group);
611 radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton1));
612
613 radiobutton2 = gtk_radio_button_new_with_mnemonic (NULL, _("Record only future clients"));
614 gtk_widget_show (radiobutton2);
615 gtk_box_pack_start (GTK_BOX (record_clients_box), radiobutton2, FALSE, FALSE, 0);
616 gtk_tooltips_set_tip (tooltips, radiobutton2, _("Record only future clients (not present)"), NULL);
617 gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton2), radiobutton1_group);
618 radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton2));
619
620 printout_box = gtk_vbox_new (FALSE, 0);
621 gtk_widget_show (printout_box);
622 gtk_table_attach (GTK_TABLE (table1), printout_box, 2, 3, 0, 1,
623 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
624 (GtkAttachOptions) (GTK_FILL), 0, 0);
625
626 printout_label = gtk_label_new (_("<b>Printout format</b>"));
627 gtk_widget_show (printout_label);
628 gtk_box_pack_start (GTK_BOX (printout_box), printout_label, FALSE, FALSE, 0);
629 gtk_label_set_use_markup (GTK_LABEL (printout_label), TRUE);
630 gtk_misc_set_alignment (GTK_MISC (printout_label), 0, 0.5);
631
632 xnee_format_rb = gtk_radio_button_new_with_mnemonic (NULL, _("Xnee"));
633 gtk_widget_show (xnee_format_rb);
634 gtk_box_pack_start (GTK_BOX (printout_box), xnee_format_rb, FALSE, FALSE, 0);
635 gtk_tooltips_set_tip (tooltips, xnee_format_rb, _("This has to be used to be able to replay later"), NULL);
636 gtk_radio_button_set_group (GTK_RADIO_BUTTON (xnee_format_rb), xnee_format_rb_group);
637 xnee_format_rb_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (xnee_format_rb));
638
639 human_format_rb = gtk_radio_button_new_with_mnemonic (NULL, _("human"));
640 gtk_widget_show (human_format_rb);
641 gtk_box_pack_start (GTK_BOX (printout_box), human_format_rb, FALSE, FALSE, 0);
642 gtk_tooltips_set_tip (tooltips, human_format_rb, _("A (bit) more friendly print format"), NULL);
643 gtk_radio_button_set_group (GTK_RADIO_BUTTON (human_format_rb), xnee_format_rb_group);
644 xnee_format_rb_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (human_format_rb));
645
646 vbox27 = gtk_vbox_new (FALSE, 0);
647 gtk_widget_show (vbox27);
648 gtk_table_attach (GTK_TABLE (table1), vbox27, 1, 2, 0, 1,
649 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
650 (GtkAttachOptions) (GTK_FILL), 0, 0);
651
652 label70 = gtk_label_new (_("<b>Recording limits</b>"));
653 gtk_widget_show (label70);
654 gtk_box_pack_start (GTK_BOX (vbox27), label70, FALSE, FALSE, 0);
655 gtk_label_set_use_markup (GTK_LABEL (label70), TRUE);
656 gtk_misc_set_alignment (GTK_MISC (label70), 0, 0.5);
657
658 vbox28 = gtk_vbox_new (FALSE, 0);
659 gtk_widget_show (vbox28);
660 gtk_box_pack_start (GTK_BOX (vbox27), vbox28, TRUE, TRUE, 0);
661
662 table7 = gtk_table_new (3, 2, FALSE);
663 gtk_widget_show (table7);
664 gtk_box_pack_start (GTK_BOX (vbox28), table7, FALSE, FALSE, 0);
665
666 label71 = gtk_label_new (_("Events to record:"));
667 gtk_widget_show (label71);
668 gtk_table_attach (GTK_TABLE (table7), label71, 0, 1, 0, 1,
669 (GtkAttachOptions) (GTK_FILL),
670 (GtkAttachOptions) (0), 0, 0);
671 gtk_misc_set_alignment (GTK_MISC (label71), 0, 0.5);
672 gtk_misc_set_padding (GTK_MISC (label71), 4, 0);
673
674 spinbutton11_adj = gtk_adjustment_new (-1, -1, 1000000, 1, 10, 10);
675 spinbutton11 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton11_adj), 1, 0);
676 gtk_widget_show (spinbutton11);
677 gtk_table_attach (GTK_TABLE (table7), spinbutton11, 1, 2, 0, 1,
678 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
679 (GtkAttachOptions) (0), 0, 0);
680 gtk_tooltips_set_tip (tooltips, spinbutton11, _("Limit the number of events to record (-1 for no limit)"), NULL);
681
682 label72 = gtk_label_new (_("Data to record:"));
683 gtk_widget_show (label72);
684 gtk_table_attach (GTK_TABLE (table7), label72, 0, 1, 1, 2,
685 (GtkAttachOptions) (GTK_FILL),
686 (GtkAttachOptions) (0), 0, 0);
687 gtk_misc_set_alignment (GTK_MISC (label72), 0, 0.5);
688 gtk_misc_set_padding (GTK_MISC (label72), 4, 0);
689
690 spinbutton12_adj = gtk_adjustment_new (-1, -1, 1000000, 1, 10, 10);
691 spinbutton12 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton12_adj), 1, 0);
692 gtk_widget_show (spinbutton12);
693 gtk_table_attach (GTK_TABLE (table7), spinbutton12, 1, 2, 1, 2,
694 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
695 (GtkAttachOptions) (0), 0, 0);
696 gtk_tooltips_set_tip (tooltips, spinbutton12, _("Limit the total number of data (events, requests, errors, replies) to record (-1 means no limit)"), NULL);
697
698 label73 = gtk_label_new (_("Time (secs):"));
699 gtk_widget_show (label73);
700 gtk_table_attach (GTK_TABLE (table7), label73, 0, 1, 2, 3,
701 (GtkAttachOptions) (GTK_FILL),
702 (GtkAttachOptions) (0), 0, 0);
703 gtk_misc_set_alignment (GTK_MISC (label73), 0, 0.5);
704 gtk_misc_set_padding (GTK_MISC (label73), 4, 0);
705
706 spinbutton13_adj = gtk_adjustment_new (0, 0, 10000, 1, 10, 10);
707 spinbutton13 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton13_adj), 1, 0);
708 gtk_widget_show (spinbutton13);
709 gtk_table_attach (GTK_TABLE (table7), spinbutton13, 1, 2, 2, 3,
710 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
711 (GtkAttachOptions) (0), 0, 0);
712 gtk_tooltips_set_tip (tooltips, spinbutton13, _("Limit the time to record (NOT IMPLEMENTED YET!!!!)"), NULL);
713
714 vbox6 = gtk_vbox_new (FALSE, 0);
715 gtk_widget_show (vbox6);
716 gtk_box_pack_start (GTK_BOX (record_settings_box), vbox6, TRUE, TRUE, 0);
717 gtk_container_set_border_width (GTK_CONTAINER (vbox6), 4);
718
719 label20 = gtk_label_new (_("<b>Recordables</b>"));
720 gtk_widget_show (label20);
721 gtk_box_pack_start (GTK_BOX (vbox6), label20, FALSE, FALSE, 0);
722 gtk_label_set_use_markup (GTK_LABEL (label20), TRUE);
723 gtk_misc_set_alignment (GTK_MISC (label20), 0, 0);
724
725 record_recordables_box = gtk_vbox_new (FALSE, 4);
726 gtk_widget_show (record_recordables_box);
727 gtk_box_pack_start (GTK_BOX (vbox6), record_recordables_box, TRUE, TRUE, 0);
728 gtk_container_set_border_width (GTK_CONTAINER (record_recordables_box), 4);
729
730 hbox3 = gtk_hbox_new (FALSE, 0);
731 gtk_widget_show (hbox3);
732 gtk_box_pack_start (GTK_BOX (record_recordables_box), hbox3, FALSE, FALSE, 0);
733
734 event_group_combo = gtk_combo_new ();
735 g_object_set_data (G_OBJECT (GTK_COMBO (event_group_combo)->popwin),
736 "GladeParentKey", event_group_combo);
737 gtk_widget_show (event_group_combo);
738 gtk_box_pack_start (GTK_BOX (hbox3), event_group_combo, TRUE, TRUE, 0);
739
740 combo_label1 = GTK_COMBO (event_group_combo)->entry;
741 gtk_widget_show (combo_label1);
742 gtk_editable_set_editable (GTK_EDITABLE (combo_label1), FALSE);
743
744 recordable_listview_box = gtk_hbox_new (FALSE, 0);
745 gtk_widget_show (recordable_listview_box);
746 gtk_box_pack_start (GTK_BOX (record_recordables_box), recordable_listview_box, TRUE, TRUE, 0);
747
748 vbox10 = gtk_vbox_new (FALSE, 4);
749 gtk_widget_show (vbox10);
750 gtk_box_pack_start (GTK_BOX (recordable_listview_box), vbox10, TRUE, TRUE, 0);
751
752 label22 = gtk_label_new_with_mnemonic (_("Exclude:"));
753 gtk_widget_show (label22);
754 gtk_box_pack_start (GTK_BOX (vbox10), label22, FALSE, FALSE, 0);
755 gtk_misc_set_alignment (GTK_MISC (label22), 0, 0);
756
757 scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL);
758 gtk_widget_show (scrolledwindow4);
759 gtk_box_pack_start (GTK_BOX (vbox10), scrolledwindow4, TRUE, TRUE, 0);
760 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
761 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_SHADOW_IN);
762
763 exclude_list = gtk_tree_view_new ();
764 gtk_widget_show (exclude_list);
765 gtk_container_add (GTK_CONTAINER (scrolledwindow4), exclude_list);
766 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (exclude_list), FALSE);
767
768 vbuttonbox2 = gtk_vbutton_box_new ();
769 gtk_widget_show (vbuttonbox2);
770 gtk_box_pack_start (GTK_BOX (recordable_listview_box), vbuttonbox2, FALSE, FALSE, 16);
771 gtk_container_set_border_width (GTK_CONTAINER (vbuttonbox2), 4);
772 gtk_button_box_set_layout (GTK_BUTTON_BOX (vbuttonbox2), GTK_BUTTONBOX_END);
773
774 record_include_button = gtk_button_new ();
775 gtk_widget_show (record_include_button);
776 gtk_container_add (GTK_CONTAINER (vbuttonbox2), record_include_button);
777 GTK_WIDGET_SET_FLAGS (record_include_button, GTK_CAN_DEFAULT);
778
779 image3 = gtk_image_new_from_stock ("gtk-go-forward", GTK_ICON_SIZE_BUTTON);
780 gtk_widget_show (image3);
781 gtk_container_add (GTK_CONTAINER (record_include_button), image3);
782
783 record_exclude_button = gtk_button_new ();
784 gtk_widget_show (record_exclude_button);
785 gtk_container_add (GTK_CONTAINER (vbuttonbox2), record_exclude_button);
786 GTK_WIDGET_SET_FLAGS (record_exclude_button, GTK_CAN_DEFAULT);
787
788 image2 = gtk_image_new_from_stock ("gtk-go-back", GTK_ICON_SIZE_BUTTON);
789 gtk_widget_show (image2);
790 gtk_container_add (GTK_CONTAINER (record_exclude_button), image2);
791
792 vbox11 = gtk_vbox_new (FALSE, 4);
793 gtk_widget_show (vbox11);
794 gtk_box_pack_start (GTK_BOX (recordable_listview_box), vbox11, TRUE, TRUE, 0);
795
796 label23 = gtk_label_new_with_mnemonic (_("Include:"));
797 gtk_widget_show (label23);
798 gtk_box_pack_start (GTK_BOX (vbox11), label23, FALSE, FALSE, 0);
799 gtk_misc_set_alignment (GTK_MISC (label23), 0, 0);
800
801 scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL);
802 gtk_widget_show (scrolledwindow5);
803 gtk_box_pack_start (GTK_BOX (vbox11), scrolledwindow5, TRUE, TRUE, 0);
804 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
805 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_SHADOW_IN);
806
807 include_list = gtk_tree_view_new ();
808 gtk_widget_show (include_list);
809 gtk_container_add (GTK_CONTAINER (scrolledwindow5), include_list);
810 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (include_list), FALSE);
811
812 label1 = gtk_label_new (_("Record settings"));
813 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 1), label1);
814 gtk_widget_set_size_request (label1, -1, 8);
815
816 replay_settings_box = gtk_vbox_new (FALSE, 0);
817 gtk_widget_show (replay_settings_box);
818 gtk_container_add (GTK_CONTAINER (notebook), replay_settings_box);
819 gtk_container_set_border_width (GTK_CONTAINER (replay_settings_box), 4);
820
821 hbox23 = gtk_hbox_new (FALSE, 0);
822 gtk_widget_show (hbox23);
823 gtk_box_pack_start (GTK_BOX (replay_settings_box), hbox23, TRUE, TRUE, 0);
824 gtk_widget_set_size_request (hbox23, -1, 55);
825
826 replay_display_box = gtk_vbox_new (FALSE, 0);
827 gtk_widget_show (replay_display_box);
828 gtk_box_pack_start (GTK_BOX (hbox23), replay_display_box, TRUE, TRUE, 0);
829
830 hbox33 = gtk_hbox_new (FALSE, 0);
831 gtk_widget_show (hbox33);
832 gtk_box_pack_start (GTK_BOX (replay_display_box), hbox33, FALSE, FALSE, 0);
833
834 vbox25 = gtk_vbox_new (FALSE, 0);
835 gtk_widget_show (vbox25);
836 gtk_box_pack_start (GTK_BOX (hbox33), vbox25, TRUE, TRUE, 0);
837
838 label67 = gtk_label_new (_("<b>Display</b>"));
839 gtk_widget_show (label67);
840 gtk_box_pack_start (GTK_BOX (vbox25), label67, FALSE, FALSE, 0);
841 gtk_label_set_use_markup (GTK_LABEL (label67), TRUE);
842 gtk_misc_set_alignment (GTK_MISC (label67), 0, 0);
843
844 hbox26 = gtk_hbox_new (FALSE, 4);
845 gtk_widget_show (hbox26);
846 gtk_box_pack_start (GTK_BOX (vbox25), hbox26, FALSE, FALSE, 0);
847 gtk_container_set_border_width (GTK_CONTAINER (hbox26), 4);
848
849 rep_disp_cb = gtk_check_button_new_with_mnemonic (_("Replay to display:"));
850 gtk_widget_show (rep_disp_cb);
851 gtk_box_pack_start (GTK_BOX (hbox26), rep_disp_cb, FALSE, FALSE, 0);
852 gtk_tooltips_set_tip (tooltips, rep_disp_cb, _("Set the display to replay to (default localhost:0)"), NULL);
853
854 rep_disp_text = gtk_entry_new ();
855 gtk_widget_show (rep_disp_text);
856 gtk_box_pack_start (GTK_BOX (hbox26), rep_disp_text, TRUE, TRUE, 0);
857 gtk_tooltips_set_tip (tooltips, rep_disp_text, _("Set the display name to replay to"), NULL);
858
859 vbox32 = gtk_vbox_new (FALSE, 0);
860 gtk_widget_show (vbox32);
861 gtk_box_pack_start (GTK_BOX (hbox33), vbox32, TRUE, TRUE, 0);
862
863 label62 = gtk_label_new (_("<b>Various</b>"));
864 gtk_widget_show (label62);
865 gtk_box_pack_start (GTK_BOX (vbox32), label62, FALSE, FALSE, 0);
866 gtk_label_set_use_markup (GTK_LABEL (label62), TRUE);
867 gtk_misc_set_alignment (GTK_MISC (label62), 0, 0);
868
869 hbox24 = gtk_hbox_new (FALSE, 4);
870 gtk_widget_show (hbox24);
871 gtk_box_pack_start (GTK_BOX (vbox32), hbox24, TRUE, TRUE, 0);
872 gtk_container_set_border_width (GTK_CONTAINER (hbox24), 4);
873
874 speed_toggle = gtk_check_button_new_with_mnemonic (_("Replay with speed:"));
875 gtk_widget_show (speed_toggle);
876 gtk_box_pack_start (GTK_BOX (hbox24), speed_toggle, FALSE, FALSE, 0);
877 gtk_tooltips_set_tip (tooltips, speed_toggle, _("Enable replay speed"), NULL);
878
879 speed_spin_adj = gtk_adjustment_new (100, 0, 10000, 1, 10, 100);
880 speed_spin = gtk_spin_button_new (GTK_ADJUSTMENT (speed_spin_adj), 1, 0);
881 gtk_widget_show (speed_spin);
882 gtk_box_pack_start (GTK_BOX (hbox24), speed_spin, TRUE, TRUE, 0);
883 gtk_tooltips_set_tip (tooltips, speed_spin, _("Set replay speed (in percent)"), NULL);
884 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (speed_spin), TRUE);
885
886 new_win_check = gtk_check_button_new_with_mnemonic (_("New window adjustment"));
887 gtk_widget_show (new_win_check);
888 gtk_box_pack_start (GTK_BOX (vbox32), new_win_check, FALSE, FALSE, 0);
889 gtk_tooltips_set_tip (tooltips, new_win_check, _("Make sure windows pop up at the same position as when recorded"), NULL);
890
891 hbox36 = gtk_hbox_new (FALSE, 0);
892 gtk_widget_show (hbox36);
893 gtk_box_pack_start (GTK_BOX (vbox32), hbox36, FALSE, FALSE, 0);
894
895 checkbutton13 = gtk_check_button_new_with_mnemonic (_("X,Y offset"));
896 gtk_widget_show (checkbutton13);
897 gtk_box_pack_start (GTK_BOX (hbox36), checkbutton13, FALSE, FALSE, 0);
898 gtk_tooltips_set_tip (tooltips, checkbutton13, _("Enable replay speed"), NULL);
899
900 x_offs_spin_adj = gtk_adjustment_new (0, -20000, 20000, 1, 10, 100);
901 x_offs_spin = gtk_spin_button_new (GTK_ADJUSTMENT (x_offs_spin_adj), 1, 0);
902 gtk_widget_show (x_offs_spin);
903 gtk_box_pack_start (GTK_BOX (hbox36), x_offs_spin, TRUE, TRUE, 0);
904 gtk_tooltips_set_tip (tooltips, x_offs_spin, _("Set replay speed (in percent)"), NULL);
905 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (x_offs_spin), TRUE);
906
907 y_offs_spin_adj = gtk_adjustment_new (0, -20000, 20000, 1, 10, 100);
908 y_offs_spin = gtk_spin_button_new (GTK_ADJUSTMENT (y_offs_spin_adj), 1, 0);
909 gtk_widget_show (y_offs_spin);
910 gtk_box_pack_start (GTK_BOX (hbox36), y_offs_spin, TRUE, TRUE, 0);
911 gtk_tooltips_set_tip (tooltips, y_offs_spin, _("Set replay speed (in percent)"), NULL);
912 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (y_offs_spin), TRUE);
913
914 vbox29 = gtk_vbox_new (FALSE, 0);
915 gtk_widget_show (vbox29);
916 gtk_box_pack_start (GTK_BOX (replay_display_box), vbox29, TRUE, TRUE, 0);
917 gtk_widget_set_size_request (vbox29, -1, 13);
918 gtk_container_set_border_width (GTK_CONTAINER (vbox29), 4);
919 GTK_WIDGET_SET_FLAGS (vbox29, GTK_CAN_DEFAULT);
920
921 hbox31 = gtk_hbox_new (FALSE, 0);
922 gtk_widget_show (hbox31);
923 gtk_box_pack_start (GTK_BOX (vbox29), hbox31, TRUE, TRUE, 0);
924
925 label75 = gtk_label_new (_("<b>Replay from session file</b>"));
926 gtk_widget_show (label75);
927 gtk_box_pack_start (GTK_BOX (hbox31), label75, FALSE, FALSE, 0);
928 gtk_label_set_use_markup (GTK_LABEL (label75), TRUE);
929 gtk_misc_set_alignment (GTK_MISC (label75), 0, 0);
930
931 rep_file_text = gtk_entry_new ();
932 gtk_widget_show (rep_file_text);
933 gtk_box_pack_start (GTK_BOX (hbox31), rep_file_text, TRUE, TRUE, 0);
934 gtk_tooltips_set_tip (tooltips, rep_file_text, _("Set the file to use to read recorded data from"), NULL);
935 gtk_editable_set_editable (GTK_EDITABLE (rep_file_text), FALSE);
936
937 button11 = gtk_button_new_with_mnemonic (_("..."));
938 gtk_widget_show (button11);
939 gtk_box_pack_start (GTK_BOX (hbox31), button11, FALSE, FALSE, 0);
940 gtk_widget_set_size_request (button11, -1, 8);
941
942 spin_boxes = gtk_hbox_new (FALSE, 0);
943 gtk_widget_show (spin_boxes);
944 gtk_box_pack_start (GTK_BOX (replay_settings_box), spin_boxes, FALSE, FALSE, 0);
945
946 threshold_box = gtk_vbox_new (FALSE, 0);
947 gtk_widget_show (threshold_box);
948 gtk_box_pack_start (GTK_BOX (spin_boxes), threshold_box, TRUE, TRUE, 0);
949
950 threshold_label = gtk_label_new (_("<b>Thresholds</b>"));
951 gtk_widget_show (threshold_label);
952 gtk_box_pack_start (GTK_BOX (threshold_box), threshold_label, FALSE, FALSE, 0);
953 gtk_label_set_use_markup (GTK_LABEL (threshold_label), TRUE);
954 gtk_misc_set_alignment (GTK_MISC (threshold_label), 0, 0.5);
955
956 threshold_table = gtk_table_new (3, 2, FALSE);
957 gtk_widget_show (threshold_table);
958 gtk_box_pack_start (GTK_BOX (threshold_box), threshold_table, TRUE, TRUE, 0);
959
960 max_thresh_label = gtk_label_new (_("Maximum "));
961 gtk_widget_show (max_thresh_label);
962 gtk_table_attach (GTK_TABLE (threshold_table), max_thresh_label, 0, 1, 0, 1,
963 (GtkAttachOptions) (GTK_FILL),
964 (GtkAttachOptions) (0), 0, 0);
965 gtk_misc_set_alignment (GTK_MISC (max_thresh_label), 0, 0.5);
966
967 min_thresh_label = gtk_label_new (_("Minimum "));
968 gtk_widget_show (min_thresh_label);
969 gtk_table_attach (GTK_TABLE (threshold_table), min_thresh_label, 0, 1, 1, 2,
970 (GtkAttachOptions) (GTK_FILL),
971 (GtkAttachOptions) (0), 0, 0);
972 gtk_misc_set_alignment (GTK_MISC (min_thresh_label), 0, 0.5);
973
974 tot_thresh_label = gtk_label_new (_("Total "));
975 gtk_widget_show (tot_thresh_label);
976 gtk_table_attach (GTK_TABLE (threshold_table), tot_thresh_label, 0, 1, 2, 3,
977 (GtkAttachOptions) (GTK_FILL),
978 (GtkAttachOptions) (0), 0, 0);
979 gtk_misc_set_alignment (GTK_MISC (tot_thresh_label), 0, 0.5);
980
981 max_thresh_sb_adj = gtk_adjustment_new (1, 0, 1000, 1, 10, 10);
982 max_thresh_sb = gtk_spin_button_new (GTK_ADJUSTMENT (max_thresh_sb_adj), 1, 0);
983 gtk_widget_show (max_thresh_sb);
984 gtk_table_attach (GTK_TABLE (threshold_table), max_thresh_sb, 1, 2, 0, 1,
985 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
986 (GtkAttachOptions) (0), 0, 0);
987
988 min_thresh_sb_adj = gtk_adjustment_new (1, -1000, 1000, 1, 10, 10);
989 min_thresh_sb = gtk_spin_button_new (GTK_ADJUSTMENT (min_thresh_sb_adj), 1, 0);
990 gtk_widget_show (min_thresh_sb);
991 gtk_table_attach (GTK_TABLE (threshold_table), min_thresh_sb, 1, 2, 1, 2,
992 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
993 (GtkAttachOptions) (0), 0, 0);
994
995 tot_thresh_sb_adj = gtk_adjustment_new (1, 0, 1000, 1, 10, 10);
996 tot_thresh_sb = gtk_spin_button_new (GTK_ADJUSTMENT (tot_thresh_sb_adj), 1, 0);
997 gtk_widget_show (tot_thresh_sb);
998 gtk_table_attach (GTK_TABLE (threshold_table), tot_thresh_sb, 1, 2, 2, 3,
999 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1000 (GtkAttachOptions) (0), 0, 0);
1001
1002 vbox22 = gtk_vbox_new (FALSE, 0);
1003 gtk_widget_show (vbox22);
1004 gtk_box_pack_start (GTK_BOX (spin_boxes), vbox22, TRUE, TRUE, 0);
1005
1006 replay_error_handling_box = gtk_vbox_new (FALSE, 0);
1007 gtk_widget_show (replay_error_handling_box);
1008 gtk_box_pack_start (GTK_BOX (vbox22), replay_error_handling_box, TRUE, TRUE, 0);
1009
1010 label18 = gtk_label_new (_("<b>Synchronisation handling</b>"));
1011 gtk_widget_show (label18);
1012 gtk_box_pack_start (GTK_BOX (replay_error_handling_box), label18, FALSE, FALSE, 0);
1013 gtk_label_set_use_markup (GTK_LABEL (label18), TRUE);
1014 gtk_misc_set_alignment (GTK_MISC (label18), 0, 0);
1015
1016 skip_sync_cb = gtk_check_button_new_with_mnemonic (_("Use synchronisation"));
1017 gtk_widget_show (skip_sync_cb);
1018 gtk_box_pack_start (GTK_BOX (replay_error_handling_box), skip_sync_cb, FALSE, FALSE, 0);
1019 gtk_container_set_border_width (GTK_CONTAINER (skip_sync_cb), 4);
1020 gtk_tooltips_set_tip (tooltips, skip_sync_cb, _("Synchronisation is used to make sure that the replaying is in sync with the recorded session (read the manual)"), NULL);
1021
1022 force_rep_cb = gtk_check_button_new_with_mnemonic (_("Force replay even when not synchronized"));
1023 gtk_widget_show (force_rep_cb);
1024 gtk_box_pack_start (GTK_BOX (replay_error_handling_box), force_rep_cb, FALSE, FALSE, 0);
1025 gtk_container_set_border_width (GTK_CONTAINER (force_rep_cb), 4);
1026 gtk_tooltips_set_tip (tooltips, force_rep_cb, _("If Xnee considers the replaying to be out of sync you can force Xnee to continue anyway"), NULL);
1027
1028 vbox12 = gtk_vbox_new (FALSE, 0);
1029 gtk_widget_show (vbox12);
1030 gtk_box_pack_start (GTK_BOX (replay_settings_box), vbox12, TRUE, TRUE, 0);
1031
1032 label24 = gtk_label_new (_("<b>Replay file</b>"));
1033 gtk_widget_show (label24);
1034 gtk_box_pack_start (GTK_BOX (vbox12), label24, FALSE, FALSE, 0);
1035 gtk_label_set_use_markup (GTK_LABEL (label24), TRUE);
1036 gtk_misc_set_alignment (GTK_MISC (label24), 0, 0);
1037
1038 replay_files_box = gtk_hbox_new (FALSE, 0);
1039 gtk_widget_show (replay_files_box);
1040 gtk_box_pack_start (GTK_BOX (vbox12), replay_files_box, TRUE, TRUE, 0);
1041 gtk_container_set_border_width (GTK_CONTAINER (replay_files_box), 4);
1042
1043 scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL);
1044 gtk_widget_show (scrolledwindow6);
1045 gtk_box_pack_start (GTK_BOX (replay_files_box), scrolledwindow6, TRUE, TRUE, 0);
1046 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
1047 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_SHADOW_IN);
1048
1049 treeview3 = gtk_tree_view_new ();
1050 gtk_widget_show (treeview3);
1051 gtk_container_add (GTK_CONTAINER (scrolledwindow6), treeview3);
1052 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview3), FALSE);
1053
1054 vbuttonbox3 = gtk_vbutton_box_new ();
1055 gtk_widget_show (vbuttonbox3);
1056 gtk_box_pack_start (GTK_BOX (replay_files_box), vbuttonbox3, FALSE, FALSE, 0);
1057 gtk_container_set_border_width (GTK_CONTAINER (vbuttonbox3), 4);
1058 gtk_button_box_set_layout (GTK_BUTTON_BOX (vbuttonbox3), GTK_BUTTONBOX_START);
1059
1060 button3 = gtk_button_new_from_stock ("gtk-delete");
1061 gtk_widget_show (button3);
1062 gtk_container_add (GTK_CONTAINER (vbuttonbox3), button3);
1063 GTK_WIDGET_SET_FLAGS (button3, GTK_CAN_DEFAULT);
1064
1065 label2 = gtk_label_new (_("Replay settings"));
1066 gtk_widget_show (label2);
1067 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 2), label2);
1068
1069 km_table = gtk_table_new (6, 3, FALSE);
1070 gtk_widget_show (km_table);
1071 gtk_container_add (GTK_CONTAINER (notebook), km_table);
1072
1073 label32 = gtk_label_new (_("Stop"));
1074 gtk_widget_show (label32);
1075 gtk_table_attach (GTK_TABLE (km_table), label32, 0, 1, 1, 2,
1076 (GtkAttachOptions) (GTK_FILL),
1077 (GtkAttachOptions) (0), 0, 0);
1078 gtk_label_set_use_markup (GTK_LABEL (label32), TRUE);
1079 gtk_misc_set_alignment (GTK_MISC (label32), 0, 0.5);
1080
1081 label33 = gtk_label_new (_("<b>Action</b>"));
1082 gtk_widget_show (label33);
1083 gtk_table_attach (GTK_TABLE (km_table), label33, 0, 1, 0, 1,
1084 (GtkAttachOptions) (GTK_FILL),
1085 (GtkAttachOptions) (0), 0, 0);
1086 gtk_label_set_use_markup (GTK_LABEL (label33), TRUE);
1087 gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5);
1088
1089 label36 = gtk_label_new (_("Pause"));
1090 gtk_widget_show (label36);
1091 gtk_table_attach (GTK_TABLE (km_table), label36, 0, 1, 2, 3,
1092 (GtkAttachOptions) (GTK_FILL),
1093 (GtkAttachOptions) (0), 0, 0);
1094 gtk_label_set_use_markup (GTK_LABEL (label36), TRUE);
1095 gtk_misc_set_alignment (GTK_MISC (label36), 0, 0.5);
1096
1097 label37 = gtk_label_new (_("Resume"));
1098 gtk_widget_show (label37);
1099 gtk_table_attach (GTK_TABLE (km_table), label37, 0, 1, 3, 4,
1100 (GtkAttachOptions) (GTK_FILL),
1101 (GtkAttachOptions) (0), 0, 0);
1102 gtk_label_set_use_markup (GTK_LABEL (label37), TRUE);
1103 gtk_misc_set_alignment (GTK_MISC (label37), 0, 0.5);
1104
1105 label38 = gtk_label_new (_("Mark"));
1106 gtk_widget_show (label38);
1107 gtk_table_attach (GTK_TABLE (km_table), label38, 0, 1, 4, 5,
1108 (GtkAttachOptions) (GTK_FILL),
1109 (GtkAttachOptions) (0), 0, 0);
1110 gtk_label_set_use_markup (GTK_LABEL (label38), TRUE);
1111 gtk_misc_set_alignment (GTK_MISC (label38), 0, 0.5);
1112
1113 label39 = gtk_label_new (_("Execution"));
1114 gtk_widget_show (label39);
1115 gtk_table_attach (GTK_TABLE (km_table), label39, 0, 1, 5, 6,
1116 (GtkAttachOptions) (GTK_FILL),
1117 (GtkAttachOptions) (0), 0, 0);
1118 gtk_label_set_use_markup (GTK_LABEL (label39), TRUE);
1119 gtk_misc_set_alignment (GTK_MISC (label39), 0, 0.5);
1120
1121 label35 = gtk_label_new (_("<b>Key</b>"));
1122 gtk_widget_show (label35);
1123 gtk_table_attach (GTK_TABLE (km_table), label35, 1, 2, 0, 1,
1124 (GtkAttachOptions) (GTK_FILL),
1125 (GtkAttachOptions) (0), 0, 0);
1126 gtk_widget_set_size_request (label35, 20, -1);
1127 gtk_label_set_use_markup (GTK_LABEL (label35), TRUE);
1128 gtk_misc_set_alignment (GTK_MISC (label35), 0, 0.5);
1129
1130 combo7 = gtk_combo_new ();
1131 g_object_set_data (G_OBJECT (GTK_COMBO (combo7)->popwin),
1132 "GladeParentKey", combo7);
1133 gtk_widget_show (combo7);
1134 gtk_table_attach (GTK_TABLE (km_table), combo7, 1, 2, 2, 3,
1135 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1136 (GtkAttachOptions) (0), 0, 0);
1137
1138 pause_k_combo = GTK_COMBO (combo7)->entry;
1139 gtk_widget_show (pause_k_combo);
1140 gtk_tooltips_set_tip (tooltips, pause_k_combo, _("Set the pause key"), NULL);
1141
1142 combo8 = gtk_combo_new ();
1143 g_object_set_data (G_OBJECT (GTK_COMBO (combo8)->popwin),
1144 "GladeParentKey", combo8);
1145 gtk_widget_show (combo8);
1146 gtk_table_attach (GTK_TABLE (km_table), combo8, 1, 2, 3, 4,
1147 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1148 (GtkAttachOptions) (0), 0, 0);
1149
1150 resume_k_combo = GTK_COMBO (combo8)->entry;
1151 gtk_widget_show (resume_k_combo);
1152 gtk_tooltips_set_tip (tooltips, resume_k_combo, _("Set the resume key"), NULL);
1153
1154 combo9 = gtk_combo_new ();
1155 g_object_set_data (G_OBJECT (GTK_COMBO (combo9)->popwin),
1156 "GladeParentKey", combo9);
1157 gtk_widget_show (combo9);
1158 gtk_table_attach (GTK_TABLE (km_table), combo9, 1, 2, 4, 5,
1159 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1160 (GtkAttachOptions) (0), 0, 0);
1161
1162 mark_k_combo = GTK_COMBO (combo9)->entry;
1163 gtk_widget_show (mark_k_combo);
1164 gtk_tooltips_set_tip (tooltips, mark_k_combo, _("Set the insert mark key "), NULL);
1165
1166 combo10 = gtk_combo_new ();
1167 g_object_set_data (G_OBJECT (GTK_COMBO (combo10)->popwin),
1168 "GladeParentKey", combo10);
1169 gtk_widget_show (combo10);
1170 gtk_table_attach (GTK_TABLE (km_table), combo10, 1, 2, 5, 6,
1171 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1172 (GtkAttachOptions) (0), 0, 0);
1173
1174 exec_k_combo = GTK_COMBO (combo10)->entry;
1175 gtk_widget_show (exec_k_combo);
1176 gtk_tooltips_set_tip (tooltips, exec_k_combo, _("Set the exec key"), NULL);
1177
1178 combo2 = gtk_combo_new ();
1179 g_object_set_data (G_OBJECT (GTK_COMBO (combo2)->popwin),
1180 "GladeParentKey", combo2);
1181 gtk_widget_show (combo2);
1182 gtk_table_attach (GTK_TABLE (km_table), combo2, 1, 2, 1, 2,
1183 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1184 (GtkAttachOptions) (0), 0, 0);
1185
1186 stop_k_combo = GTK_COMBO (combo2)->entry;
1187 gtk_widget_show (stop_k_combo);
1188 gtk_tooltips_set_tip (tooltips, stop_k_combo, _("Set the stop key"), NULL);
1189
1190 label80 = gtk_label_new (_("<b>Extra parameter</b>"));
1191 gtk_widget_show (label80);
1192 gtk_table_attach (GTK_TABLE (km_table), label80, 2, 3, 0, 1,
1193 (GtkAttachOptions) (GTK_FILL),
1194 (GtkAttachOptions) (0), 0, 0);
1195 gtk_label_set_use_markup (GTK_LABEL (label80), TRUE);
1196 gtk_misc_set_alignment (GTK_MISC (label80), 0, 0.5);
1197
1198 hbox35 = gtk_hbox_new (FALSE, 0);
1199 gtk_widget_show (hbox35);
1200 gtk_table_attach (GTK_TABLE (km_table), hbox35, 2, 3, 5, 6,
1201 (GtkAttachOptions) (GTK_FILL),
1202 (GtkAttachOptions) (GTK_FILL), 0, 0);
1203
1204 label81 = gtk_label_new (_("Execute string:"));
1205 gtk_widget_show (label81);
1206 gtk_box_pack_start (GTK_BOX (hbox35), label81, FALSE, FALSE, 0);
1207
1208 entry1 = gtk_entry_new ();
1209 gtk_widget_show (entry1);
1210 gtk_box_pack_start (GTK_BOX (hbox35), entry1, TRUE, TRUE, 0);
1211
1212 label82 = gtk_label_new (_("Unused"));
1213 gtk_widget_show (label82);
1214 gtk_table_attach (GTK_TABLE (km_table), label82, 2, 3, 1, 2,
1215 (GtkAttachOptions) (GTK_FILL),
1216 (GtkAttachOptions) (0), 0, 0);
1217 gtk_misc_set_alignment (GTK_MISC (label82), 0, 0.5);
1218
1219 label83 = gtk_label_new (_("Unused"));
1220 gtk_widget_show (label83);
1221 gtk_table_attach (GTK_TABLE (km_table), label83, 2, 3, 2, 3,
1222 (GtkAttachOptions) (GTK_FILL),
1223 (GtkAttachOptions) (0), 0, 0);
1224 gtk_misc_set_alignment (GTK_MISC (label83), 0, 0.5);
1225
1226 label84 = gtk_label_new (_("Unused"));
1227 gtk_widget_show (label84);
1228 gtk_table_attach (GTK_TABLE (km_table), label84, 2, 3, 3, 4,
1229 (GtkAttachOptions) (GTK_FILL),
1230 (GtkAttachOptions) (0), 0, 0);
1231 gtk_misc_set_alignment (GTK_MISC (label84), 0, 0.5);
1232
1233 label85 = gtk_label_new (_("Unused"));
1234 gtk_widget_show (label85);
1235 gtk_table_attach (GTK_TABLE (km_table), label85, 2, 3, 4, 5,
1236 (GtkAttachOptions) (GTK_FILL),
1237 (GtkAttachOptions) (0), 0, 0);
1238 gtk_misc_set_alignment (GTK_MISC (label85), 0, 0.5);
1239
1240 keymodifierpane = gtk_label_new (_("Key bindings"));
1241 gtk_widget_show (keymodifierpane);
1242 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 3), keymodifierpane);
1243
1244 label74 = gtk_label_new (_("Only automatic resolution adjustment in this release of gnee.... \nwhich is what you would probably use anyway :)"));
1245 gtk_widget_show (label74);
1246 gtk_container_add (GTK_CONTAINER (notebook), label74);
1247
1248 resolution = gtk_label_new (_("Resolution"));
1249 gtk_widget_show (resolution);
1250 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 4), resolution);
1251
1252 label78 = gtk_label_new (_("No project stuff in this release\n.... but one fine day"));
1253 gtk_widget_show (label78);
1254 gtk_container_add (GTK_CONTAINER (notebook), label78);
1255
1256 project_tab = gtk_label_new (_("Project"));
1257 gtk_widget_show (project_tab);
1258 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 5), project_tab);
1259
1260 g_signal_connect_swapped ((gpointer) gnee_window, "destroy",
1261 G_CALLBACK (on_gnee_window_destroy),
1262 GTK_OBJECT (gnee_window));
1263 g_signal_connect ((gpointer) new1, "activate",
1264 G_CALLBACK (on_new1_activate),
1265 NULL);
1266 g_signal_connect ((gpointer) open1, "activate",
1267 G_CALLBACK (on_open1_activate),
1268 NULL);
1269 g_signal_connect ((gpointer) save1, "activate",
1270 G_CALLBACK (on_save1_activate),
1271 NULL);
1272 g_signal_connect ((gpointer) save_as1, "activate",
1273 G_CALLBACK (on_save_as1_activate),
1274 NULL);
1275 g_signal_connect ((gpointer) quit1, "activate",
1276 G_CALLBACK (on_quit1_activate),
1277 NULL);
1278 g_signal_connect ((gpointer) log_window, "activate",
1279 G_CALLBACK (on_log_window_activate),
1280 NULL);
1281 g_signal_connect_swapped ((gpointer) about1, "activate",
1282 G_CALLBACK (on_about1_activate),
1283 GTK_OBJECT (gnee_window));
1284 g_signal_connect ((gpointer) open2_button, "clicked",
1285 G_CALLBACK (on_open_button_clicked),
1286 NULL);
1287 g_signal_connect ((gpointer) save2_button, "clicked",
1288 G_CALLBACK (on_save_button_clicked),
1289 NULL);
1290 g_signal_connect_swapped ((gpointer) record2_button, "clicked",
1291 G_CALLBACK (on_record),
1292 GTK_OBJECT (gnee_window));
1293 g_signal_connect_swapped ((gpointer) replay2_button, "clicked",
1294 G_CALLBACK (on_replay),
1295 GTK_OBJECT (gnee_window));
1296 g_signal_connect_swapped ((gpointer) verbose_logging_checkbox, "toggled",
1297 G_CALLBACK (on_verbose_logging_checkbox_toggled),
1298 GTK_OBJECT (verbose_logging_checkbox));
1299 g_signal_connect_swapped ((gpointer) wait_checkbox, "toggled",
1300 G_CALLBACK (on_wait_checkbox_toggled),
1301 GTK_OBJECT (wait_checkbox));
1302 g_signal_connect_swapped ((gpointer) wait_spinbutton, "change_value",
1303 G_CALLBACK (gtk_main_quit),
1304 GTK_OBJECT (wait_spinbutton));
1305 g_signal_connect_swapped ((gpointer) wait_spinbutton, "changed",
1306 G_CALLBACK (on_wait_spinbutton_change_value),
1307 GTK_OBJECT (wait_spinbutton));
1308 g_signal_connect_swapped ((gpointer) no_fb_b, "toggled",
1309 G_CALLBACK (on_no_fb_b_toggled),
1310 GTK_OBJECT (no_fb_b));
1311 g_signal_connect_swapped ((gpointer) xosd_fb_b, "toggled",
1312 G_CALLBACK (on_xosd_fb_b_toggled),
1313 GTK_OBJECT (xosd_fb_b));
1314 g_signal_connect_swapped ((gpointer) stderr_fb_b, "toggled",
1315 G_CALLBACK (on_stderr_fb_b_toggled),
1316 GTK_OBJECT (stderr_fb_b));
1317 g_signal_connect ((gpointer) record_settings_box, "map",
1318 G_CALLBACK (on_record_settings_box_map),
1319 NULL);
1320 g_signal_connect_swapped ((gpointer) checkbutton10, "toggled",
1321 G_CALLBACK (on_checkbutton10_toggled),
1322 GTK_OBJECT (checkbutton10));
1323 g_signal_connect_swapped ((gpointer) rec_disp_text, "changed",
1324 G_CALLBACK (on_rec_disp_text_changed),
1325 GTK_OBJECT (rec_disp_text));
1326 g_signal_connect_swapped ((gpointer) rec_file_sel, "clicked",
1327 G_CALLBACK (on_rec_file_sel_clicked),
1328 GTK_OBJECT (gnee_window));
1329 g_signal_connect_swapped ((gpointer) radiobutton1, "toggled",
1330 G_CALLBACK (on_radiobutton1_toggled),
1331 GTK_OBJECT (radiobutton1));
1332 g_signal_connect_swapped ((gpointer) radiobutton2, "toggled",
1333 G_CALLBACK (on_radiobutton2_toggled),
1334 GTK_OBJECT (radiobutton2));
1335 g_signal_connect_swapped ((gpointer) xnee_format_rb, "toggled",
1336 G_CALLBACK (on_xnee_format_rb_toggled),
1337 GTK_OBJECT (xnee_format_rb));
1338 g_signal_connect_swapped ((gpointer) human_format_rb, "toggled",
1339 G_CALLBACK (on_human_format_rb_toggled),
1340 GTK_OBJECT (human_format_rb));
1341 g_signal_connect_swapped ((gpointer) spinbutton11, "value_changed",
1342 G_CALLBACK (on_spinbutton11_change_value),
1343 GTK_OBJECT (spinbutton11));
1344 g_signal_connect_swapped ((gpointer) spinbutton12, "value_changed",
1345 G_CALLBACK (on_spinbutton12_change_value),
1346 GTK_OBJECT (spinbutton12));
1347 g_signal_connect_swapped ((gpointer) spinbutton13, "value_changed",
1348 G_CALLBACK (on_spinbutton13_change_value),
1349 GTK_OBJECT (spinbutton13));
1350 g_signal_connect_swapped ((gpointer) combo_label1, "changed",
1351 G_CALLBACK (on_combo_label1_changed),
1352 GTK_OBJECT (gnee_window));
1353 g_signal_connect_swapped ((gpointer) exclude_list, "row_activated",
1354 G_CALLBACK (on_exclude_list_row_activated),
1355 GTK_OBJECT (gnee_window));
1356 g_signal_connect_swapped ((gpointer) record_include_button, "clicked",
1357 G_CALLBACK (on_record_include_button_clicked),
1358 GTK_OBJECT (gnee_window));
1359 g_signal_connect_swapped ((gpointer) record_exclude_button, "clicked",
1360 G_CALLBACK (on_record_exclude_button_clicked),
1361 GTK_OBJECT (gnee_window));
1362 g_signal_connect_swapped ((gpointer) include_list, "row_activated",
1363 G_CALLBACK (on_include_list_row_activated),
1364 GTK_OBJECT (gnee_window));
1365 g_signal_connect ((gpointer) replay_settings_box, "map",
1366 G_CALLBACK (on_replay_settings_box_map),
1367 NULL);
1368 g_signal_connect_swapped ((gpointer) rep_disp_cb, "toggled",
1369 G_CALLBACK (on_rep_disp_cb_toggled),
1370 GTK_OBJECT (rep_disp_cb));
1371 g_signal_connect_swapped ((gpointer) rep_disp_text, "changed",
1372 G_CALLBACK (on_rep_disp_text_changed),
1373 GTK_OBJECT (gnee_window));
1374 g_signal_connect ((gpointer) speed_toggle, "toggled",
1375 G_CALLBACK (on_speed_toggle_toggled),
1376 NULL);
1377 g_signal_connect_swapped ((gpointer) speed_spin, "value_changed",
1378 G_CALLBACK (on_speed_spin_change_value),
1379 GTK_OBJECT (speed_spin));
1380 g_signal_connect ((gpointer) new_win_check, "toggled",
1381 G_CALLBACK (on_new_win_check_toggled),
1382 NULL);
1383 g_signal_connect ((gpointer) checkbutton13, "toggled",
1384 G_CALLBACK (on_offset_toggle_toggled),
1385 NULL);
1386 g_signal_connect_swapped ((gpointer) x_offs_spin, "value_changed",
1387 G_CALLBACK (on_x_offs_spin_changed),
1388 GTK_OBJECT (x_offs_spin));
1389 g_signal_connect_swapped ((gpointer) y_offs_spin, "value_changed",
1390 G_CALLBACK (on_y_offs_spin_changed),
1391 GTK_OBJECT (y_offs_spin));
1392 g_signal_connect_swapped ((gpointer) button11, "clicked",
1393 G_CALLBACK (on_button11_clicked),
1394 GTK_OBJECT (gnee_window));
1395 g_signal_connect_swapped ((gpointer) max_thresh_sb, "value_changed",
1396 G_CALLBACK (on_max_thresh_sb_value_changed),
1397 GTK_OBJECT (max_thresh_sb));
1398 g_signal_connect_swapped ((gpointer) min_thresh_sb, "value_changed",
1399 G_CALLBACK (on_min_thresh_sb_value_changed),
1400 GTK_OBJECT (min_thresh_sb));
1401 g_signal_connect_swapped ((gpointer) tot_thresh_sb, "value_changed",
1402 G_CALLBACK (on_tot_thresh_sb_value_changed),
1403 GTK_OBJECT (tot_thresh_sb));
1404 g_signal_connect_swapped ((gpointer) skip_sync_cb, "toggled",
1405 G_CALLBACK (on_skip_sync_cb_toggled),
1406 GTK_OBJECT (skip_sync_cb));
1407 g_signal_connect_swapped ((gpointer) force_rep_cb, "toggled",
1408 G_CALLBACK (on_force_rep_cb_toggled),
1409 GTK_OBJECT (force_rep_cb));
1410 g_signal_connect_swapped ((gpointer) pause_k_combo, "changed",
1411 G_CALLBACK (on_pause_k_combo_changed),
1412 GTK_OBJECT (gnee_window));
1413 g_signal_connect_swapped ((gpointer) resume_k_combo, "changed",
1414 G_CALLBACK (on_resume_k_combo_changed),
1415 GTK_OBJECT (gnee_window));
1416 g_signal_connect_swapped ((gpointer) mark_k_combo, "changed",
1417 G_CALLBACK (on_mark_k_combo_changed),
1418 GTK_OBJECT (gnee_window));
1419 g_signal_connect_swapped ((gpointer) exec_k_combo, "changed",
1420 G_CALLBACK (on_exec_k_combo_changed),
1421 GTK_OBJECT (gnee_window));
1422 g_signal_connect_swapped ((gpointer) stop_k_combo, "changed",
1423 G_CALLBACK (on_stop_k_combo_changed),
1424 GTK_OBJECT (gnee_window));
1425
1426 /* Store pointers to all widgets, for use by lookup_widget(). */
1427 GLADE_HOOKUP_OBJECT_NO_REF (gnee_window, gnee_window, "gnee_window");
1428 GLADE_HOOKUP_OBJECT (gnee_window, vbox1, "vbox1");
1429 GLADE_HOOKUP_OBJECT (gnee_window, menubar1, "menubar1");
1430 GLADE_HOOKUP_OBJECT (gnee_window, menuitem1, "menuitem1");
1431 GLADE_HOOKUP_OBJECT (gnee_window, menuitem1_menu, "menuitem1_menu");
1432 GLADE_HOOKUP_OBJECT (gnee_window, new1, "new1");
1433 GLADE_HOOKUP_OBJECT (gnee_window, open1, "open1");
1434 GLADE_HOOKUP_OBJECT (gnee_window, save1, "save1");
1435 GLADE_HOOKUP_OBJECT (gnee_window, save_as1, "save_as1");
1436 GLADE_HOOKUP_OBJECT (gnee_window, separatormenuitem1, "separatormenuitem1");
1437 GLADE_HOOKUP_OBJECT (gnee_window, quit1, "quit1");
1438 GLADE_HOOKUP_OBJECT (gnee_window, menuitem3, "menuitem3");
1439 GLADE_HOOKUP_OBJECT (gnee_window, menuitem3_menu, "menuitem3_menu");
1440 GLADE_HOOKUP_OBJECT (gnee_window, log_window, "log_window");
1441 GLADE_HOOKUP_OBJECT (gnee_window, menuitem4, "menuitem4");
1442 GLADE_HOOKUP_OBJECT (gnee_window, menuitem4_menu, "menuitem4_menu");
1443 GLADE_HOOKUP_OBJECT (gnee_window, about1, "about1");
1444 GLADE_HOOKUP_OBJECT (gnee_window, hbox34, "hbox34");
1445 GLADE_HOOKUP_OBJECT (gnee_window, new2_button, "new2_button");
1446 GLADE_HOOKUP_OBJECT (gnee_window, open2_button, "open2_button");
1447 GLADE_HOOKUP_OBJECT (gnee_window, save2_button, "save2_button");
1448 GLADE_HOOKUP_OBJECT (gnee_window, record2_button, "record2_button");
1449 GLADE_HOOKUP_OBJECT (gnee_window, replay2_button, "replay2_button");
1450 GLADE_HOOKUP_OBJECT (gnee_window, stop2_button, "stop2_button");
1451 GLADE_HOOKUP_OBJECT (gnee_window, notebook, "notebook");
1452 GLADE_HOOKUP_OBJECT (gnee_window, general_settings_box, "general_settings_box");
1453 GLADE_HOOKUP_OBJECT (gnee_window, hbox21, "hbox21");
1454 GLADE_HOOKUP_OBJECT (gnee_window, log_settings_box, "log_settings_box");
1455 GLADE_HOOKUP_OBJECT (gnee_window, label14, "label14");
1456 GLADE_HOOKUP_OBJECT (gnee_window, verbose_logging_box, "verbose_logging_box");
1457 GLADE_HOOKUP_OBJECT (gnee_window, verbose_logging_checkbox, "verbose_logging_checkbox");
1458 GLADE_HOOKUP_OBJECT (gnee_window, time_settings_box, "time_settings_box");
1459 GLADE_HOOKUP_OBJECT (gnee_window, label11, "label11");
1460 GLADE_HOOKUP_OBJECT (gnee_window, timeout_box, "timeout_box");
1461 GLADE_HOOKUP_OBJECT (gnee_window, wait_checkbox, "wait_checkbox");
1462 GLADE_HOOKUP_OBJECT (gnee_window, wait_spinbutton, "wait_spinbutton");
1463 GLADE_HOOKUP_OBJECT (gnee_window, vbox16, "vbox16");
1464 GLADE_HOOKUP_OBJECT (gnee_window, feedback_label, "feedback_label");
1465 GLADE_HOOKUP_OBJECT (gnee_window, no_fb_b, "no_fb_b");
1466 GLADE_HOOKUP_OBJECT (gnee_window, xosd_fb_b, "xosd_fb_b");
1467 GLADE_HOOKUP_OBJECT (gnee_window, stderr_fb_b, "stderr_fb_b");
1468 GLADE_HOOKUP_OBJECT (gnee_window, distribution_settings_box, "distribution_settings_box");
1469 GLADE_HOOKUP_OBJECT (gnee_window, label13, "label13");
1470 GLADE_HOOKUP_OBJECT (gnee_window, distribution_list_box, "distribution_list_box");
1471 GLADE_HOOKUP_OBJECT (gnee_window, vbox4, "vbox4");
1472 GLADE_HOOKUP_OBJECT (gnee_window, hbox6, "hbox6");
1473 GLADE_HOOKUP_OBJECT (gnee_window, distr_displ_label, "distr_displ_label");
1474 GLADE_HOOKUP_OBJECT (gnee_window, distribute_display_entry, "distribute_display_entry");
1475 GLADE_HOOKUP_OBJECT (gnee_window, scrolledwindow3, "scrolledwindow3");
1476 GLADE_HOOKUP_OBJECT (gnee_window, distribution_list_view, "distribution_list_view");
1477 GLADE_HOOKUP_OBJECT (gnee_window, vbuttonbox1, "vbuttonbox1");
1478 GLADE_HOOKUP_OBJECT (gnee_window, add_to_distribution_list_butotn, "add_to_distribution_list_butotn");
1479 GLADE_HOOKUP_OBJECT (gnee_window, remove_from_distribution_list_button, "remove_from_distribution_list_button");
1480 GLADE_HOOKUP_OBJECT (gnee_window, hbox12, "hbox12");
1481 GLADE_HOOKUP_OBJECT (gnee_window, distribute_when_recording_checkbox, "distribute_when_recording_checkbox");
1482 GLADE_HOOKUP_OBJECT (gnee_window, label6, "label6");
1483 GLADE_HOOKUP_OBJECT (gnee_window, vbox20, "vbox20");
1484 GLADE_HOOKUP_OBJECT (gnee_window, record_settings_box, "record_settings_box");
1485 GLADE_HOOKUP_OBJECT (gnee_window, vbox30, "vbox30");
1486 GLADE_HOOKUP_OBJECT (gnee_window, label76, "label76");
1487 GLADE_HOOKUP_OBJECT (gnee_window, hbox32, "hbox32");
1488 GLADE_HOOKUP_OBJECT (gnee_window, checkbutton10, "checkbutton10");
1489 GLADE_HOOKUP_OBJECT (gnee_window, rec_disp_text, "rec_disp_text");
1490 GLADE_HOOKUP_OBJECT (gnee_window, repl_file_box, "repl_file_box");
1491 GLADE_HOOKUP_OBJECT (gnee_window, label61, "label61");
1492 GLADE_HOOKUP_OBJECT (gnee_window, hbox30, "hbox30");
1493 GLADE_HOOKUP_OBJECT (gnee_window, rec_file_text, "rec_file_text");
1494 GLADE_HOOKUP_OBJECT (gnee_window, rec_file_sel, "rec_file_sel");
1495 GLADE_HOOKUP_OBJECT (gnee_window, table1, "table1");
1496 GLADE_HOOKUP_OBJECT (gnee_window, vbox8, "vbox8");
1497 GLADE_HOOKUP_OBJECT (gnee_window, label21, "label21");
1498 GLADE_HOOKUP_OBJECT (gnee_window, record_clients_box, "record_clients_box");
1499 GLADE_HOOKUP_OBJECT (gnee_window, radiobutton1, "radiobutton1");
1500 GLADE_HOOKUP_OBJECT (gnee_window, radiobutton2, "radiobutton2");
1501 GLADE_HOOKUP_OBJECT (gnee_window, printout_box, "printout_box");
1502 GLADE_HOOKUP_OBJECT (gnee_window, printout_label, "printout_label");
1503 GLADE_HOOKUP_OBJECT (gnee_window, xnee_format_rb, "xnee_format_rb");
1504 GLADE_HOOKUP_OBJECT (gnee_window, human_format_rb, "human_format_rb");
1505 GLADE_HOOKUP_OBJECT (gnee_window, vbox27, "vbox27");
1506 GLADE_HOOKUP_OBJECT (gnee_window, label70, "label70");
1507 GLADE_HOOKUP_OBJECT (gnee_window, vbox28, "vbox28");
1508 GLADE_HOOKUP_OBJECT (gnee_window, table7, "table7");
1509 GLADE_HOOKUP_OBJECT (gnee_window, label71, "label71");
1510 GLADE_HOOKUP_OBJECT (gnee_window, spinbutton11, "spinbutton11");
1511 GLADE_HOOKUP_OBJECT (gnee_window, label72, "label72");
1512 GLADE_HOOKUP_OBJECT (gnee_window, spinbutton12, "spinbutton12");
1513 GLADE_HOOKUP_OBJECT (gnee_window, label73, "label73");
1514 GLADE_HOOKUP_OBJECT (gnee_window, spinbutton13, "spinbutton13");
1515 GLADE_HOOKUP_OBJECT (gnee_window, vbox6, "vbox6");
1516 GLADE_HOOKUP_OBJECT (gnee_window, label20, "label20");
1517 GLADE_HOOKUP_OBJECT (gnee_window, record_recordables_box, "record_recordables_box");
1518 GLADE_HOOKUP_OBJECT (gnee_window, hbox3, "hbox3");
1519 GLADE_HOOKUP_OBJECT (gnee_window, event_group_combo, "event_group_combo");
1520 GLADE_HOOKUP_OBJECT (gnee_window, combo_label1, "combo_label1");
1521 GLADE_HOOKUP_OBJECT (gnee_window, recordable_listview_box, "recordable_listview_box");
1522 GLADE_HOOKUP_OBJECT (gnee_window, vbox10, "vbox10");
1523 GLADE_HOOKUP_OBJECT (gnee_window, label22, "label22");
1524 GLADE_HOOKUP_OBJECT (gnee_window, scrolledwindow4, "scrolledwindow4");
1525 GLADE_HOOKUP_OBJECT (gnee_window, exclude_list, "exclude_list");
1526 GLADE_HOOKUP_OBJECT (gnee_window, vbuttonbox2, "vbuttonbox2");
1527 GLADE_HOOKUP_OBJECT (gnee_window, record_include_button, "record_include_button");
1528 GLADE_HOOKUP_OBJECT (gnee_window, image3, "image3");
1529 GLADE_HOOKUP_OBJECT (gnee_window, record_exclude_button, "record_exclude_button");
1530 GLADE_HOOKUP_OBJECT (gnee_window, image2, "image2");
1531 GLADE_HOOKUP_OBJECT (gnee_window, vbox11, "vbox11");
1532 GLADE_HOOKUP_OBJECT (gnee_window, label23, "label23");
1533 GLADE_HOOKUP_OBJECT (gnee_window, scrolledwindow5, "scrolledwindow5");
1534 GLADE_HOOKUP_OBJECT (gnee_window, include_list, "include_list");
1535 GLADE_HOOKUP_OBJECT (gnee_window, label1, "label1");
1536 GLADE_HOOKUP_OBJECT (gnee_window, replay_settings_box, "replay_settings_box");
1537 GLADE_HOOKUP_OBJECT (gnee_window, hbox23, "hbox23");
1538 GLADE_HOOKUP_OBJECT (gnee_window, replay_display_box, "replay_display_box");
1539 GLADE_HOOKUP_OBJECT (gnee_window, hbox33, "hbox33");
1540 GLADE_HOOKUP_OBJECT (gnee_window, vbox25, "vbox25");
1541 GLADE_HOOKUP_OBJECT (gnee_window, label67, "label67");
1542 GLADE_HOOKUP_OBJECT (gnee_window, hbox26, "hbox26");
1543 GLADE_HOOKUP_OBJECT (gnee_window, rep_disp_cb, "rep_disp_cb");
1544 GLADE_HOOKUP_OBJECT (gnee_window, rep_disp_text, "rep_disp_text");
1545 GLADE_HOOKUP_OBJECT (gnee_window, vbox32, "vbox32");
1546 GLADE_HOOKUP_OBJECT (gnee_window, label62, "label62");
1547 GLADE_HOOKUP_OBJECT (gnee_window, hbox24, "hbox24");
1548 GLADE_HOOKUP_OBJECT (gnee_window, speed_toggle, "speed_toggle");
1549 GLADE_HOOKUP_OBJECT (gnee_window, speed_spin, "speed_spin");
1550 GLADE_HOOKUP_OBJECT (gnee_window, new_win_check, "new_win_check");
1551 GLADE_HOOKUP_OBJECT (gnee_window, hbox36, "hbox36");
1552 GLADE_HOOKUP_OBJECT (gnee_window, checkbutton13, "checkbutton13");
1553 GLADE_HOOKUP_OBJECT (gnee_window, x_offs_spin, "x_offs_spin");
1554 GLADE_HOOKUP_OBJECT (gnee_window, y_offs_spin, "y_offs_spin");
1555 GLADE_HOOKUP_OBJECT (gnee_window, vbox29, "vbox29");
1556 GLADE_HOOKUP_OBJECT (gnee_window, hbox31, "hbox31");
1557 GLADE_HOOKUP_OBJECT (gnee_window, label75, "label75");
1558 GLADE_HOOKUP_OBJECT (gnee_window, rep_file_text, "rep_file_text");
1559 GLADE_HOOKUP_OBJECT (gnee_window, button11, "button11");
1560 GLADE_HOOKUP_OBJECT (gnee_window, spin_boxes, "spin_boxes");
1561 GLADE_HOOKUP_OBJECT (gnee_window, threshold_box, "threshold_box");
1562 GLADE_HOOKUP_OBJECT (gnee_window, threshold_label, "threshold_label");
1563 GLADE_HOOKUP_OBJECT (gnee_window, threshold_table, "threshold_table");
1564 GLADE_HOOKUP_OBJECT (gnee_window, max_thresh_label, "max_thresh_label");
1565 GLADE_HOOKUP_OBJECT (gnee_window, min_thresh_label, "min_thresh_label");
1566 GLADE_HOOKUP_OBJECT (gnee_window, tot_thresh_label, "tot_thresh_label");
1567 GLADE_HOOKUP_OBJECT (gnee_window, max_thresh_sb, "max_thresh_sb");
1568 GLADE_HOOKUP_OBJECT (gnee_window, min_thresh_sb, "min_thresh_sb");
1569 GLADE_HOOKUP_OBJECT (gnee_window, tot_thresh_sb, "tot_thresh_sb");
1570 GLADE_HOOKUP_OBJECT (gnee_window, vbox22, "vbox22");
1571 GLADE_HOOKUP_OBJECT (gnee_window, replay_error_handling_box, "replay_error_handling_box");
1572 GLADE_HOOKUP_OBJECT (gnee_window, label18, "label18");
1573 GLADE_HOOKUP_OBJECT (gnee_window, skip_sync_cb, "skip_sync_cb");
1574 GLADE_HOOKUP_OBJECT (gnee_window, force_rep_cb, "force_rep_cb");
1575 GLADE_HOOKUP_OBJECT (gnee_window, vbox12, "vbox12");
1576 GLADE_HOOKUP_OBJECT (gnee_window, label24, "label24");
1577 GLADE_HOOKUP_OBJECT (gnee_window, replay_files_box, "replay_files_box");
1578 GLADE_HOOKUP_OBJECT (gnee_window, scrolledwindow6, "scrolledwindow6");
1579 GLADE_HOOKUP_OBJECT (gnee_window, treeview3, "treeview3");
1580 GLADE_HOOKUP_OBJECT (gnee_window, vbuttonbox3, "vbuttonbox3");
1581 GLADE_HOOKUP_OBJECT (gnee_window, button3, "button3");
1582 GLADE_HOOKUP_OBJECT (gnee_window, label2, "label2");
1583 GLADE_HOOKUP_OBJECT (gnee_window, km_table, "km_table");
1584 GLADE_HOOKUP_OBJECT (gnee_window, label32, "label32");
1585 GLADE_HOOKUP_OBJECT (gnee_window, label33, "label33");
1586 GLADE_HOOKUP_OBJECT (gnee_window, label36, "label36");
1587 GLADE_HOOKUP_OBJECT (gnee_window, label37, "label37");
1588 GLADE_HOOKUP_OBJECT (gnee_window, label38, "label38");
1589 GLADE_HOOKUP_OBJECT (gnee_window, label39, "label39");
1590 GLADE_HOOKUP_OBJECT (gnee_window, label35, "label35");
1591 GLADE_HOOKUP_OBJECT (gnee_window, combo7, "combo7");
1592 GLADE_HOOKUP_OBJECT (gnee_window, pause_k_combo, "pause_k_combo");
1593 GLADE_HOOKUP_OBJECT (gnee_window, combo8, "combo8");
1594 GLADE_HOOKUP_OBJECT (gnee_window, resume_k_combo, "resume_k_combo");
1595 GLADE_HOOKUP_OBJECT (gnee_window, combo9, "combo9");
1596 GLADE_HOOKUP_OBJECT (gnee_window, mark_k_combo, "mark_k_combo");
1597 GLADE_HOOKUP_OBJECT (gnee_window, combo10, "combo10");
1598 GLADE_HOOKUP_OBJECT (gnee_window, exec_k_combo, "exec_k_combo");
1599 GLADE_HOOKUP_OBJECT (gnee_window, combo2, "combo2");
1600 GLADE_HOOKUP_OBJECT (gnee_window, stop_k_combo, "stop_k_combo");
1601 GLADE_HOOKUP_OBJECT (gnee_window, label80, "label80");
1602 GLADE_HOOKUP_OBJECT (gnee_window, hbox35, "hbox35");
1603 GLADE_HOOKUP_OBJECT (gnee_window, label81, "label81");
1604 GLADE_HOOKUP_OBJECT (gnee_window, entry1, "entry1");
1605 GLADE_HOOKUP_OBJECT (gnee_window, label82, "label82");
1606 GLADE_HOOKUP_OBJECT (gnee_window, label83, "label83");
1607 GLADE_HOOKUP_OBJECT (gnee_window, label84, "label84");
1608 GLADE_HOOKUP_OBJECT (gnee_window, label85, "label85");
1609 GLADE_HOOKUP_OBJECT (gnee_window, keymodifierpane, "keymodifierpane");
1610 GLADE_HOOKUP_OBJECT (gnee_window, label74, "label74");
1611 GLADE_HOOKUP_OBJECT (gnee_window, resolution, "resolution");
1612 GLADE_HOOKUP_OBJECT (gnee_window, label78, "label78");
1613 GLADE_HOOKUP_OBJECT (gnee_window, project_tab, "project_tab");
1614 GLADE_HOOKUP_OBJECT_NO_REF (gnee_window, tooltips, "tooltips");
1615
1616 gtk_window_add_accel_group (GTK_WINDOW (gnee_window), accel_group);
1617
1618 return gnee_window;
1619 }
1620
1621 GtkWidget*
create_fileselection1(void)1622 create_fileselection1 (void)
1623 {
1624 GtkWidget *fileselection1;
1625 GtkWidget *ok_button1;
1626 GtkWidget *cancel_button1;
1627
1628 fileselection1 = gtk_file_selection_new (_("Select File"));
1629 gtk_container_set_border_width (GTK_CONTAINER (fileselection1), 10);
1630 gtk_window_set_type_hint (GTK_WINDOW (fileselection1), GDK_WINDOW_TYPE_HINT_DIALOG);
1631
1632 ok_button1 = GTK_FILE_SELECTION (fileselection1)->ok_button;
1633 gtk_widget_show (ok_button1);
1634 GTK_WIDGET_SET_FLAGS (ok_button1, GTK_CAN_DEFAULT);
1635
1636 cancel_button1 = GTK_FILE_SELECTION (fileselection1)->cancel_button;
1637 gtk_widget_show (cancel_button1);
1638 GTK_WIDGET_SET_FLAGS (cancel_button1, GTK_CAN_DEFAULT);
1639
1640 g_signal_connect ((gpointer) ok_button1, "clicked",
1641 G_CALLBACK (on_ok_button1_clicked),
1642 NULL);
1643 g_signal_connect ((gpointer) cancel_button1, "clicked",
1644 G_CALLBACK (on_cancel_button1_clicked),
1645 NULL);
1646
1647 /* Store pointers to all widgets, for use by lookup_widget(). */
1648 GLADE_HOOKUP_OBJECT_NO_REF (fileselection1, fileselection1, "fileselection1");
1649 GLADE_HOOKUP_OBJECT_NO_REF (fileselection1, ok_button1, "ok_button1");
1650 GLADE_HOOKUP_OBJECT_NO_REF (fileselection1, cancel_button1, "cancel_button1");
1651
1652 return fileselection1;
1653 }
1654
1655 GtkWidget*
create_dialog1(void)1656 create_dialog1 (void)
1657 {
1658 GtkWidget *dialog1;
1659 GtkWidget *dialog_vbox2;
1660 GtkWidget *vbox17;
1661 GtkWidget *err_label;
1662 GtkWidget *table5;
1663 GtkWidget *label43;
1664 GtkWidget *label44;
1665 GtkWidget *descr_label;
1666 GtkWidget *solu_label;
1667 GtkWidget *label47;
1668 GtkWidget *err_nr_label;
1669 GtkWidget *dialog_action_area2;
1670 GtkWidget *okbutton2;
1671
1672 dialog1 = gtk_dialog_new ();
1673 gtk_window_set_title (GTK_WINDOW (dialog1), _("Gnee error"));
1674 gtk_window_set_type_hint (GTK_WINDOW (dialog1), GDK_WINDOW_TYPE_HINT_DIALOG);
1675
1676 dialog_vbox2 = GTK_DIALOG (dialog1)->vbox;
1677 gtk_widget_show (dialog_vbox2);
1678
1679 vbox17 = gtk_vbox_new (FALSE, 0);
1680 gtk_widget_show (vbox17);
1681 gtk_box_pack_start (GTK_BOX (dialog_vbox2), vbox17, TRUE, TRUE, 0);
1682
1683 err_label = gtk_label_new (_("\n<b>gnee error</b>\n"));
1684 gtk_widget_show (err_label);
1685 gtk_box_pack_start (GTK_BOX (vbox17), err_label, FALSE, FALSE, 0);
1686 gtk_label_set_use_markup (GTK_LABEL (err_label), TRUE);
1687
1688 table5 = gtk_table_new (3, 2, FALSE);
1689 gtk_widget_show (table5);
1690 gtk_box_pack_start (GTK_BOX (vbox17), table5, FALSE, FALSE, 0);
1691
1692 label43 = gtk_label_new (_("<b>Description</b>"));
1693 gtk_widget_show (label43);
1694 gtk_table_attach (GTK_TABLE (table5), label43, 0, 1, 0, 1,
1695 (GtkAttachOptions) (GTK_FILL),
1696 (GtkAttachOptions) (0), 0, 0);
1697 gtk_label_set_use_markup (GTK_LABEL (label43), TRUE);
1698 gtk_misc_set_alignment (GTK_MISC (label43), 0, 0.5);
1699 gtk_misc_set_padding (GTK_MISC (label43), 6, 0);
1700
1701 label44 = gtk_label_new (_("<b>Solution</b>"));
1702 gtk_widget_show (label44);
1703 gtk_table_attach (GTK_TABLE (table5), label44, 0, 1, 1, 2,
1704 (GtkAttachOptions) (GTK_FILL),
1705 (GtkAttachOptions) (0), 0, 0);
1706 gtk_label_set_use_markup (GTK_LABEL (label44), TRUE);
1707 gtk_misc_set_alignment (GTK_MISC (label44), 0, 0.5);
1708 gtk_misc_set_padding (GTK_MISC (label44), 6, 0);
1709
1710 descr_label = gtk_label_new (_("none"));
1711 gtk_widget_show (descr_label);
1712 gtk_table_attach (GTK_TABLE (table5), descr_label, 1, 2, 0, 1,
1713 (GtkAttachOptions) (GTK_FILL),
1714 (GtkAttachOptions) (0), 0, 0);
1715 gtk_misc_set_alignment (GTK_MISC (descr_label), 0, 0.5);
1716
1717 solu_label = gtk_label_new (_("none"));
1718 gtk_widget_show (solu_label);
1719 gtk_table_attach (GTK_TABLE (table5), solu_label, 1, 2, 1, 2,
1720 (GtkAttachOptions) (GTK_FILL),
1721 (GtkAttachOptions) (0), 0, 0);
1722 gtk_misc_set_alignment (GTK_MISC (solu_label), 0, 0.5);
1723
1724 label47 = gtk_label_new (_("<b>Number</b>"));
1725 gtk_widget_show (label47);
1726 gtk_table_attach (GTK_TABLE (table5), label47, 0, 1, 2, 3,
1727 (GtkAttachOptions) (GTK_FILL),
1728 (GtkAttachOptions) (0), 0, 0);
1729 gtk_label_set_use_markup (GTK_LABEL (label47), TRUE);
1730 gtk_misc_set_alignment (GTK_MISC (label47), 0, 0.5);
1731 gtk_misc_set_padding (GTK_MISC (label47), 6, 0);
1732
1733 err_nr_label = gtk_label_new (_("none"));
1734 gtk_widget_show (err_nr_label);
1735 gtk_table_attach (GTK_TABLE (table5), err_nr_label, 1, 2, 2, 3,
1736 (GtkAttachOptions) (GTK_FILL),
1737 (GtkAttachOptions) (0), 0, 0);
1738 gtk_misc_set_alignment (GTK_MISC (err_nr_label), 0, 0.5);
1739
1740 dialog_action_area2 = GTK_DIALOG (dialog1)->action_area;
1741 gtk_widget_show (dialog_action_area2);
1742 gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area2), GTK_BUTTONBOX_END);
1743
1744 okbutton2 = gtk_button_new_from_stock ("gtk-ok");
1745 gtk_widget_show (okbutton2);
1746 gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), okbutton2, GTK_RESPONSE_OK);
1747 GTK_WIDGET_SET_FLAGS (okbutton2, GTK_CAN_DEFAULT);
1748
1749 g_signal_connect ((gpointer) okbutton2, "clicked",
1750 G_CALLBACK (on_okbutton2_clicked),
1751 NULL);
1752
1753 /* Store pointers to all widgets, for use by lookup_widget(). */
1754 GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog1, "dialog1");
1755 GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_vbox2, "dialog_vbox2");
1756 GLADE_HOOKUP_OBJECT (dialog1, vbox17, "vbox17");
1757 GLADE_HOOKUP_OBJECT (dialog1, err_label, "err_label");
1758 GLADE_HOOKUP_OBJECT (dialog1, table5, "table5");
1759 GLADE_HOOKUP_OBJECT (dialog1, label43, "label43");
1760 GLADE_HOOKUP_OBJECT (dialog1, label44, "label44");
1761 GLADE_HOOKUP_OBJECT (dialog1, descr_label, "descr_label");
1762 GLADE_HOOKUP_OBJECT (dialog1, solu_label, "solu_label");
1763 GLADE_HOOKUP_OBJECT (dialog1, label47, "label47");
1764 GLADE_HOOKUP_OBJECT (dialog1, err_nr_label, "err_nr_label");
1765 GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_action_area2, "dialog_action_area2");
1766 GLADE_HOOKUP_OBJECT (dialog1, okbutton2, "okbutton2");
1767
1768 return dialog1;
1769 }
1770
1771 GtkWidget*
create_gnee_about(void)1772 create_gnee_about (void)
1773 {
1774 GtkWidget *gnee_about;
1775 const gchar *authors[] = {
1776 "Henrik Sandklef <hesa@gnu.org>",
1777 "Jon-Erling Dahl <joda@gadgeteer.nu>",
1778 NULL
1779 };
1780 const gchar *documenters[] = {
1781 "None, interested in joing? ",
1782 "Send an email to xnee-devel@gnu.org",
1783 NULL
1784 };
1785 const gchar *artists[] = {
1786 "Luis Santander",
1787 NULL
1788 };
1789 /* TRANSLATORS: Replace this string with your names, one name per line. */
1790 gchar *translators = "None, interested in joing? \nSend an email to xnee-devel@gnu.org";
1791 GdkPixbuf *gnee_about_logo_pixbuf;
1792
1793 gnee_about = gtk_about_dialog_new ();
1794 gtk_window_set_destroy_with_parent (GTK_WINDOW (gnee_about), TRUE);
1795 gtk_about_dialog_set_version (GTK_ABOUT_DIALOG (gnee_about), VERSION);
1796 gtk_about_dialog_set_name (GTK_ABOUT_DIALOG (gnee_about), _("Gnee"));
1797 gtk_about_dialog_set_copyright (GTK_ABOUT_DIALOG (gnee_about), _("\302\2512003,2004,2005,2006 \nHenrik Sandklef, Jon-Erling Dahl\n\302\2512006 Luis Santander"));
1798 gtk_about_dialog_set_comments (GTK_ABOUT_DIALOG (gnee_about), _("Gnee is the GUI frontend for GNU Xnee"));
1799 gtk_about_dialog_set_license (GTK_ABOUT_DIALOG (gnee_about), _(" GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n <one line to give the program's name and a brief idea of what it does.>\n Copyright (C) <year> <name of author>\n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see <http://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n <program> Copyright (C) <year> <name of author>\n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n<http://www.gnu.org/licenses/>.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n<http://www.gnu.org/philosophy/why-not-lgpl.html>.\n\n\n\n GNU LESSER GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\n This version of the GNU Lesser General Public License incorporates\nthe terms and conditions of version 3 of the GNU General Public\nLicense, supplemented by the additional permissions listed below.\n\n 0. Additional Definitions. \n\n As used herein, \"this License\" refers to version 3 of the GNU Lesser\nGeneral Public License, and the \"GNU GPL\" refers to version 3 of the GNU\nGeneral Public License.\n\n \"The Library\" refers to a covered work governed by this License,\nother than an Application or a Combined Work as defined below.\n\n An \"Application\" is any work that makes use of an interface provided\nby the Library, but which is not otherwise based on the Library.\nDefining a subclass of a class defined by the Library is deemed a mode\nof using an interface provided by the Library.\n\n A \"Combined Work\" is a work produced by combining or linking an\nApplication with the Library. The particular version of the Library\nwith which the Combined Work was made is also called the \"Linked\nVersion\".\n\n The \"Minimal Corresponding Source\" for a Combined Work means the\nCorresponding Source for the Combined Work, excluding any source code\nfor portions of the Combined Work that, considered in isolation, are\nbased on the Application, and not on the Linked Version.\n\n The \"Corresponding Application Code\" for a Combined Work means the\nobject code and/or source code for the Application, including any data\nand utility programs needed for reproducing the Combined Work from the\nApplication, but excluding the System Libraries of the Combined Work.\n\n 1. Exception to Section 3 of the GNU GPL.\n\n You may convey a covered work under sections 3 and 4 of this License\nwithout being bound by section 3 of the GNU GPL.\n\n 2. Conveying Modified Versions.\n\n If you modify a copy of the Library, and, in your modifications, a\nfacility refers to a function or data to be supplied by an Application\nthat uses the facility (other than as an argument passed when the\nfacility is invoked), then you may convey a copy of the modified\nversion:\n\n a) under this License, provided that you make a good faith effort to\n ensure that, in the event an Application does not supply the\n function or data, the facility still operates, and performs\n whatever part of its purpose remains meaningful, or\n\n b) under the GNU GPL, with none of the additional permissions of\n this License applicable to that copy.\n\n 3. Object Code Incorporating Material from Library Header Files.\n\n The object code form of an Application may incorporate material from\na header file that is part of the Library. You may convey such object\ncode under terms of your choice, provided that, if the incorporated\nmaterial is not limited to numerical parameters, data structure\nlayouts and accessors, or small macros, inline functions and templates\n(ten or fewer lines in length), you do both of the following:\n\n a) Give prominent notice with each copy of the object code that the\n Library is used in it and that the Library and its use are\n covered by this License.\n\n b) Accompany the object code with a copy of the GNU GPL and this license\n document.\n\n 4. Combined Works.\n\n You may convey a Combined Work under terms of your choice that,\ntaken together, effectively do not restrict modification of the\nportions of the Library contained in the Combined Work and reverse\nengineering for debugging such modifications, if you also do each of\nthe following:\n\n a) Give prominent notice with each copy of the Combined Work that\n the Library is used in it and that the Library and its use are\n covered by this License.\n\n b) Accompany the Combined Work with a copy of the GNU GPL and this license\n document.\n\n c) For a Combined Work that displays copyright notices during\n execution, include the copyright notice for the Library among\n these notices, as well as a reference directing the user to the\n copies of the GNU GPL and this license document.\n\n d) Do one of the following:\n\n 0) Convey the Minimal Corresponding Source under the terms of this\n License, and the Corresponding Application Code in a form\n suitable for, and under terms that permit, the user to\n recombine or relink the Application with a modified version of\n the Linked Version to produce a modified Combined Work, in the\n manner specified by section 6 of the GNU GPL for conveying\n Corresponding Source.\n\n 1) Use a suitable shared library mechanism for linking with the\n Library. A suitable mechanism is one that (a) uses at run time\n a copy of the Library already present on the user's computer\n system, and (b) will operate properly with a modified version\n of the Library that is interface-compatible with the Linked\n Version. \n\n e) Provide Installation Information, but only if you would otherwise\n be required to provide such information under section 6 of the\n GNU GPL, and only to the extent that such information is\n necessary to install and execute a modified version of the\n Combined Work produced by recombining or relinking the\n Application with a modified version of the Linked Version. (If\n you use option 4d0, the Installation Information must accompany\n the Minimal Corresponding Source and Corresponding Application\n Code. If you use option 4d1, you must provide the Installation\n Information in the manner specified by section 6 of the GNU GPL\n for conveying Corresponding Source.)\n\n 5. Combined Libraries.\n\n You may place library facilities that are a work based on the\nLibrary side by side in a single library together with other library\nfacilities that are not Applications and are not covered by this\nLicense, and convey such a combined library under terms of your\nchoice, if you do both of the following:\n\n a) Accompany the combined library with a copy of the same work based\n on the Library, uncombined with any other library facilities,\n conveyed under the terms of this License.\n\n b) Give prominent notice with the combined library that part of it\n is a work based on the Library, and explaining where to find the\n accompanying uncombined form of the same work.\n\n 6. Revised Versions of the GNU Lesser General Public License.\n\n The Free Software Foundation may publish revised and/or new versions\nof the GNU Lesser General Public License from time to time. Such new\nversions will be similar in spirit to the present version, but may\ndiffer in detail to address new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nLibrary as you received it specifies that a certain numbered version\nof the GNU Lesser General Public License \"or any later version\"\napplies to it, you have the option of following the terms and\nconditions either of that published version or of any later version\npublished by the Free Software Foundation. If the Library as you\nreceived it does not specify a version number of the GNU Lesser\nGeneral Public License, you may choose any version of the GNU Lesser\nGeneral Public License ever published by the Free Software Foundation.\n\n If the Library as you received it specifies that a proxy can decide\nwhether future versions of the GNU Lesser General Public License shall\napply, that proxy's public statement of acceptance of any version is\npermanent authorization for you to choose that version for the\nLibrary.\n"));
1800 gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (gnee_about), "www.gnu.org/software/xnee");
1801 gtk_about_dialog_set_authors (GTK_ABOUT_DIALOG (gnee_about), authors);
1802 gtk_about_dialog_set_documenters (GTK_ABOUT_DIALOG (gnee_about), documenters);
1803 gtk_about_dialog_set_artists (GTK_ABOUT_DIALOG (gnee_about), artists);
1804 gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG (gnee_about), translators);
1805 gnee_about_logo_pixbuf = create_pixbuf ("xnee.xpm");
1806 gtk_about_dialog_set_logo (GTK_ABOUT_DIALOG (gnee_about), gnee_about_logo_pixbuf);
1807
1808 g_signal_connect_swapped ((gpointer) gnee_about, "response",
1809 G_CALLBACK (on_gnee_about_response),
1810 GTK_OBJECT (gnee_about));
1811
1812 /* Store pointers to all widgets, for use by lookup_widget(). */
1813 GLADE_HOOKUP_OBJECT_NO_REF (gnee_about, gnee_about, "gnee_about");
1814
1815 return gnee_about;
1816 }
1817
1818