Mercurial > audlegacy-plugins
comparison src/vorbis/configure.c @ 421:1a82af4f13cf trunk
[svn] More xmms_create_dirbrowser cleanup
author | mf0102 |
---|---|
date | Sun, 14 Jan 2007 02:35:15 -0800 |
parents | 3da1b8942b8b |
children | d124034ebea3 |
comparison
equal
deleted
inserted
replaced
420:810787dce408 | 421:1a82af4f13cf |
---|---|
9 #include <gtk/gtk.h> | 9 #include <gtk/gtk.h> |
10 #include <stdlib.h> | 10 #include <stdlib.h> |
11 #include <string.h> | 11 #include <string.h> |
12 | 12 |
13 #include "audacious/configdb.h" | 13 #include "audacious/configdb.h" |
14 #include "audacious/dirbrowser.h" | |
15 #include "audacious/titlestring.h" | 14 #include "audacious/titlestring.h" |
16 #include "audacious/util.h" | 15 #include "audacious/util.h" |
17 #include "audacious/plugin.h" | 16 #include "audacious/plugin.h" |
18 | 17 |
19 extern GMutex *vf_mutex; | 18 extern GMutex *vf_mutex; |
20 | 19 |
21 static GtkWidget *vorbis_configurewin = NULL; | 20 static GtkWidget *vorbis_configurewin = NULL; |
22 static GtkWidget *vbox, *notebook; | 21 static GtkWidget *vbox, *notebook; |
23 | 22 |
24 static GtkWidget *streaming_save_entry; | |
25 static GtkWidget *streaming_save_use, *streaming_size_spin, | 23 static GtkWidget *streaming_save_use, *streaming_size_spin, |
26 *streaming_pre_spin; | 24 *streaming_pre_spin; |
27 static GtkWidget *streaming_save_dirbrowser, *streaming_save_hbox; | 25 static GtkWidget *streaming_save_dirbrowser, *streaming_save_hbox; |
28 static GtkWidget *title_tag_override, *title_tag_box, *title_tag_entry, | 26 static GtkWidget *title_tag_override, *title_tag_box, *title_tag_entry, |
29 *title_desc; | 27 *title_desc; |
44 vorbis_cfg.http_prebuffer = | 42 vorbis_cfg.http_prebuffer = |
45 gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(streaming_pre_spin)); | 43 gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(streaming_pre_spin)); |
46 | 44 |
47 vorbis_cfg.save_http_stream = | 45 vorbis_cfg.save_http_stream = |
48 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_save_use)); | 46 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_save_use)); |
49 g_free(vorbis_cfg.save_http_path); | 47 |
48 if (vorbis_cfg.save_http_path != NULL) | |
49 g_free(vorbis_cfg.save_http_path); | |
50 vorbis_cfg.save_http_path = | 50 vorbis_cfg.save_http_path = |
51 g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_save_entry))); | 51 g_strdup(gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(streaming_save_dirbrowser))); |
52 g_free(vorbis_cfg.tag_format); | 52 |
53 if (vorbis_cfg.tag_format != NULL) | |
54 g_free(vorbis_cfg.tag_format); | |
53 vorbis_cfg.tag_format = | 55 vorbis_cfg.tag_format = |
54 g_strdup(gtk_entry_get_text(GTK_ENTRY(title_tag_entry))); | 56 g_strdup(gtk_entry_get_text(GTK_ENTRY(title_tag_entry))); |
55 | 57 |
56 tb = GTK_TOGGLE_BUTTON(title_tag_override); | 58 tb = GTK_TOGGLE_BUTTON(title_tag_override); |
57 vorbis_cfg.tag_override = gtk_toggle_button_get_active(tb); | 59 vorbis_cfg.tag_override = gtk_toggle_button_get_active(tb); |
90 bmp_cfg_db_close(db); | 92 bmp_cfg_db_close(db); |
91 gtk_widget_destroy(vorbis_configurewin); | 93 gtk_widget_destroy(vorbis_configurewin); |
92 } | 94 } |
93 | 95 |
94 static void | 96 static void |
95 streaming_save_dirbrowser_cb(gchar * dir) | |
96 { | |
97 gtk_entry_set_text(GTK_ENTRY(streaming_save_entry), dir); | |
98 } | |
99 | |
100 static void | |
101 streaming_save_browse_cb(GtkWidget * w, gpointer data) | |
102 { | |
103 if (streaming_save_dirbrowser) | |
104 return; | |
105 | |
106 streaming_save_dirbrowser = | |
107 xmms_create_dir_browser(_("Select the directory where you want " | |
108 "to store the Ogg Vorbis streams:"), | |
109 vorbis_cfg.save_http_path, | |
110 GTK_SELECTION_SINGLE, | |
111 streaming_save_dirbrowser_cb); | |
112 g_signal_connect(G_OBJECT(streaming_save_dirbrowser), | |
113 "destroy", G_CALLBACK(gtk_widget_destroyed), | |
114 &streaming_save_dirbrowser); | |
115 gtk_window_set_transient_for(GTK_WINDOW(streaming_save_dirbrowser), | |
116 GTK_WINDOW(vorbis_configurewin)); | |
117 gtk_widget_show(streaming_save_dirbrowser); | |
118 } | |
119 | |
120 static void | |
121 streaming_save_use_cb(GtkWidget * w, gpointer data) | 97 streaming_save_use_cb(GtkWidget * w, gpointer data) |
122 { | 98 { |
123 gboolean save_stream; | 99 gboolean save_stream; |
124 | 100 |
125 save_stream = | 101 save_stream = |
129 } | 105 } |
130 | 106 |
131 static void | 107 static void |
132 configure_destroy(GtkWidget * w, gpointer data) | 108 configure_destroy(GtkWidget * w, gpointer data) |
133 { | 109 { |
134 /* if (streaming_save_dirbrowser) */ | 110 // nothing here currently |
135 /* gtk_widget_destroy(streaming_save_dirbrowser); */ | |
136 } | 111 } |
137 | 112 |
138 static void | 113 static void |
139 title_tag_override_cb(GtkWidget * w, gpointer data) | 114 title_tag_override_cb(GtkWidget * w, gpointer data) |
140 { | 115 { |
159 GtkWidget *streaming_vbox; | 134 GtkWidget *streaming_vbox; |
160 GtkWidget *streaming_buf_frame, *streaming_buf_hbox; | 135 GtkWidget *streaming_buf_frame, *streaming_buf_hbox; |
161 GtkWidget *streaming_size_box, *streaming_size_label; | 136 GtkWidget *streaming_size_box, *streaming_size_label; |
162 GtkWidget *streaming_pre_box, *streaming_pre_label; | 137 GtkWidget *streaming_pre_box, *streaming_pre_label; |
163 GtkWidget *streaming_save_frame, *streaming_save_vbox; | 138 GtkWidget *streaming_save_frame, *streaming_save_vbox; |
164 GtkWidget *streaming_save_label, *streaming_save_browse; | 139 GtkWidget *streaming_save_label; |
165 GtkWidget *title_frame, *title_tag_vbox, *title_tag_label; | 140 GtkWidget *title_frame, *title_tag_vbox, *title_tag_label; |
166 GtkWidget *rg_frame, *rg_vbox; | 141 GtkWidget *rg_frame, *rg_vbox; |
167 GtkWidget *bbox, *ok, *cancel; | 142 GtkWidget *bbox, *ok, *cancel; |
168 GtkWidget *rg_type_frame, *rg_type_vbox, *rg_album_gain; | 143 GtkWidget *rg_type_frame, *rg_type_vbox, *rg_album_gain; |
169 GtkObject *streaming_size_adj, *streaming_pre_adj; | 144 GtkObject *streaming_size_adj, *streaming_pre_adj; |
262 | 237 |
263 streaming_save_label = gtk_label_new(_("Path:")); | 238 streaming_save_label = gtk_label_new(_("Path:")); |
264 gtk_box_pack_start(GTK_BOX(streaming_save_hbox), streaming_save_label, | 239 gtk_box_pack_start(GTK_BOX(streaming_save_hbox), streaming_save_label, |
265 FALSE, FALSE, 0); | 240 FALSE, FALSE, 0); |
266 | 241 |
267 streaming_save_entry = gtk_entry_new(); | 242 streaming_save_dirbrowser = |
268 gtk_entry_set_text(GTK_ENTRY(streaming_save_entry), | 243 gtk_file_chooser_button_new (_("Pick a folder"), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); |
269 vorbis_cfg.save_http_path); | 244 gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(streaming_save_dirbrowser), |
270 gtk_box_pack_start(GTK_BOX(streaming_save_hbox), streaming_save_entry, | 245 vorbis_cfg.save_http_path); |
271 TRUE, TRUE, 0); | 246 gtk_box_pack_start(GTK_BOX(streaming_save_hbox), streaming_save_dirbrowser, TRUE, TRUE, 0); |
272 | |
273 streaming_save_browse = gtk_button_new_with_label(_("Browse")); | |
274 g_signal_connect(G_OBJECT(streaming_save_browse), "clicked", | |
275 G_CALLBACK(streaming_save_browse_cb), NULL); | |
276 gtk_box_pack_start(GTK_BOX(streaming_save_hbox), streaming_save_browse, | |
277 FALSE, FALSE, 0); | |
278 | 247 |
279 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), streaming_vbox, | 248 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), streaming_vbox, |
280 gtk_label_new(_("Streaming"))); | 249 gtk_label_new(_("Streaming"))); |
281 | 250 |
282 /* Title config.. */ | 251 /* Title config.. */ |