source: roaraudio/plugins/xmms/gui.c @ 5381:430b1d26e12d

Last change on this file since 5381:430b1d26e12d was 5381:430b1d26e12d, checked in by phi, 12 years ago

updated copyright years

File size: 13.3 KB
Line 
1//gui.c:
2
3/*
4 *      Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2008-2012
5 *
6 *  This file is part of the XMMS RoarAudio output plugin a part of RoarAudio,
7 *  a cross-platform sound system for both, home and professional use.
8 *  See README for details.
9 *
10 *  This file is free software; you can redistribute it and/or modify
11 *  it under the terms of the GNU General Public License version 3
12 *  as published by the Free Software Foundation.
13 *
14 *  RoarAudio is distributed in the hope that it will be useful,
15 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 *  GNU General Public License for more details.
18 *
19 *  You should have received a copy of the GNU General Public License
20 *  along with this software; see the file COPYING.  If not, write to
21 *  the Free Software Foundation, 51 Franklin Street, Fifth Floor,
22 *  Boston, MA 02110-1301, USA.
23 *
24 */
25
26#include "all.h"
27
28// ABOUT:
29
30void roar_about(void) {
31 static GtkWidget *dialog;
32
33 if (dialog != NULL)
34  return;
35
36 dialog = xmms_show_message(
37                _("About RoarAudio Plugin"),
38                _("RoarAudio XMMS Plugin..."
39                 ), _("OK"), FALSE, NULL, NULL);
40 gtk_signal_connect(GTK_OBJECT(dialog), "destroy",
41                    GTK_SIGNAL_FUNC(gtk_widget_destroyed),
42                    &dialog);
43}
44
45// CONFIG:
46
47void on_button_ok_enter(GtkButton * button, gpointer user_data) {
48}
49
50void roar_configure(void) {
51  GtkWidget *config_win;
52  GtkWidget *vbox_main;
53  GtkWidget *tabs_main;
54  GtkWidget *frame_server;
55  GtkWidget *alignment_server;
56  GtkWidget *table1;
57  GtkWidget *label_server_type;
58  GtkWidget *label_server_host;
59  GtkWidget *label_server_port;
60  GtkObject *input_server_port_adj;
61  GtkWidget *input_server_port;
62  GtkWidget *input_server_host;
63  GtkWidget *input_server_type;
64  GtkWidget *label_host;
65  GtkWidget *label_server;
66  GtkWidget *frame_proxy;
67  GtkWidget *alignment_proxy;
68  GtkWidget *table2;
69  GtkWidget *label_proxy_type;
70  GtkWidget *label_proxy_addr;
71  GtkWidget *input_proxy_host;
72  GtkWidget *input_proxy_type;
73  GtkWidget *label_frame_proxy;
74  GtkWidget *label_proxy;
75  GtkWidget *vbox_meta;
76  GtkWidget *frame_meta_player;
77  GtkWidget *alignment1;
78  GtkWidget *hbox_meta_player;
79  GtkWidget *label_player_name;
80  GtkWidget *input_meta_player_name;
81  GtkWidget *label_player;
82  GtkWidget *frame_meta_title;
83  GtkWidget *alignment2;
84  GtkWidget *hbox_meta_title;
85  GtkWidget *input_meta_send_title;
86  GtkWidget *input_meta_send_filename;
87  GtkWidget *label_meta_title;
88  GtkWidget *label_meta;
89  GtkWidget *hbox_buttons;
90  GtkWidget *button_ok;
91  GtkWidget *button_cancel;
92
93  config_win = gtk_window_new(GTK_WINDOW_DIALOG);
94  gtk_window_set_title(GTK_WINDOW(config_win), _("RoarAudio Plugin - Configuration"));
95//  gtk_window_set_destroy_with_parent(GTK_WINDOW(config_win), TRUE);
96//  gtk_window_set_icon_name(GTK_WINDOW(config_win), "gtk-preferences");
97
98  gtk_widget_show (config_win);
99
100  vbox_main = gtk_vbox_new (FALSE, 0);
101  gtk_widget_show (vbox_main);
102  gtk_container_add (GTK_CONTAINER (config_win), vbox_main);
103
104  tabs_main = gtk_notebook_new ();
105  gtk_widget_show (tabs_main);
106  gtk_box_pack_start (GTK_BOX (vbox_main), tabs_main, TRUE, TRUE, 0);
107
108  frame_server = gtk_frame_new (NULL);
109  gtk_widget_show (frame_server);
110  gtk_container_add (GTK_CONTAINER (tabs_main), frame_server);
111  gtk_frame_set_shadow_type (GTK_FRAME (frame_server), GTK_SHADOW_NONE);
112
113  alignment_server = gtk_alignment_new (0.5, 0.5, 1, 1);
114  gtk_widget_show (alignment_server);
115  gtk_container_add (GTK_CONTAINER (frame_server), alignment_server);
116//  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment_server), 0, 0, 12, 0);
117
118  table1 = gtk_table_new (3, 2, FALSE);
119  gtk_widget_show (table1);
120  gtk_container_add (GTK_CONTAINER (alignment_server), table1);
121
122  label_server_type = gtk_label_new (_("Server Type:"));
123  gtk_widget_show (label_server_type);
124  gtk_table_attach (GTK_TABLE (table1), label_server_type, 0, 1, 0, 1,
125                    (GtkAttachOptions) (GTK_FILL),
126                    (GtkAttachOptions) (0), 0, 0);
127  gtk_misc_set_alignment (GTK_MISC (label_server_type), 0, 0.5);
128
129  label_server_host = gtk_label_new (_("Host or Path:"));
130  gtk_widget_show (label_server_host);
131  gtk_table_attach (GTK_TABLE (table1), label_server_host, 0, 1, 1, 2,
132                    (GtkAttachOptions) (GTK_FILL),
133                    (GtkAttachOptions) (0), 0, 0);
134  gtk_misc_set_alignment (GTK_MISC (label_server_host), 0, 0.5);
135
136  label_server_port = gtk_label_new (_("Port:"));
137  gtk_widget_show (label_server_port);
138  gtk_table_attach (GTK_TABLE (table1), label_server_port, 0, 1, 2, 3,
139                    (GtkAttachOptions) (GTK_FILL),
140                    (GtkAttachOptions) (0), 0, 0);
141  gtk_misc_set_alignment (GTK_MISC (label_server_port), 0, 0.5);
142
143  input_server_port_adj = gtk_adjustment_new (16002, 0, 65535, 1, 10, 10);
144  input_server_port = gtk_spin_button_new (GTK_ADJUSTMENT (input_server_port_adj), 1, 0);
145  gtk_widget_show (input_server_port);
146  gtk_table_attach (GTK_TABLE (table1), input_server_port, 1, 2, 2, 3,
147                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
148                    (GtkAttachOptions) (0), 0, 0);
149
150  input_server_host = gtk_entry_new ();
151  gtk_widget_show (input_server_host);
152  gtk_table_attach (GTK_TABLE (table1), input_server_host, 1, 2, 1, 2,
153                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
154                    (GtkAttachOptions) (0), 0, 0);
155
156/*
157  input_server_type = gtk_combo_box_entry_new_text ();
158  gtk_widget_show (input_server_type);
159  gtk_table_attach (GTK_TABLE (table1), input_server_type, 1, 2, 0, 1,
160                    (GtkAttachOptions) (GTK_FILL),
161                    (GtkAttachOptions) (GTK_FILL), 0, 0);
162  gtk_combo_box_append_text (GTK_COMBO_BOX (input_server_type), _("Local"));
163  gtk_combo_box_append_text (GTK_COMBO_BOX (input_server_type), _("TCP/IP"));
164  gtk_combo_box_append_text (GTK_COMBO_BOX (input_server_type), _("DECnet"));
165  gtk_combo_box_append_text (GTK_COMBO_BOX (input_server_type), _("Fork"));
166*/
167  label_host = gtk_label_new (_("<b>Host:</b>"));
168  gtk_widget_show (label_host);
169//  gtk_frame_set_label_widget (GTK_FRAME (frame_server), label_host);
170//  gtk_label_set_use_markup (GTK_LABEL (label_host), TRUE);
171
172  label_server = gtk_label_new (_("Server & Network"));
173  gtk_widget_show (label_server);
174  gtk_notebook_set_tab_label (GTK_NOTEBOOK (tabs_main), gtk_notebook_get_nth_page (GTK_NOTEBOOK (tabs_main), 0), label_server);
175
176  frame_proxy = gtk_frame_new (NULL);
177  gtk_widget_show (frame_proxy);
178  gtk_container_add (GTK_CONTAINER (tabs_main), frame_proxy);
179  gtk_frame_set_shadow_type (GTK_FRAME (frame_proxy), GTK_SHADOW_NONE);
180
181  alignment_proxy = gtk_alignment_new (0.5, 0.5, 1, 1);
182  gtk_widget_show (alignment_proxy);
183  gtk_container_add (GTK_CONTAINER (frame_proxy), alignment_proxy);
184//  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment_proxy), 0, 0, 12, 0);
185
186  table2 = gtk_table_new (2, 2, FALSE);
187  gtk_widget_show (table2);
188  gtk_container_add (GTK_CONTAINER (alignment_proxy), table2);
189
190  label_proxy_type = gtk_label_new (_("Type:"));
191  gtk_widget_show (label_proxy_type);
192  gtk_table_attach (GTK_TABLE (table2), label_proxy_type, 0, 1, 0, 1,
193                    (GtkAttachOptions) (GTK_FILL),
194                    (GtkAttachOptions) (0), 0, 0);
195  gtk_misc_set_alignment (GTK_MISC (label_proxy_type), 0, 0.5);
196
197  label_proxy_addr = gtk_label_new (_("Proxy Address"));
198  gtk_widget_show (label_proxy_addr);
199  gtk_table_attach (GTK_TABLE (table2), label_proxy_addr, 0, 1, 1, 2,
200                    (GtkAttachOptions) (GTK_FILL),
201                    (GtkAttachOptions) (0), 0, 0);
202  gtk_misc_set_alignment (GTK_MISC (label_proxy_addr), 0, 0.5);
203
204  input_proxy_host = gtk_entry_new ();
205  gtk_widget_show (input_proxy_host);
206  gtk_table_attach (GTK_TABLE (table2), input_proxy_host, 1, 2, 1, 2,
207                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
208                    (GtkAttachOptions) (0), 0, 0);
209
210/*
211  input_proxy_type = gtk_combo_box_entry_new_text ();
212  gtk_widget_show (input_proxy_type);
213  gtk_table_attach (GTK_TABLE (table2), input_proxy_type, 1, 2, 0, 1,
214                    (GtkAttachOptions) (GTK_FILL),
215                    (GtkAttachOptions) (GTK_FILL), 0, 0);
216  gtk_combo_box_append_text (GTK_COMBO_BOX (input_proxy_type), _("None"));
217  gtk_combo_box_append_text (GTK_COMBO_BOX (input_proxy_type), _("SOCKS4"));
218  gtk_combo_box_append_text (GTK_COMBO_BOX (input_proxy_type), _("SOCKS4a"));
219  gtk_combo_box_append_text (GTK_COMBO_BOX (input_proxy_type), _("SOCKS4d"));
220  gtk_combo_box_append_text (GTK_COMBO_BOX (input_proxy_type), _("HTTP Connect"));
221  gtk_combo_box_append_text (GTK_COMBO_BOX (input_proxy_type), _("SSH"));
222*/
223
224  label_frame_proxy = gtk_label_new (_("<b>Proxy</b>"));
225  gtk_widget_show (label_frame_proxy);
226/*
227  gtk_frame_set_label_widget (GTK_FRAME (frame_proxy), label_frame_proxy);
228  gtk_label_set_use_markup (GTK_LABEL (label_frame_proxy), TRUE);
229*/
230
231  label_proxy = gtk_label_new (_("Proxy"));
232  gtk_widget_show (label_proxy);
233  gtk_notebook_set_tab_label (GTK_NOTEBOOK (tabs_main), gtk_notebook_get_nth_page (GTK_NOTEBOOK (tabs_main), 1), label_proxy);
234
235  vbox_meta = gtk_vbox_new (FALSE, 0);
236  gtk_widget_show (vbox_meta);
237  gtk_container_add (GTK_CONTAINER (tabs_main), vbox_meta);
238
239  frame_meta_player = gtk_frame_new (NULL);
240  gtk_widget_show (frame_meta_player);
241  gtk_box_pack_start (GTK_BOX (vbox_meta), frame_meta_player, TRUE, TRUE, 0);
242  gtk_frame_set_shadow_type (GTK_FRAME (frame_meta_player), GTK_SHADOW_NONE);
243
244  alignment1 = gtk_alignment_new (0.5, 0.5, 1, 1);
245  gtk_widget_show (alignment1);
246  gtk_container_add (GTK_CONTAINER (frame_meta_player), alignment1);
247//  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment1), 0, 0, 12, 0);
248
249  hbox_meta_player = gtk_hbox_new (FALSE, 0);
250  gtk_widget_show (hbox_meta_player);
251  gtk_container_add (GTK_CONTAINER (alignment1), hbox_meta_player);
252
253  label_player_name = gtk_label_new (_("Player Name:"));
254  gtk_widget_show (label_player_name);
255  gtk_box_pack_start (GTK_BOX (hbox_meta_player), label_player_name, FALSE, FALSE, 0);
256
257  input_meta_player_name = gtk_entry_new ();
258  gtk_widget_show (input_meta_player_name);
259  gtk_box_pack_start (GTK_BOX (hbox_meta_player), input_meta_player_name, TRUE, TRUE, 0);
260  gtk_entry_set_text (GTK_ENTRY (input_meta_player_name), _("XMMS"));
261
262  label_player = gtk_label_new (_("<b>Player</b>"));
263  gtk_widget_show (label_player);
264/*
265  gtk_frame_set_label_widget (GTK_FRAME (frame_meta_player), label_player);
266  gtk_label_set_use_markup (GTK_LABEL (label_player), TRUE);
267*/
268
269  frame_meta_title = gtk_frame_new (NULL);
270  gtk_widget_show (frame_meta_title);
271  gtk_box_pack_start (GTK_BOX (vbox_meta), frame_meta_title, TRUE, TRUE, 0);
272  gtk_frame_set_shadow_type (GTK_FRAME (frame_meta_title), GTK_SHADOW_NONE);
273
274  alignment2 = gtk_alignment_new (0.5, 0.5, 1, 1);
275  gtk_widget_show (alignment2);
276  gtk_container_add (GTK_CONTAINER (frame_meta_title), alignment2);
277//  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment2), 0, 0, 12, 0);
278
279  hbox_meta_title = gtk_hbox_new (FALSE, 0);
280  gtk_widget_show (hbox_meta_title);
281  gtk_container_add (GTK_CONTAINER (alignment2), hbox_meta_title);
282
283/*
284  input_meta_send_title = gtk_check_button_new_with_mnemonic (_("Send song title to server"));
285  gtk_widget_show (input_meta_send_title);
286  gtk_box_pack_start (GTK_BOX (hbox_meta_title), input_meta_send_title, FALSE, FALSE, 0);
287  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (input_meta_send_title), TRUE);
288
289  input_meta_send_filename = gtk_check_button_new_with_mnemonic (_("Send song filename to server"));
290  gtk_widget_show (input_meta_send_filename);
291  gtk_box_pack_start (GTK_BOX (hbox_meta_title), input_meta_send_filename, FALSE, FALSE, 0);
292  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (input_meta_send_filename), TRUE);
293*/
294
295  label_meta_title = gtk_label_new (_("<b>Current Song</b>"));
296  gtk_widget_show (label_meta_title);
297/*
298  gtk_frame_set_label_widget (GTK_FRAME (frame_meta_title), label_meta_title);
299  gtk_label_set_use_markup (GTK_LABEL (label_meta_title), TRUE);
300*/
301
302  label_meta = gtk_label_new (_("Meta Data"));
303  gtk_widget_show (label_meta);
304  gtk_notebook_set_tab_label (GTK_NOTEBOOK (tabs_main), gtk_notebook_get_nth_page (GTK_NOTEBOOK (tabs_main), 2), label_meta);
305
306  hbox_buttons = gtk_hbox_new (FALSE, 0);
307  gtk_widget_show (hbox_buttons);
308  gtk_box_pack_start (GTK_BOX (vbox_main), hbox_buttons, TRUE, TRUE, 0);
309
310
311  button_ok = gtk_button_new_with_label(_("OK"));
312  gtk_box_pack_start (GTK_BOX (hbox_buttons), button_ok, FALSE, FALSE, 0);
313
314  button_cancel = gtk_button_new_with_label(_("Cancel"));
315  gtk_signal_connect_object(GTK_OBJECT(button_cancel), "clicked",
316                            GTK_SIGNAL_FUNC(gtk_widget_destroy),
317                            GTK_OBJECT(config_win));
318  gtk_box_pack_start (GTK_BOX (hbox_buttons), button_cancel, FALSE, FALSE, 0);
319
320/*
321  button_ok = gtk_button_new_from_stock ("gtk-ok");
322  gtk_widget_show (button_ok);
323  gtk_box_pack_start (GTK_BOX (hbox_buttons), button_ok, FALSE, FALSE, 0);
324
325  button_cancel = gtk_button_new_from_stock ("gtk-cancel");
326  gtk_widget_show (button_cancel);
327  gtk_box_pack_start (GTK_BOX (hbox_buttons), button_cancel, FALSE, FALSE, 0);
328
329  g_signal_connect_swapped ((gpointer) button_ok, "clicked",
330                            G_CALLBACK (on_button_ok_enter),
331                            GTK_OBJECT (config_win));
332  g_signal_connect_swapped ((gpointer) button_cancel, "clicked",
333                            G_CALLBACK (gtk_widget_destroy),
334                            GTK_OBJECT (config_win));
335*/
336}
337
338//ll
Note: See TracBrowser for help on using the repository browser.