summaryrefslogtreecommitdiff
path: root/interface.c
diff options
context:
space:
mode:
Diffstat (limited to 'interface.c')
-rw-r--r--interface.c172
1 files changed, 128 insertions, 44 deletions
diff --git a/interface.c b/interface.c
index 53597b89..849c4c2a 100644
--- a/interface.c
+++ b/interface.c
@@ -1145,20 +1145,30 @@ create_prefwin (void)
GtkWidget *notebook2;
GtkWidget *table3;
GtkWidget *label4;
- GtkWidget *pref_soundcard;
GtkWidget *label5;
GtkWidget *label6;
GtkWidget *label8;
GtkWidget *label9;
+ GtkWidget *label15;
+ GtkWidget *pref_alsa_resampling;
GtkWidget *pref_replaygain_scale;
+ GtkWidget *pref_alsa_freewhenstopped;
+ GtkWidget *pref_soundcard;
GtkWidget *pref_src_quality;
GtkWidget *pref_replaygain_mode;
- GtkWidget *pref_alsa_resampling;
GtkWidget *Sound;
GtkWidget *table4;
GtkWidget *label7;
GtkWidget *pref_close_send_to_tray;
GtkWidget *label2;
+ GtkWidget *table6;
+ GtkWidget *label17;
+ GtkWidget *label18;
+ GtkWidget *pref_network_proxyaddress;
+ GtkWidget *pref_network_enableproxy;
+ GtkWidget *label19;
+ GtkWidget *pref_network_proxyport;
+ GtkWidget *label16;
GtkWidget *hpaned1;
GtkWidget *scrolledwindow2;
GtkWidget *pref_pluginlist;
@@ -1171,7 +1181,6 @@ create_prefwin (void)
GtkWidget *pref_plugin_author;
GtkWidget *pref_plugin_email;
GtkWidget *pref_plugin_website;
- GtkWidget *pref_plugin_configure;
GtkWidget *label3;
prefwin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
@@ -1183,34 +1192,27 @@ create_prefwin (void)
gtk_widget_show (notebook2);
gtk_container_add (GTK_CONTAINER (prefwin), notebook2);
- table3 = gtk_table_new (5, 2, FALSE);
+ table3 = gtk_table_new (6, 2, FALSE);
gtk_widget_show (table3);
gtk_container_add (GTK_CONTAINER (notebook2), table3);
gtk_container_set_border_width (GTK_CONTAINER (table3), 3);
gtk_table_set_col_spacings (GTK_TABLE (table3), 3);
- label4 = gtk_label_new ("Soundcard");
+ label4 = gtk_label_new ("Output device");
gtk_widget_show (label4);
gtk_table_attach (GTK_TABLE (table3), label4, 0, 1, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5);
- pref_soundcard = gtk_combo_box_entry_new_text ();
- gtk_widget_show (pref_soundcard);
- gtk_table_attach (GTK_TABLE (table3), pref_soundcard, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (pref_soundcard), "default");
-
- label5 = gtk_label_new ("Enable alsa (software) resampling");
+ label5 = gtk_label_new ("Software ALSA resampling");
gtk_widget_show (label5);
gtk_table_attach (GTK_TABLE (table3), label5, 0, 1, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5);
- label6 = gtk_label_new ("SRC quality");
+ label6 = gtk_label_new ("SRC quality (libsamplerate)");
gtk_widget_show (label6);
gtk_table_attach (GTK_TABLE (table3), label6, 0, 1, 2, 3,
(GtkAttachOptions) (GTK_FILL),
@@ -1224,23 +1226,48 @@ create_prefwin (void)
(GtkAttachOptions) (0), 0, 0);
gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5);
- label9 = gtk_label_new ("Apply replaygain peak scale");
+ label9 = gtk_label_new ("Replaygain peak scale");
gtk_widget_show (label9);
gtk_table_attach (GTK_TABLE (table3), label9, 0, 1, 4, 5,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_misc_set_alignment (GTK_MISC (label9), 0, 0.5);
+ label15 = gtk_label_new ("Release ALSA while stopped");
+ gtk_widget_show (label15);
+ gtk_table_attach (GTK_TABLE (table3), label15, 0, 1, 5, 6,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label15), 0, 0.5);
+
+ pref_alsa_resampling = gtk_check_button_new_with_mnemonic ("");
+ gtk_widget_show (pref_alsa_resampling);
+ gtk_table_attach (GTK_TABLE (table3), pref_alsa_resampling, 1, 2, 1, 2,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+
pref_replaygain_scale = gtk_check_button_new_with_mnemonic ("");
gtk_widget_show (pref_replaygain_scale);
gtk_table_attach (GTK_TABLE (table3), pref_replaygain_scale, 1, 2, 4, 5,
- (GtkAttachOptions) (GTK_EXPAND),
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
+ pref_alsa_freewhenstopped = gtk_check_button_new_with_mnemonic ("");
+ gtk_widget_show (pref_alsa_freewhenstopped);
+ gtk_table_attach (GTK_TABLE (table3), pref_alsa_freewhenstopped, 1, 2, 5, 6,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+
+ pref_soundcard = gtk_combo_box_new_text ();
+ gtk_widget_show (pref_soundcard);
+ gtk_table_attach (GTK_TABLE (table3), pref_soundcard, 1, 2, 0, 1,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (GTK_FILL), 0, 0);
+
pref_src_quality = gtk_combo_box_new_text ();
gtk_widget_show (pref_src_quality);
gtk_table_attach (GTK_TABLE (table3), pref_src_quality, 1, 2, 2, 3,
- (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (GTK_FILL), 0, 0);
gtk_combo_box_append_text (GTK_COMBO_BOX (pref_src_quality), "sinc_best_quality");
gtk_combo_box_append_text (GTK_COMBO_BOX (pref_src_quality), "sinc_medium_quality");
@@ -1251,18 +1278,12 @@ create_prefwin (void)
pref_replaygain_mode = gtk_combo_box_new_text ();
gtk_widget_show (pref_replaygain_mode);
gtk_table_attach (GTK_TABLE (table3), pref_replaygain_mode, 1, 2, 3, 4,
- (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (GTK_FILL), 0, 0);
gtk_combo_box_append_text (GTK_COMBO_BOX (pref_replaygain_mode), "Disable");
gtk_combo_box_append_text (GTK_COMBO_BOX (pref_replaygain_mode), "Track");
gtk_combo_box_append_text (GTK_COMBO_BOX (pref_replaygain_mode), "Album");
- pref_alsa_resampling = gtk_check_button_new_with_mnemonic ("");
- gtk_widget_show (pref_alsa_resampling);
- gtk_table_attach (GTK_TABLE (table3), pref_alsa_resampling, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND),
- (GtkAttachOptions) (0), 0, 0);
-
Sound = gtk_label_new ("Sound");
gtk_widget_show (Sound);
gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 0), Sound);
@@ -1283,13 +1304,64 @@ create_prefwin (void)
pref_close_send_to_tray = gtk_check_button_new_with_mnemonic ("");
gtk_widget_show (pref_close_send_to_tray);
gtk_table_attach (GTK_TABLE (table4), pref_close_send_to_tray, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND),
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
label2 = gtk_label_new ("GUI");
gtk_widget_show (label2);
gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 1), label2);
+ table6 = gtk_table_new (3, 2, FALSE);
+ gtk_widget_show (table6);
+ gtk_container_add (GTK_CONTAINER (notebook2), table6);
+ gtk_container_set_border_width (GTK_CONTAINER (table6), 3);
+ gtk_table_set_col_spacings (GTK_TABLE (table6), 3);
+
+ label17 = gtk_label_new ("Enable proxy server");
+ gtk_widget_show (label17);
+ gtk_table_attach (GTK_TABLE (table6), label17, 0, 1, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label17), 0, 0.5);
+
+ label18 = gtk_label_new ("Proxy server address");
+ gtk_widget_show (label18);
+ gtk_table_attach (GTK_TABLE (table6), label18, 0, 1, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label18), 0, 0.5);
+
+ pref_network_proxyaddress = gtk_entry_new ();
+ gtk_widget_show (pref_network_proxyaddress);
+ gtk_table_attach (GTK_TABLE (table6), pref_network_proxyaddress, 1, 2, 1, 2,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_entry_set_invisible_char (GTK_ENTRY (pref_network_proxyaddress), 8226);
+
+ pref_network_enableproxy = gtk_check_button_new_with_mnemonic ("");
+ gtk_widget_show (pref_network_enableproxy);
+ gtk_table_attach (GTK_TABLE (table6), pref_network_enableproxy, 1, 2, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+
+ label19 = gtk_label_new ("Proxy server port");
+ gtk_widget_show (label19);
+ gtk_table_attach (GTK_TABLE (table6), label19, 0, 1, 2, 3,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label19), 0, 0.5);
+
+ pref_network_proxyport = gtk_entry_new ();
+ gtk_widget_show (pref_network_proxyport);
+ gtk_table_attach (GTK_TABLE (table6), pref_network_proxyport, 1, 2, 2, 3,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_entry_set_invisible_char (GTK_ENTRY (pref_network_proxyport), 8226);
+
+ label16 = gtk_label_new ("Network");
+ gtk_widget_show (label16);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 2), label16);
+
hpaned1 = gtk_hpaned_new ();
gtk_widget_show (hpaned1);
gtk_container_add (GTK_CONTAINER (notebook2), hpaned1);
@@ -1305,7 +1377,7 @@ create_prefwin (void)
gtk_widget_show (pref_pluginlist);
gtk_container_add (GTK_CONTAINER (scrolledwindow2), pref_pluginlist);
- table5 = gtk_table_new (5, 2, FALSE);
+ table5 = gtk_table_new (4, 2, FALSE);
gtk_widget_show (table5);
gtk_paned_pack2 (GTK_PANED (hpaned1), table5, TRUE, TRUE);
gtk_widget_set_size_request (table5, 400, -1);
@@ -1370,60 +1442,73 @@ create_prefwin (void)
gtk_editable_set_editable (GTK_EDITABLE (pref_plugin_website), FALSE);
gtk_entry_set_invisible_char (GTK_ENTRY (pref_plugin_website), 9679);
- pref_plugin_configure = gtk_button_new_with_mnemonic ("Configure");
- gtk_widget_show (pref_plugin_configure);
- gtk_table_attach (GTK_TABLE (table5), pref_plugin_configure, 1, 2, 4, 5,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
-
label3 = gtk_label_new ("Plugins");
gtk_widget_show (label3);
- gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 2), label3);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 3), label3);
- g_signal_connect ((gpointer) pref_soundcard, "changed",
- G_CALLBACK (on_pref_soundcard_changed),
+ g_signal_connect ((gpointer) pref_alsa_resampling, "clicked",
+ G_CALLBACK (on_pref_alsa_resampling_clicked),
NULL);
g_signal_connect ((gpointer) pref_replaygain_scale, "clicked",
G_CALLBACK (on_pref_replaygain_scale_clicked),
NULL);
+ g_signal_connect ((gpointer) pref_alsa_freewhenstopped, "clicked",
+ G_CALLBACK (on_pref_alsa_freewhenstopped_clicked),
+ NULL);
+ g_signal_connect ((gpointer) pref_soundcard, "changed",
+ G_CALLBACK (on_pref_soundcard_changed),
+ NULL);
g_signal_connect ((gpointer) pref_src_quality, "changed",
G_CALLBACK (on_pref_src_quality_changed),
NULL);
g_signal_connect ((gpointer) pref_replaygain_mode, "changed",
G_CALLBACK (on_pref_replaygain_mode_changed),
NULL);
- g_signal_connect ((gpointer) pref_alsa_resampling, "clicked",
- G_CALLBACK (on_pref_alsa_resampling_clicked),
- NULL);
g_signal_connect ((gpointer) pref_close_send_to_tray, "clicked",
G_CALLBACK (on_pref_close_send_to_tray_clicked),
NULL);
+ g_signal_connect ((gpointer) pref_network_proxyaddress, "changed",
+ G_CALLBACK (on_pref_network_proxyaddress_changed),
+ NULL);
+ g_signal_connect ((gpointer) pref_network_enableproxy, "clicked",
+ G_CALLBACK (on_pref_network_enableproxy_clicked),
+ NULL);
+ g_signal_connect ((gpointer) pref_network_proxyport, "changed",
+ G_CALLBACK (on_pref_network_proxyport_changed),
+ NULL);
g_signal_connect ((gpointer) pref_pluginlist, "cursor_changed",
G_CALLBACK (on_pref_pluginlist_cursor_changed),
NULL);
- g_signal_connect ((gpointer) pref_plugin_configure, "clicked",
- G_CALLBACK (on_pref_plugin_configure_activate),
- NULL);
/* Store pointers to all widgets, for use by lookup_widget(). */
GLADE_HOOKUP_OBJECT_NO_REF (prefwin, prefwin, "prefwin");
GLADE_HOOKUP_OBJECT (prefwin, notebook2, "notebook2");
GLADE_HOOKUP_OBJECT (prefwin, table3, "table3");
GLADE_HOOKUP_OBJECT (prefwin, label4, "label4");
- GLADE_HOOKUP_OBJECT (prefwin, pref_soundcard, "pref_soundcard");
GLADE_HOOKUP_OBJECT (prefwin, label5, "label5");
GLADE_HOOKUP_OBJECT (prefwin, label6, "label6");
GLADE_HOOKUP_OBJECT (prefwin, label8, "label8");
GLADE_HOOKUP_OBJECT (prefwin, label9, "label9");
+ GLADE_HOOKUP_OBJECT (prefwin, label15, "label15");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_alsa_resampling, "pref_alsa_resampling");
GLADE_HOOKUP_OBJECT (prefwin, pref_replaygain_scale, "pref_replaygain_scale");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_alsa_freewhenstopped, "pref_alsa_freewhenstopped");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_soundcard, "pref_soundcard");
GLADE_HOOKUP_OBJECT (prefwin, pref_src_quality, "pref_src_quality");
GLADE_HOOKUP_OBJECT (prefwin, pref_replaygain_mode, "pref_replaygain_mode");
- GLADE_HOOKUP_OBJECT (prefwin, pref_alsa_resampling, "pref_alsa_resampling");
GLADE_HOOKUP_OBJECT (prefwin, Sound, "Sound");
GLADE_HOOKUP_OBJECT (prefwin, table4, "table4");
GLADE_HOOKUP_OBJECT (prefwin, label7, "label7");
GLADE_HOOKUP_OBJECT (prefwin, pref_close_send_to_tray, "pref_close_send_to_tray");
GLADE_HOOKUP_OBJECT (prefwin, label2, "label2");
+ GLADE_HOOKUP_OBJECT (prefwin, table6, "table6");
+ GLADE_HOOKUP_OBJECT (prefwin, label17, "label17");
+ GLADE_HOOKUP_OBJECT (prefwin, label18, "label18");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_network_proxyaddress, "pref_network_proxyaddress");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_network_enableproxy, "pref_network_enableproxy");
+ GLADE_HOOKUP_OBJECT (prefwin, label19, "label19");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_network_proxyport, "pref_network_proxyport");
+ GLADE_HOOKUP_OBJECT (prefwin, label16, "label16");
GLADE_HOOKUP_OBJECT (prefwin, hpaned1, "hpaned1");
GLADE_HOOKUP_OBJECT (prefwin, scrolledwindow2, "scrolledwindow2");
GLADE_HOOKUP_OBJECT (prefwin, pref_pluginlist, "pref_pluginlist");
@@ -1436,7 +1521,6 @@ create_prefwin (void)
GLADE_HOOKUP_OBJECT (prefwin, pref_plugin_author, "pref_plugin_author");
GLADE_HOOKUP_OBJECT (prefwin, pref_plugin_email, "pref_plugin_email");
GLADE_HOOKUP_OBJECT (prefwin, pref_plugin_website, "pref_plugin_website");
- GLADE_HOOKUP_OBJECT (prefwin, pref_plugin_configure, "pref_plugin_configure");
GLADE_HOOKUP_OBJECT (prefwin, label3, "label3");
return prefwin;