Adding support for writing zlib compressed set files and fixing audio
[terminatorX.git] / src / tX_glade_interface.cc
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 "tX_glade_callbacks.h"
19 #include "tX_glade_interface.h"
20 #include "tX_glade_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*
30 create_tx_options (void)
31 {
32   GtkWidget *tx_options;
33   GtkWidget *dialog_vbox1;
34   GtkWidget *notebook1;
35   GtkWidget *table4;
36   GtkWidget *label18;
37   GtkWidget *hbox2;
38   GtkWidget *oss_driver;
39   GSList *oss_driver_group = NULL;
40   GtkWidget *alsa_driver;
41   GtkWidget *jack_driver;
42   GtkWidget *label1;
43   GtkWidget *table5;
44   GtkWidget *label21;
45   GtkWidget *label22;
46   GtkWidget *label23;
47   GtkWidget *label24;
48   GtkWidget *oss_audio_device;
49   GtkWidget *combo_entry2;
50   GtkObject *oss_buffers_adj;
51   GtkWidget *oss_buffers;
52   GtkWidget *oss_buffersize;
53   GtkWidget *oss_samplerate;
54   GtkWidget *combo_entry3;
55   GtkWidget *label15;
56   GtkWidget *table6;
57   GtkWidget *label27;
58   GtkWidget *label29;
59   GtkWidget *label30;
60   GtkWidget *alsa_audio_device;
61   GtkWidget *combo_entry4;
62   GtkWidget *alsa_samplerate;
63   GtkWidget *combo_entry5;
64   GtkWidget *alsa_period_time;
65   GtkWidget *label32;
66   GtkWidget *alsa_buffer_time;
67   GtkWidget *label16;
68   GtkWidget *table1;
69   GtkWidget *label5;
70   GtkWidget *label6;
71   GtkWidget *label7;
72   GtkWidget *xinput_device;
73   GtkWidget *combo_entry1;
74   GtkWidget *mouse_speed;
75   GtkWidget *stop_sense_cycles;
76   GtkWidget *label25;
77   GtkWidget *xinput_enable;
78   GtkWidget *label4;
79   GtkWidget *table2;
80   GtkWidget *label8;
81   GtkWidget *label9;
82   GtkWidget *label10;
83   GtkWidget *label11;
84   GtkWidget *mainwin_tooltips;
85   GtkWidget *update_idle;
86   GtkWidget *update_delay;
87   GtkWidget *vumeter_decay;
88   GtkWidget *label14;
89   GtkWidget *startup_nagbox;
90   GtkWidget *label12;
91   GtkWidget *hbox1;
92   GtkWidget *buttons_text_and_icon;
93   GSList *buttons_text_and_icon_group = NULL;
94   GtkWidget *buttons_icon_only;
95   GtkWidget *buttons_text_only;
96   GtkWidget *label2;
97   GtkWidget *table3;
98   GtkWidget *label13;
99   GtkWidget *soundfile_editor;
100   GtkWidget *label26;
101   GtkWidget *prelisten_enabled;
102   GtkWidget *label31;
103   GtkWidget *ladspa_rdf_path;
104   GtkWidget *label33;
105   GtkWidget *compress_set_files;
106   GtkWidget *label3;
107   GtkWidget *dialog_action_area1;
108   GtkWidget *pref_cancel;
109   GtkWidget *pref_apply;
110   GtkWidget *pref_ok;
111   GtkTooltips *tooltips;
112
113   tooltips = gtk_tooltips_new ();
114
115   tx_options = gtk_dialog_new ();
116   gtk_window_set_title (GTK_WINDOW (tx_options), "terminatorX: Preferences");
117
118   dialog_vbox1 = GTK_DIALOG (tx_options)->vbox;
119   gtk_widget_show (dialog_vbox1);
120
121   notebook1 = gtk_notebook_new ();
122   gtk_widget_show (notebook1);
123   gtk_box_pack_start (GTK_BOX (dialog_vbox1), notebook1, TRUE, TRUE, 0);
124
125   table4 = gtk_table_new (1, 2, FALSE);
126   gtk_widget_show (table4);
127   gtk_container_add (GTK_CONTAINER (notebook1), table4);
128   gtk_container_set_border_width (GTK_CONTAINER (table4), 4);
129   gtk_table_set_row_spacings (GTK_TABLE (table4), 2);
130   gtk_table_set_col_spacings (GTK_TABLE (table4), 2);
131
132   label18 = gtk_label_new ("Use Driver:");
133   gtk_widget_show (label18);
134   gtk_table_attach (GTK_TABLE (table4), label18, 0, 1, 0, 1,
135                     (GtkAttachOptions) (GTK_FILL),
136                     (GtkAttachOptions) (0), 0, 0);
137   gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_LEFT);
138   gtk_misc_set_alignment (GTK_MISC (label18), 0, 0.5);
139
140   hbox2 = gtk_hbox_new (FALSE, 5);
141   gtk_widget_show (hbox2);
142   gtk_table_attach (GTK_TABLE (table4), hbox2, 1, 2, 0, 1,
143                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
144                     (GtkAttachOptions) (GTK_FILL), 0, 0);
145
146   oss_driver = gtk_radio_button_new_with_mnemonic (NULL, "OSS");
147   gtk_widget_show (oss_driver);
148   gtk_box_pack_start (GTK_BOX (hbox2), oss_driver, FALSE, FALSE, 0);
149   gtk_tooltips_set_tip (tooltips, oss_driver, "Use the OSS (Open Sound System) driver for audio output.", NULL);
150   gtk_radio_button_set_group (GTK_RADIO_BUTTON (oss_driver), oss_driver_group);
151   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (oss_driver));
152
153   alsa_driver = gtk_radio_button_new_with_mnemonic (NULL, "ALSA");
154   gtk_widget_show (alsa_driver);
155   gtk_box_pack_start (GTK_BOX (hbox2), alsa_driver, FALSE, FALSE, 0);
156   gtk_tooltips_set_tip (tooltips, alsa_driver, "Use the ALSA (Advanced Linux Sound System) driver for audio output.", NULL);
157   gtk_radio_button_set_group (GTK_RADIO_BUTTON (alsa_driver), oss_driver_group);
158   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (alsa_driver));
159
160   jack_driver = gtk_radio_button_new_with_mnemonic (NULL, "JACK");
161   gtk_widget_show (jack_driver);
162   gtk_box_pack_start (GTK_BOX (hbox2), jack_driver, FALSE, FALSE, 0);
163   gtk_tooltips_set_tip (tooltips, jack_driver, "Use the JACK (JACK Audio Connection Kit) driver for audio output.", NULL);
164   gtk_radio_button_set_group (GTK_RADIO_BUTTON (jack_driver), oss_driver_group);
165   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (jack_driver));
166
167   label1 = gtk_label_new ("Audio");
168   gtk_widget_show (label1);
169   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label1);
170   gtk_label_set_justify (GTK_LABEL (label1), GTK_JUSTIFY_LEFT);
171
172   table5 = gtk_table_new (4, 2, FALSE);
173   gtk_widget_show (table5);
174   gtk_container_add (GTK_CONTAINER (notebook1), table5);
175   gtk_container_set_border_width (GTK_CONTAINER (table5), 4);
176   gtk_table_set_row_spacings (GTK_TABLE (table5), 2);
177   gtk_table_set_col_spacings (GTK_TABLE (table5), 2);
178
179   label21 = gtk_label_new ("Audio Device:");
180   gtk_widget_show (label21);
181   gtk_table_attach (GTK_TABLE (table5), label21, 0, 1, 0, 1,
182                     (GtkAttachOptions) (GTK_FILL),
183                     (GtkAttachOptions) (0), 0, 0);
184   gtk_label_set_justify (GTK_LABEL (label21), GTK_JUSTIFY_LEFT);
185   gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5);
186
187   label22 = gtk_label_new ("No. of Buffers:");
188   gtk_widget_show (label22);
189   gtk_table_attach (GTK_TABLE (table5), label22, 0, 1, 1, 2,
190                     (GtkAttachOptions) (GTK_FILL),
191                     (GtkAttachOptions) (0), 0, 0);
192   gtk_label_set_justify (GTK_LABEL (label22), GTK_JUSTIFY_LEFT);
193   gtk_misc_set_alignment (GTK_MISC (label22), 0, 0.5);
194
195   label23 = gtk_label_new ("Buffersize (2^x):");
196   gtk_widget_show (label23);
197   gtk_table_attach (GTK_TABLE (table5), label23, 0, 1, 2, 3,
198                     (GtkAttachOptions) (GTK_FILL),
199                     (GtkAttachOptions) (0), 0, 0);
200   gtk_label_set_justify (GTK_LABEL (label23), GTK_JUSTIFY_LEFT);
201   gtk_misc_set_alignment (GTK_MISC (label23), 0, 0.5);
202
203   label24 = gtk_label_new ("Samplerate (Hz):");
204   gtk_widget_show (label24);
205   gtk_table_attach (GTK_TABLE (table5), label24, 0, 1, 3, 4,
206                     (GtkAttachOptions) (GTK_FILL),
207                     (GtkAttachOptions) (0), 0, 0);
208   gtk_label_set_justify (GTK_LABEL (label24), GTK_JUSTIFY_LEFT);
209   gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
210
211   oss_audio_device = gtk_combo_new ();
212   g_object_set_data (G_OBJECT (GTK_COMBO (oss_audio_device)->popwin),
213                      "GladeParentKey", oss_audio_device);
214   gtk_widget_show (oss_audio_device);
215   gtk_table_attach (GTK_TABLE (table5), oss_audio_device, 1, 2, 0, 1,
216                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
217                     (GtkAttachOptions) (0), 0, 0);
218
219   combo_entry2 = GTK_COMBO (oss_audio_device)->entry;
220   gtk_widget_show (combo_entry2);
221   gtk_tooltips_set_tip (tooltips, combo_entry2, "Select the audiodevice you want terminatorX to send its output to.", NULL);
222
223   oss_buffers_adj = gtk_adjustment_new (2, 2, 5, 1, 10, 10);
224   oss_buffers = gtk_spin_button_new (GTK_ADJUSTMENT (oss_buffers_adj), 1, 0);
225   gtk_widget_show (oss_buffers);
226   gtk_table_attach (GTK_TABLE (table5), oss_buffers, 1, 2, 1, 2,
227                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
228                     (GtkAttachOptions) (0), 0, 0);
229   gtk_tooltips_set_tip (tooltips, oss_buffers, "Sets the number of kernel level audio buffers. Actually most systems should run just fine with two.", NULL);
230
231   oss_buffersize = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (9, 8, 16, 1, 1, 1)));
232   gtk_widget_show (oss_buffersize);
233   gtk_table_attach (GTK_TABLE (table5), oss_buffersize, 1, 2, 2, 3,
234                     (GtkAttachOptions) (GTK_FILL),
235                     (GtkAttachOptions) (GTK_FILL), 0, 0);
236   gtk_scale_set_digits (GTK_SCALE (oss_buffersize), 0);
237
238   oss_samplerate = gtk_combo_new ();
239   g_object_set_data (G_OBJECT (GTK_COMBO (oss_samplerate)->popwin),
240                      "GladeParentKey", oss_samplerate);
241   gtk_widget_show (oss_samplerate);
242   gtk_table_attach (GTK_TABLE (table5), oss_samplerate, 1, 2, 3, 4,
243                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
244                     (GtkAttachOptions) (0), 0, 0);
245
246   combo_entry3 = GTK_COMBO (oss_samplerate)->entry;
247   gtk_widget_show (combo_entry3);
248   gtk_tooltips_set_tip (tooltips, combo_entry3, "Select the sampling to use for this audio device - the higher the better quality. Note that not all sampling rates are supported by all audio devices.", NULL);
249
250   label15 = gtk_label_new ("Audio: OSS");
251   gtk_widget_show (label15);
252   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label15);
253   gtk_label_set_justify (GTK_LABEL (label15), GTK_JUSTIFY_LEFT);
254
255   table6 = gtk_table_new (4, 2, FALSE);
256   gtk_widget_show (table6);
257   gtk_container_add (GTK_CONTAINER (notebook1), table6);
258   gtk_container_set_border_width (GTK_CONTAINER (table6), 4);
259   gtk_table_set_row_spacings (GTK_TABLE (table6), 2);
260   gtk_table_set_col_spacings (GTK_TABLE (table6), 2);
261
262   label27 = gtk_label_new ("Audio Device:");
263   gtk_widget_show (label27);
264   gtk_table_attach (GTK_TABLE (table6), label27, 0, 1, 0, 1,
265                     (GtkAttachOptions) (GTK_FILL),
266                     (GtkAttachOptions) (0), 0, 0);
267   gtk_label_set_justify (GTK_LABEL (label27), GTK_JUSTIFY_LEFT);
268   gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
269
270   label29 = gtk_label_new ("Period Time (ms):");
271   gtk_widget_show (label29);
272   gtk_table_attach (GTK_TABLE (table6), label29, 0, 1, 2, 3,
273                     (GtkAttachOptions) (GTK_FILL),
274                     (GtkAttachOptions) (0), 0, 0);
275   gtk_label_set_justify (GTK_LABEL (label29), GTK_JUSTIFY_LEFT);
276   gtk_misc_set_alignment (GTK_MISC (label29), 0, 0.5);
277
278   label30 = gtk_label_new ("Samplerate (Hz):");
279   gtk_widget_show (label30);
280   gtk_table_attach (GTK_TABLE (table6), label30, 0, 1, 3, 4,
281                     (GtkAttachOptions) (GTK_FILL),
282                     (GtkAttachOptions) (0), 0, 0);
283   gtk_label_set_justify (GTK_LABEL (label30), GTK_JUSTIFY_LEFT);
284   gtk_misc_set_alignment (GTK_MISC (label30), 0, 0.5);
285
286   alsa_audio_device = gtk_combo_new ();
287   g_object_set_data (G_OBJECT (GTK_COMBO (alsa_audio_device)->popwin),
288                      "GladeParentKey", alsa_audio_device);
289   gtk_widget_show (alsa_audio_device);
290   gtk_table_attach (GTK_TABLE (table6), alsa_audio_device, 1, 2, 0, 1,
291                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
292                     (GtkAttachOptions) (0), 0, 0);
293
294   combo_entry4 = GTK_COMBO (alsa_audio_device)->entry;
295   gtk_widget_show (combo_entry4);
296
297   alsa_samplerate = gtk_combo_new ();
298   g_object_set_data (G_OBJECT (GTK_COMBO (alsa_samplerate)->popwin),
299                      "GladeParentKey", alsa_samplerate);
300   gtk_widget_show (alsa_samplerate);
301   gtk_table_attach (GTK_TABLE (table6), alsa_samplerate, 1, 2, 3, 4,
302                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
303                     (GtkAttachOptions) (0), 0, 0);
304
305   combo_entry5 = GTK_COMBO (alsa_samplerate)->entry;
306   gtk_widget_show (combo_entry5);
307
308   alsa_period_time = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (29, 10, 500, 1, 10, 10)));
309   gtk_widget_show (alsa_period_time);
310   gtk_table_attach (GTK_TABLE (table6), alsa_period_time, 1, 2, 2, 3,
311                     (GtkAttachOptions) (GTK_FILL),
312                     (GtkAttachOptions) (GTK_FILL), 0, 0);
313   gtk_scale_set_digits (GTK_SCALE (alsa_period_time), 0);
314
315   label32 = gtk_label_new ("Buffer Time (ms):");
316   gtk_widget_show (label32);
317   gtk_table_attach (GTK_TABLE (table6), label32, 0, 1, 1, 2,
318                     (GtkAttachOptions) (GTK_FILL),
319                     (GtkAttachOptions) (0), 0, 0);
320   gtk_label_set_justify (GTK_LABEL (label32), GTK_JUSTIFY_LEFT);
321   gtk_misc_set_alignment (GTK_MISC (label32), 0, 0.5);
322
323   alsa_buffer_time = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (50, 10, 500, 1, 10, 10)));
324   gtk_widget_show (alsa_buffer_time);
325   gtk_table_attach (GTK_TABLE (table6), alsa_buffer_time, 1, 2, 1, 2,
326                     (GtkAttachOptions) (GTK_FILL),
327                     (GtkAttachOptions) (GTK_FILL), 0, 0);
328   gtk_scale_set_digits (GTK_SCALE (alsa_buffer_time), 0);
329
330   label16 = gtk_label_new ("Audio: ALSA");
331   gtk_widget_show (label16);
332   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), label16);
333   gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT);
334
335   table1 = gtk_table_new (4, 2, FALSE);
336   gtk_widget_show (table1);
337   gtk_container_add (GTK_CONTAINER (notebook1), table1);
338   gtk_container_set_border_width (GTK_CONTAINER (table1), 4);
339   gtk_table_set_row_spacings (GTK_TABLE (table1), 2);
340   gtk_table_set_col_spacings (GTK_TABLE (table1), 2);
341
342   label5 = gtk_label_new ("XInput Device:");
343   gtk_widget_show (label5);
344   gtk_table_attach (GTK_TABLE (table1), label5, 0, 1, 1, 2,
345                     (GtkAttachOptions) (GTK_FILL),
346                     (GtkAttachOptions) (0), 0, 0);
347   gtk_label_set_justify (GTK_LABEL (label5), GTK_JUSTIFY_LEFT);
348   gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5);
349
350   label6 = gtk_label_new ("Mouse Speed:");
351   gtk_widget_show (label6);
352   gtk_table_attach (GTK_TABLE (table1), label6, 0, 1, 2, 3,
353                     (GtkAttachOptions) (GTK_FILL),
354                     (GtkAttachOptions) (0), 0, 0);
355   gtk_label_set_justify (GTK_LABEL (label6), GTK_JUSTIFY_LEFT);
356   gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5);
357
358   label7 = gtk_label_new ("Stop-Sense-Cycles:");
359   gtk_widget_show (label7);
360   gtk_table_attach (GTK_TABLE (table1), label7, 0, 1, 3, 4,
361                     (GtkAttachOptions) (GTK_FILL),
362                     (GtkAttachOptions) (0), 0, 0);
363   gtk_label_set_justify (GTK_LABEL (label7), GTK_JUSTIFY_LEFT);
364   gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5);
365
366   xinput_device = gtk_combo_new ();
367   g_object_set_data (G_OBJECT (GTK_COMBO (xinput_device)->popwin),
368                      "GladeParentKey", xinput_device);
369   gtk_widget_show (xinput_device);
370   gtk_table_attach (GTK_TABLE (table1), xinput_device, 1, 2, 1, 2,
371                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
372                     (GtkAttachOptions) (0), 0, 0);
373
374   combo_entry1 = GTK_COMBO (xinput_device)->entry;
375   gtk_widget_show (combo_entry1);
376   gtk_tooltips_set_tip (tooltips, combo_entry1, "Select the input device to use when XInput is enabled. Note: do not use this option if you plan on using your default device (standard mouse).", NULL);
377
378   mouse_speed = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, -10, 10, 0.5, 0.1, 0.1)));
379   gtk_widget_show (mouse_speed);
380   gtk_table_attach (GTK_TABLE (table1), mouse_speed, 1, 2, 2, 3,
381                     (GtkAttachOptions) (GTK_FILL),
382                     (GtkAttachOptions) (GTK_FILL), 0, 0);
383
384   stop_sense_cycles = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 150, 5, 1, 1)));
385   gtk_widget_show (stop_sense_cycles);
386   gtk_table_attach (GTK_TABLE (table1), stop_sense_cycles, 1, 2, 3, 4,
387                     (GtkAttachOptions) (GTK_FILL),
388                     (GtkAttachOptions) (GTK_FILL), 0, 0);
389   gtk_scale_set_digits (GTK_SCALE (stop_sense_cycles), 0);
390
391   label25 = gtk_label_new ("XInput:");
392   gtk_widget_show (label25);
393   gtk_table_attach (GTK_TABLE (table1), label25, 0, 1, 0, 1,
394                     (GtkAttachOptions) (GTK_FILL),
395                     (GtkAttachOptions) (0), 0, 0);
396   gtk_label_set_justify (GTK_LABEL (label25), GTK_JUSTIFY_LEFT);
397   gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
398
399   xinput_enable = gtk_check_button_new_with_mnemonic ("Enabled");
400   gtk_widget_show (xinput_enable);
401   gtk_table_attach (GTK_TABLE (table1), xinput_enable, 1, 2, 0, 1,
402                     (GtkAttachOptions) (GTK_FILL),
403                     (GtkAttachOptions) (0), 0, 0);
404   gtk_tooltips_set_tip (tooltips, xinput_enable, "CAREFUL! Enable this *only* if you want to use an input device than your default X-Pointer (yes, your mouse ;). You have to select your desired device as well. Selecting the default mouse pointer will crash terminatorX so if you want to use that keep this option disabled.", NULL);
405
406   label4 = gtk_label_new ("Input");
407   gtk_widget_show (label4);
408   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 3), label4);
409   gtk_label_set_justify (GTK_LABEL (label4), GTK_JUSTIFY_LEFT);
410
411   table2 = gtk_table_new (6, 2, FALSE);
412   gtk_widget_show (table2);
413   gtk_container_add (GTK_CONTAINER (notebook1), table2);
414   gtk_container_set_border_width (GTK_CONTAINER (table2), 4);
415   gtk_table_set_row_spacings (GTK_TABLE (table2), 2);
416   gtk_table_set_col_spacings (GTK_TABLE (table2), 2);
417
418   label8 = gtk_label_new ("Main Window Tooltips:");
419   gtk_widget_show (label8);
420   gtk_table_attach (GTK_TABLE (table2), label8, 0, 1, 1, 2,
421                     (GtkAttachOptions) (GTK_FILL),
422                     (GtkAttachOptions) (0), 0, 0);
423   gtk_label_set_justify (GTK_LABEL (label8), GTK_JUSTIFY_LEFT);
424   gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5);
425
426   label9 = gtk_label_new ("Update Idle (ms):");
427   gtk_widget_show (label9);
428   gtk_table_attach (GTK_TABLE (table2), label9, 0, 1, 3, 4,
429                     (GtkAttachOptions) (GTK_FILL),
430                     (GtkAttachOptions) (0), 0, 0);
431   gtk_label_set_justify (GTK_LABEL (label9), GTK_JUSTIFY_LEFT);
432   gtk_misc_set_alignment (GTK_MISC (label9), 0, 0.5);
433
434   label10 = gtk_label_new ("Update Delay (cycles):");
435   gtk_widget_show (label10);
436   gtk_table_attach (GTK_TABLE (table2), label10, 0, 1, 4, 5,
437                     (GtkAttachOptions) (GTK_FILL),
438                     (GtkAttachOptions) (0), 0, 0);
439   gtk_label_set_justify (GTK_LABEL (label10), GTK_JUSTIFY_LEFT);
440   gtk_misc_set_alignment (GTK_MISC (label10), 0, 0.5);
441
442   label11 = gtk_label_new ("VU Meter Decay:");
443   gtk_widget_show (label11);
444   gtk_table_attach (GTK_TABLE (table2), label11, 0, 1, 5, 6,
445                     (GtkAttachOptions) (GTK_FILL),
446                     (GtkAttachOptions) (0), 0, 0);
447   gtk_label_set_justify (GTK_LABEL (label11), GTK_JUSTIFY_LEFT);
448   gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.5);
449
450   mainwin_tooltips = gtk_check_button_new_with_mnemonic ("Enabled");
451   gtk_widget_show (mainwin_tooltips);
452   gtk_table_attach (GTK_TABLE (table2), mainwin_tooltips, 1, 2, 1, 2,
453                     (GtkAttachOptions) (GTK_FILL),
454                     (GtkAttachOptions) (0), 0, 0);
455   gtk_tooltips_set_tip (tooltips, mainwin_tooltips, "Enable tooltips for the terminatorX main window.", NULL);
456
457   update_idle = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (11, 1, 100, 1, 10, 10)));
458   gtk_widget_show (update_idle);
459   gtk_table_attach (GTK_TABLE (table2), update_idle, 1, 2, 3, 4,
460                     (GtkAttachOptions) (GTK_FILL),
461                     (GtkAttachOptions) (GTK_FILL), 0, 0);
462   gtk_scale_set_digits (GTK_SCALE (update_idle), 0);
463
464   update_delay = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 15, 1, 10, 10)));
465   gtk_widget_show (update_delay);
466   gtk_table_attach (GTK_TABLE (table2), update_delay, 1, 2, 4, 5,
467                     (GtkAttachOptions) (GTK_FILL),
468                     (GtkAttachOptions) (GTK_FILL), 0, 0);
469
470   vumeter_decay = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.8, 0.8, 0.99, 0.01, 0.01, 0.001)));
471   gtk_widget_show (vumeter_decay);
472   gtk_table_attach (GTK_TABLE (table2), vumeter_decay, 1, 2, 5, 6,
473                     (GtkAttachOptions) (GTK_FILL),
474                     (GtkAttachOptions) (GTK_FILL), 0, 0);
475
476   label14 = gtk_label_new ("Startup-Nagbox:");
477   gtk_widget_show (label14);
478   gtk_table_attach (GTK_TABLE (table2), label14, 0, 1, 0, 1,
479                     (GtkAttachOptions) (GTK_FILL),
480                     (GtkAttachOptions) (0), 0, 0);
481   gtk_label_set_justify (GTK_LABEL (label14), GTK_JUSTIFY_LEFT);
482   gtk_misc_set_alignment (GTK_MISC (label14), 0, 0.5);
483
484   startup_nagbox = gtk_check_button_new_with_mnemonic ("Enabled");
485   gtk_widget_show (startup_nagbox);
486   gtk_table_attach (GTK_TABLE (table2), startup_nagbox, 1, 2, 0, 1,
487                     (GtkAttachOptions) (GTK_FILL),
488                     (GtkAttachOptions) (0), 0, 0);
489   gtk_tooltips_set_tip (tooltips, startup_nagbox, "Display nagbox on startup while loading data.", NULL);
490
491   label12 = gtk_label_new ("Buttons:");
492   gtk_widget_show (label12);
493   gtk_table_attach (GTK_TABLE (table2), label12, 0, 1, 2, 3,
494                     (GtkAttachOptions) (GTK_FILL),
495                     (GtkAttachOptions) (0), 0, 0);
496   gtk_label_set_justify (GTK_LABEL (label12), GTK_JUSTIFY_LEFT);
497   gtk_misc_set_alignment (GTK_MISC (label12), 0, 0.5);
498
499   hbox1 = gtk_hbox_new (FALSE, 5);
500   gtk_widget_show (hbox1);
501   gtk_table_attach (GTK_TABLE (table2), hbox1, 1, 2, 2, 3,
502                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
503                     (GtkAttachOptions) (GTK_FILL), 0, 0);
504
505   buttons_text_and_icon = gtk_radio_button_new_with_mnemonic (NULL, "Text + Icon");
506   gtk_widget_show (buttons_text_and_icon);
507   gtk_box_pack_start (GTK_BOX (hbox1), buttons_text_and_icon, FALSE, FALSE, 0);
508   gtk_radio_button_set_group (GTK_RADIO_BUTTON (buttons_text_and_icon), buttons_text_and_icon_group);
509   buttons_text_and_icon_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (buttons_text_and_icon));
510
511   buttons_icon_only = gtk_radio_button_new_with_mnemonic (NULL, "Icon Only");
512   gtk_widget_show (buttons_icon_only);
513   gtk_box_pack_start (GTK_BOX (hbox1), buttons_icon_only, FALSE, FALSE, 0);
514   gtk_radio_button_set_group (GTK_RADIO_BUTTON (buttons_icon_only), buttons_text_and_icon_group);
515   buttons_text_and_icon_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (buttons_icon_only));
516
517   buttons_text_only = gtk_radio_button_new_with_mnemonic (NULL, "Text Only");
518   gtk_widget_show (buttons_text_only);
519   gtk_box_pack_start (GTK_BOX (hbox1), buttons_text_only, FALSE, FALSE, 0);
520   gtk_radio_button_set_group (GTK_RADIO_BUTTON (buttons_text_only), buttons_text_and_icon_group);
521   buttons_text_and_icon_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (buttons_text_only));
522
523   label2 = gtk_label_new ("User Interface");
524   gtk_widget_show (label2);
525   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 4), label2);
526   gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_LEFT);
527
528   table3 = gtk_table_new (4, 2, FALSE);
529   gtk_widget_show (table3);
530   gtk_container_add (GTK_CONTAINER (notebook1), table3);
531   gtk_container_set_border_width (GTK_CONTAINER (table3), 4);
532   gtk_table_set_row_spacings (GTK_TABLE (table3), 2);
533   gtk_table_set_col_spacings (GTK_TABLE (table3), 2);
534
535   label13 = gtk_label_new ("Soundfile Editor:");
536   gtk_widget_show (label13);
537   gtk_table_attach (GTK_TABLE (table3), label13, 0, 1, 0, 1,
538                     (GtkAttachOptions) (GTK_FILL),
539                     (GtkAttachOptions) (0), 0, 0);
540   gtk_label_set_justify (GTK_LABEL (label13), GTK_JUSTIFY_LEFT);
541   gtk_misc_set_alignment (GTK_MISC (label13), 0, 0.5);
542
543   soundfile_editor = gtk_entry_new ();
544   gtk_widget_show (soundfile_editor);
545   gtk_table_attach (GTK_TABLE (table3), soundfile_editor, 1, 2, 0, 1,
546                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
547                     (GtkAttachOptions) (0), 0, 0);
548   gtk_tooltips_set_tip (tooltips, soundfile_editor, "Enter the command to run your favourite soundfile editor. It will be started when you choose \"Edit File\" from the turntable's file menu.", NULL);
549
550   label26 = gtk_label_new ("\"Pre-Listen\" to soundfiles:");
551   gtk_widget_show (label26);
552   gtk_table_attach (GTK_TABLE (table3), label26, 0, 1, 3, 4,
553                     (GtkAttachOptions) (GTK_FILL),
554                     (GtkAttachOptions) (0), 0, 0);
555   gtk_label_set_justify (GTK_LABEL (label26), GTK_JUSTIFY_LEFT);
556   gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
557
558   prelisten_enabled = gtk_check_button_new_with_mnemonic ("Enabled");
559   gtk_widget_show (prelisten_enabled);
560   gtk_table_attach (GTK_TABLE (table3), prelisten_enabled, 1, 2, 3, 4,
561                     (GtkAttachOptions) (GTK_FILL),
562                     (GtkAttachOptions) (0), 0, 0);
563   gtk_tooltips_set_tip (tooltips, prelisten_enabled, "When enabled soundfiles will be playedback when selected in a file dialog (before loading them).", NULL);
564
565   label31 = gtk_label_new ("LADSPA RDF Path:");
566   gtk_widget_show (label31);
567   gtk_table_attach (GTK_TABLE (table3), label31, 0, 1, 1, 2,
568                     (GtkAttachOptions) (GTK_FILL),
569                     (GtkAttachOptions) (0), 0, 0);
570   gtk_label_set_justify (GTK_LABEL (label31), GTK_JUSTIFY_LEFT);
571   gtk_misc_set_alignment (GTK_MISC (label31), 0, 0.5);
572
573   ladspa_rdf_path = gtk_entry_new ();
574   gtk_widget_show (ladspa_rdf_path);
575   gtk_table_attach (GTK_TABLE (table3), ladspa_rdf_path, 1, 2, 1, 2,
576                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
577                     (GtkAttachOptions) (0), 0, 0);
578
579   label33 = gtk_label_new ("Compress set files:");
580   gtk_widget_show (label33);
581   gtk_table_attach (GTK_TABLE (table3), label33, 0, 1, 2, 3,
582                     (GtkAttachOptions) (GTK_FILL),
583                     (GtkAttachOptions) (0), 0, 0);
584   gtk_label_set_justify (GTK_LABEL (label33), GTK_JUSTIFY_LEFT);
585   gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5);
586
587   compress_set_files = gtk_check_button_new_with_mnemonic ("Enabled");
588   gtk_widget_show (compress_set_files);
589   gtk_table_attach (GTK_TABLE (table3), compress_set_files, 1, 2, 2, 3,
590                     (GtkAttachOptions) (GTK_FILL),
591                     (GtkAttachOptions) (0), 0, 0);
592
593   label3 = gtk_label_new ("Misc");
594   gtk_widget_show (label3);
595   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 5), label3);
596   gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_LEFT);
597
598   dialog_action_area1 = GTK_DIALOG (tx_options)->action_area;
599   gtk_widget_show (dialog_action_area1);
600   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
601
602   pref_cancel = gtk_button_new_from_stock ("gtk-cancel");
603   gtk_widget_show (pref_cancel);
604   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_cancel, GTK_RESPONSE_CANCEL);
605   GTK_WIDGET_SET_FLAGS (pref_cancel, GTK_CAN_DEFAULT);
606
607   pref_apply = gtk_button_new_from_stock ("gtk-apply");
608   gtk_widget_show (pref_apply);
609   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_apply, GTK_RESPONSE_APPLY);
610   GTK_WIDGET_SET_FLAGS (pref_apply, GTK_CAN_DEFAULT);
611
612   pref_ok = gtk_button_new_from_stock ("gtk-ok");
613   gtk_widget_show (pref_ok);
614   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_ok, GTK_RESPONSE_OK);
615   GTK_WIDGET_SET_FLAGS (pref_ok, GTK_CAN_DEFAULT);
616
617   g_signal_connect ((gpointer) tx_options, "destroy",
618                     G_CALLBACK (on_tx_options_destroy),
619                     NULL);
620   g_signal_connect ((gpointer) pref_cancel, "clicked",
621                     G_CALLBACK (on_pref_cancel_clicked),
622                     NULL);
623   g_signal_connect ((gpointer) pref_apply, "clicked",
624                     G_CALLBACK (on_pref_apply_clicked),
625                     NULL);
626   g_signal_connect ((gpointer) pref_ok, "clicked",
627                     G_CALLBACK (on_pref_ok_clicked),
628                     NULL);
629
630   /* Store pointers to all widgets, for use by lookup_widget(). */
631   GLADE_HOOKUP_OBJECT_NO_REF (tx_options, tx_options, "tx_options");
632   GLADE_HOOKUP_OBJECT_NO_REF (tx_options, dialog_vbox1, "dialog_vbox1");
633   GLADE_HOOKUP_OBJECT (tx_options, notebook1, "notebook1");
634   GLADE_HOOKUP_OBJECT (tx_options, table4, "table4");
635   GLADE_HOOKUP_OBJECT (tx_options, label18, "label18");
636   GLADE_HOOKUP_OBJECT (tx_options, hbox2, "hbox2");
637   GLADE_HOOKUP_OBJECT (tx_options, oss_driver, "oss_driver");
638   GLADE_HOOKUP_OBJECT (tx_options, alsa_driver, "alsa_driver");
639   GLADE_HOOKUP_OBJECT (tx_options, jack_driver, "jack_driver");
640   GLADE_HOOKUP_OBJECT (tx_options, label1, "label1");
641   GLADE_HOOKUP_OBJECT (tx_options, table5, "table5");
642   GLADE_HOOKUP_OBJECT (tx_options, label21, "label21");
643   GLADE_HOOKUP_OBJECT (tx_options, label22, "label22");
644   GLADE_HOOKUP_OBJECT (tx_options, label23, "label23");
645   GLADE_HOOKUP_OBJECT (tx_options, label24, "label24");
646   GLADE_HOOKUP_OBJECT (tx_options, oss_audio_device, "oss_audio_device");
647   GLADE_HOOKUP_OBJECT (tx_options, combo_entry2, "combo_entry2");
648   GLADE_HOOKUP_OBJECT (tx_options, oss_buffers, "oss_buffers");
649   GLADE_HOOKUP_OBJECT (tx_options, oss_buffersize, "oss_buffersize");
650   GLADE_HOOKUP_OBJECT (tx_options, oss_samplerate, "oss_samplerate");
651   GLADE_HOOKUP_OBJECT (tx_options, combo_entry3, "combo_entry3");
652   GLADE_HOOKUP_OBJECT (tx_options, label15, "label15");
653   GLADE_HOOKUP_OBJECT (tx_options, table6, "table6");
654   GLADE_HOOKUP_OBJECT (tx_options, label27, "label27");
655   GLADE_HOOKUP_OBJECT (tx_options, label29, "label29");
656   GLADE_HOOKUP_OBJECT (tx_options, label30, "label30");
657   GLADE_HOOKUP_OBJECT (tx_options, alsa_audio_device, "alsa_audio_device");
658   GLADE_HOOKUP_OBJECT (tx_options, combo_entry4, "combo_entry4");
659   GLADE_HOOKUP_OBJECT (tx_options, alsa_samplerate, "alsa_samplerate");
660   GLADE_HOOKUP_OBJECT (tx_options, combo_entry5, "combo_entry5");
661   GLADE_HOOKUP_OBJECT (tx_options, alsa_period_time, "alsa_period_time");
662   GLADE_HOOKUP_OBJECT (tx_options, label32, "label32");
663   GLADE_HOOKUP_OBJECT (tx_options, alsa_buffer_time, "alsa_buffer_time");
664   GLADE_HOOKUP_OBJECT (tx_options, label16, "label16");
665   GLADE_HOOKUP_OBJECT (tx_options, table1, "table1");
666   GLADE_HOOKUP_OBJECT (tx_options, label5, "label5");
667   GLADE_HOOKUP_OBJECT (tx_options, label6, "label6");
668   GLADE_HOOKUP_OBJECT (tx_options, label7, "label7");
669   GLADE_HOOKUP_OBJECT (tx_options, xinput_device, "xinput_device");
670   GLADE_HOOKUP_OBJECT (tx_options, combo_entry1, "combo_entry1");
671   GLADE_HOOKUP_OBJECT (tx_options, mouse_speed, "mouse_speed");
672   GLADE_HOOKUP_OBJECT (tx_options, stop_sense_cycles, "stop_sense_cycles");
673   GLADE_HOOKUP_OBJECT (tx_options, label25, "label25");
674   GLADE_HOOKUP_OBJECT (tx_options, xinput_enable, "xinput_enable");
675   GLADE_HOOKUP_OBJECT (tx_options, label4, "label4");
676   GLADE_HOOKUP_OBJECT (tx_options, table2, "table2");
677   GLADE_HOOKUP_OBJECT (tx_options, label8, "label8");
678   GLADE_HOOKUP_OBJECT (tx_options, label9, "label9");
679   GLADE_HOOKUP_OBJECT (tx_options, label10, "label10");
680   GLADE_HOOKUP_OBJECT (tx_options, label11, "label11");
681   GLADE_HOOKUP_OBJECT (tx_options, mainwin_tooltips, "mainwin_tooltips");
682   GLADE_HOOKUP_OBJECT (tx_options, update_idle, "update_idle");
683   GLADE_HOOKUP_OBJECT (tx_options, update_delay, "update_delay");
684   GLADE_HOOKUP_OBJECT (tx_options, vumeter_decay, "vumeter_decay");
685   GLADE_HOOKUP_OBJECT (tx_options, label14, "label14");
686   GLADE_HOOKUP_OBJECT (tx_options, startup_nagbox, "startup_nagbox");
687   GLADE_HOOKUP_OBJECT (tx_options, label12, "label12");
688   GLADE_HOOKUP_OBJECT (tx_options, hbox1, "hbox1");
689   GLADE_HOOKUP_OBJECT (tx_options, buttons_text_and_icon, "buttons_text_and_icon");
690   GLADE_HOOKUP_OBJECT (tx_options, buttons_icon_only, "buttons_icon_only");
691   GLADE_HOOKUP_OBJECT (tx_options, buttons_text_only, "buttons_text_only");
692   GLADE_HOOKUP_OBJECT (tx_options, label2, "label2");
693   GLADE_HOOKUP_OBJECT (tx_options, table3, "table3");
694   GLADE_HOOKUP_OBJECT (tx_options, label13, "label13");
695   GLADE_HOOKUP_OBJECT (tx_options, soundfile_editor, "soundfile_editor");
696   GLADE_HOOKUP_OBJECT (tx_options, label26, "label26");
697   GLADE_HOOKUP_OBJECT (tx_options, prelisten_enabled, "prelisten_enabled");
698   GLADE_HOOKUP_OBJECT (tx_options, label31, "label31");
699   GLADE_HOOKUP_OBJECT (tx_options, ladspa_rdf_path, "ladspa_rdf_path");
700   GLADE_HOOKUP_OBJECT (tx_options, label33, "label33");
701   GLADE_HOOKUP_OBJECT (tx_options, compress_set_files, "compress_set_files");
702   GLADE_HOOKUP_OBJECT (tx_options, label3, "label3");
703   GLADE_HOOKUP_OBJECT_NO_REF (tx_options, dialog_action_area1, "dialog_action_area1");
704   GLADE_HOOKUP_OBJECT (tx_options, pref_cancel, "pref_cancel");
705   GLADE_HOOKUP_OBJECT (tx_options, pref_apply, "pref_apply");
706   GLADE_HOOKUP_OBJECT (tx_options, pref_ok, "pref_ok");
707   GLADE_HOOKUP_OBJECT_NO_REF (tx_options, tooltips, "tooltips");
708
709   return tx_options;
710 }
711