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