Mercurial > audlegacy-plugins
diff src/cdaudio-ng/configure.c @ 1303:2a7c9e0b9c0f
Added configure options for cddb
author | zither@litestep.network |
---|---|
date | Fri, 20 Jul 2007 03:29:42 +0300 |
parents | 483b8d900d5e |
children | 83cbc6968a0b |
line wrap: on
line diff
--- a/src/cdaudio-ng/configure.c Thu Jul 19 23:43:00 2007 +0200 +++ b/src/cdaudio-ng/configure.c Fri Jul 20 03:29:42 2007 +0300 @@ -1,5 +1,6 @@ #include <stdio.h> +#include <stdlib.h> #include <string.h> #include <gtk/gtk.h> @@ -20,6 +21,10 @@ static GtkWidget *limitcheckbutton; static GtkWidget *usecdtextcheckbutton; static GtkWidget *usecddbcheckbutton; +static GtkWidget *cddbserverlabel; +static GtkWidget *cddbportlabel; +static GtkWidget *cddbserverentry; +static GtkWidget *cddbportentry; static GtkWidget *usedevicecheckbutton; static GtkWidget *buttonbox; static GtkWidget *limitspinbutton; @@ -32,6 +37,8 @@ static gboolean *usecddb; static char *device; static gboolean *debug; +static char *cddbserver; +static int *cddbport; static gboolean delete_window(GtkWidget *widget, GdkEvent *event, gpointer data); static void button_clicked(GtkWidget *widget, gpointer data); @@ -40,7 +47,7 @@ static void gui_to_values(); -void configure_set_variables(gboolean *_usedae, int *_limitspeed, gboolean *_usecdtext, gboolean *_usecddb, char *_device, gboolean *_debug) +void configure_set_variables(gboolean *_usedae, int *_limitspeed, gboolean *_usecdtext, gboolean *_usecddb, char *_device, gboolean *_debug, char *_cddbserver, int *_cddbport) { usedae = _usedae; limitspeed = _limitspeed; @@ -48,6 +55,8 @@ usecddb = _usecddb; device = _device; debug = _debug; + cddbserver = _cddbserver; + cddbport = _cddbport; } void configure_create_gui() @@ -60,6 +69,7 @@ g_signal_connect(G_OBJECT(configwindow), "delete_event", G_CALLBACK(delete_window), NULL); maintable = gtk_table_new(4, 2, TRUE); + gtk_table_set_homogeneous(GTK_TABLE(maintable), FALSE); gtk_container_add(GTK_CONTAINER(configwindow), maintable); daeframe = gtk_frame_new("Digital audio extraction"); @@ -96,6 +106,19 @@ usecddbcheckbutton = gtk_check_button_new_with_label("Use CDDB if available"); g_signal_connect(G_OBJECT(usecddbcheckbutton), "toggled", G_CALLBACK(checkbutton_toggled), NULL); gtk_table_attach_defaults(GTK_TABLE(titleinfotable), usecddbcheckbutton, 0, 2, 1, 2); + + cddbserverlabel = gtk_label_new("Server: "); + gtk_table_attach_defaults(GTK_TABLE(titleinfotable), cddbserverlabel, 0, 1, 2, 3); + + cddbportlabel = gtk_label_new("Port: "); + gtk_table_attach_defaults(GTK_TABLE(titleinfotable), cddbportlabel, 0, 1, 3, 4); + + cddbserverentry = gtk_entry_new(); + gtk_table_attach_defaults(GTK_TABLE(titleinfotable), cddbserverentry, 1, 2, 2, 3); + + cddbportentry = gtk_entry_new(); + gtk_table_attach_defaults(GTK_TABLE(titleinfotable), cddbportentry, 1, 2, 3, 4); + usedevicecheckbutton = gtk_check_button_new_with_label("Override default device: "); g_signal_connect(G_OBJECT(usedevicecheckbutton), "toggled", G_CALLBACK(checkbutton_toggled), NULL); @@ -128,6 +151,10 @@ gtk_widget_show(limitspinbutton); gtk_widget_show(usecdtextcheckbutton); gtk_widget_show(usecddbcheckbutton); + gtk_widget_show(cddbserverentry); + gtk_widget_show(cddbportentry); + gtk_widget_show(cddbserverlabel); + gtk_widget_show(cddbportlabel); gtk_widget_show(usedevicecheckbutton); gtk_widget_show(deviceentry); gtk_widget_show(debugcheckbutton); @@ -175,6 +202,9 @@ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(limitcheckbutton)) && GTK_WIDGET_IS_SENSITIVE(limitcheckbutton)); + gtk_widget_set_sensitive(cddbserverentry, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(usecddbcheckbutton))); + gtk_widget_set_sensitive(cddbportentry, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(usecddbcheckbutton))); + gtk_widget_set_sensitive(deviceentry, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(usedevicecheckbutton))); } @@ -191,6 +221,13 @@ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(usecdtextcheckbutton), *usecdtext); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(usecddbcheckbutton), *usecddb); + char portstr[10]; + sprintf(portstr, "%d", *cddbport); + gtk_entry_set_text(GTK_ENTRY(cddbserverentry), cddbserver); + gtk_entry_set_text(GTK_ENTRY(cddbportentry), portstr); + gtk_widget_set_sensitive(cddbserverentry, *usecddb); + gtk_widget_set_sensitive(cddbportentry, *usecddb); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(usedevicecheckbutton), strlen(device) > 0); gtk_widget_set_sensitive(deviceentry, strlen(device) > 0); @@ -208,6 +245,8 @@ *limitspeed = 0; *usecdtext = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(usecdtextcheckbutton)); *usecddb = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(usecddbcheckbutton)); + strcpy(cddbserver, gtk_entry_get_text(GTK_ENTRY(cddbserverentry))); + *cddbport = strtol(gtk_entry_get_text(GTK_ENTRY(cddbportentry)), NULL, 10); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(usedevicecheckbutton))) strcpy(device, gtk_entry_get_text(GTK_ENTRY(deviceentry))); else