]> git.sesse.net Git - vlc/blob - plugins/gnome/gnome_callbacks.c
Beginning of Interface II
[vlc] / plugins / gnome / gnome_callbacks.c
1 #include "defs.h"
2
3 #include "config.h"
4 #include "common.h"
5 #include "threads.h"
6 #include "mtime.h"
7
8 #include <gnome.h>
9
10 #include "stream_control.h"
11 #include "input_ext-intf.h"
12
13 #include "interface.h"
14
15 #include "gnome_sys.h"
16 #include "gnome_callbacks.h"
17 #include "gnome_interface.h"
18 #include "gnome_support.h"
19
20 #define GET_GNOME_STRUCT( item, parent ) \
21 gtk_object_get_data( \
22     GTK_OBJECT( lookup_widget(GTK_WIDGET(item), parent) ), \
23     "p_intf" );
24
25 void
26 on_modules_activate                    (GtkMenuItem     *menuitem,
27                                         gpointer         user_data)
28 {
29
30 }
31
32
33 void
34 on_exit_activate                       (GtkMenuItem     *menuitem,
35                                         gpointer         user_data)
36 {
37     intf_thread_t *p_intf;
38
39     p_intf = GET_GNOME_STRUCT( menuitem, "intf_window" );
40
41     p_intf->b_die = 1;
42 }
43
44
45 void
46 on_open_activate                       (GtkMenuItem     *menuitem,
47                                         gpointer         user_data)
48 {
49
50 }
51
52
53 void
54 on_preferences_activate                (GtkMenuItem     *menuitem,
55                                         gpointer         user_data)
56 {
57
58 }
59
60
61 void
62 on_plugins_activate                    (GtkMenuItem     *menuitem,
63                                         gpointer         user_data)
64 {
65
66 }
67
68
69 void
70 on_about_activate                      (GtkMenuItem     *menuitem,
71                                         gpointer         user_data)
72 {
73     intf_thread_t *p_intf;
74
75     p_intf = GET_GNOME_STRUCT( menuitem, "intf_window" );
76
77     if( !GTK_IS_WIDGET( p_intf->p_sys->p_about ) )
78     {
79         p_intf->p_sys->p_about = create_intf_about ();
80     }
81     gtk_widget_show( p_intf->p_sys->p_about );
82 }
83
84
85 void
86 on_stop_clicked                        (GtkButton       *button,
87                                         gpointer         user_data)
88 {
89     intf_thread_t *p_intf;
90
91     p_intf = GET_GNOME_STRUCT( button, "intf_window" );
92
93 }
94
95
96 void
97 on_control_activate                    (GtkMenuItem     *menuitem,
98                                         gpointer         user_data)
99 {
100     intf_thread_t *p_intf;
101
102     p_intf = GET_GNOME_STRUCT( menuitem, "intf_window" );
103
104     /* lock the change structure */
105     vlc_mutex_lock( &p_intf->p_sys->change_lock );
106
107     if( p_intf->p_sys->b_window )
108     {
109         gtk_widget_hide( p_intf->p_sys->p_window );
110         p_intf->p_sys->b_window = 0;
111     }
112     else
113     {
114         if( !GTK_IS_WIDGET( p_intf->p_sys->p_window ) )
115         {
116             p_intf->p_sys->p_window = create_intf_window ();
117         }
118         gtk_widget_show( p_intf->p_sys->p_window );
119         gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_window),
120                              "p_intf", p_intf );
121         p_intf->p_sys->b_window = 1;
122     }
123
124     /* unlock the change structure */
125     vlc_mutex_unlock( &p_intf->p_sys->change_lock );
126 }
127
128
129 void
130 on_playlist_activate                   (GtkMenuItem     *menuitem,
131                                         gpointer         user_data)
132 {
133     intf_thread_t *p_intf;
134
135     p_intf = GET_GNOME_STRUCT( menuitem, "intf_window" );
136
137     /* lock the change structure */
138     vlc_mutex_lock( &p_intf->p_sys->change_lock );
139
140     if( p_intf->p_sys->b_playlist )
141     {
142         gtk_widget_hide( p_intf->p_sys->p_playlist );
143         p_intf->p_sys->b_playlist = 0;
144     }
145     else
146     {
147         if( !GTK_IS_WIDGET( p_intf->p_sys->p_playlist ) )
148         {
149             p_intf->p_sys->p_playlist = create_intf_playlist ();
150         }
151         gtk_widget_show( p_intf->p_sys->p_playlist );
152         gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_playlist),
153                              "p_intf", p_intf );
154         p_intf->p_sys->b_playlist = 1;
155     }
156
157     /* unlock the change structure */
158     vlc_mutex_unlock( &p_intf->p_sys->change_lock );
159 }
160
161 void
162 on_popup_control_activate              (GtkMenuItem     *menuitem,
163                                         gpointer         user_data)
164 {
165     intf_thread_t *p_intf;
166
167     p_intf = GET_GNOME_STRUCT( menuitem, "intf_popup" );
168
169     /* lock the change structure */
170     vlc_mutex_lock( &p_intf->p_sys->change_lock );
171
172     if( p_intf->p_sys->b_window )
173     {
174         gtk_widget_hide( p_intf->p_sys->p_window );
175         p_intf->p_sys->b_window = 0;
176     }
177     else
178     {
179         if( !GTK_IS_WIDGET( p_intf->p_sys->p_window ) )
180         {
181             p_intf->p_sys->p_window = create_intf_window ();
182         }
183         gtk_widget_show( p_intf->p_sys->p_window );
184         gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_window),
185                              "p_intf", p_intf );
186         p_intf->p_sys->b_window = 1;
187     }
188
189     /* unlock the change structure */
190     vlc_mutex_unlock( &p_intf->p_sys->change_lock );
191 }
192
193
194 void
195 on_popup_playlist_activate             (GtkMenuItem     *menuitem,
196                                         gpointer         user_data)
197 {
198     intf_thread_t *p_intf;
199
200     p_intf = GET_GNOME_STRUCT( menuitem, "intf_popup" );
201
202     /* lock the change structure */
203     vlc_mutex_lock( &p_intf->p_sys->change_lock );
204
205     if( p_intf->p_sys->b_playlist )
206     {
207         gtk_widget_hide( p_intf->p_sys->p_playlist );
208         p_intf->p_sys->b_playlist = 0;
209     }
210     else
211     {
212         if( !GTK_IS_WIDGET( p_intf->p_sys->p_playlist ) )
213         {
214             p_intf->p_sys->p_playlist = create_intf_playlist ();
215         }
216         gtk_widget_show( p_intf->p_sys->p_playlist );
217         gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_playlist),
218                              "p_intf", p_intf );
219         p_intf->p_sys->b_playlist = 1;
220     }
221
222     /* unlock the change structure */
223     vlc_mutex_unlock( &p_intf->p_sys->change_lock );
224 }
225
226
227
228 void
229 on_popup_exit_activate                 (GtkMenuItem     *menuitem,
230                                         gpointer         user_data)
231 {
232     intf_thread_t *p_intf;
233
234     p_intf = GET_GNOME_STRUCT( menuitem, "intf_popup" );
235
236     p_intf->b_die = 1;
237 }
238
239
240 void
241 on_popup_about_activate                (GtkMenuItem     *menuitem,
242                                         gpointer         user_data)
243 {
244     intf_thread_t *p_intf;
245
246     p_intf = GET_GNOME_STRUCT( menuitem, "intf_popup" );
247
248     if( !GTK_IS_WIDGET( p_intf->p_sys->p_about ) )
249     {
250         p_intf->p_sys->p_about = create_intf_about ();
251     }
252     gtk_widget_show( p_intf->p_sys->p_about );
253 }
254
255
256 void
257 on_intf_window_destroy                 (GtkObject       *object,
258                                         gpointer         user_data)
259 {
260     intf_thread_t *p_intf;
261
262     p_intf = GET_GNOME_STRUCT( object, "intf_window" );
263
264     /* FIXME don't destroy the window, just hide it */
265     p_intf->p_sys->p_window = NULL;
266
267     p_intf->b_die = 1;
268 }
269
270
271 void
272 on_intf_playlist_destroy               (GtkObject       *object,
273                                         gpointer         user_data)
274 {
275    ;
276 }
277
278
279
280 void
281 on_channel1_activate                   (GtkMenuItem     *menuitem,
282                                         gpointer         user_data)
283 {
284
285 }
286
287
288 void
289 on_channel2_activate                   (GtkMenuItem     *menuitem,
290                                         gpointer         user_data)
291 {
292
293 }
294
295
296 void
297 on_channel3_activate                   (GtkMenuItem     *menuitem,
298                                         gpointer         user_data)
299 {
300
301 }
302
303
304 void
305 on_channel4_activate                   (GtkMenuItem     *menuitem,
306                                         gpointer         user_data)
307 {
308
309 }
310
311
312 void
313 on_channel5_activate                   (GtkMenuItem     *menuitem,
314                                         gpointer         user_data)
315 {
316
317 }
318
319
320 void
321 on_popup_channel1_activate             (GtkMenuItem     *menuitem,
322                                         gpointer         user_data)
323 {
324
325 }
326
327
328 void
329 on_popup_channel2_activate             (GtkMenuItem     *menuitem,
330                                         gpointer         user_data)
331 {
332
333 }
334
335
336 void
337 on_popup_channel3_activate             (GtkMenuItem     *menuitem,
338                                         gpointer         user_data)
339 {
340
341 }
342
343
344 void
345 on_popup_channel4_activate             (GtkMenuItem     *menuitem,
346                                         gpointer         user_data)
347 {
348
349 }
350
351
352 void
353 on_popup_channel5_activate             (GtkMenuItem     *menuitem,
354                                         gpointer         user_data)
355 {
356
357 }
358
359
360 void
361 on_popup_config_channels_activate      (GtkMenuItem     *menuitem,
362                                         gpointer         user_data)
363 {
364
365 }
366
367
368 void
369 on_config_channels_activate            (GtkMenuItem     *menuitem,
370                                         gpointer         user_data)
371 {
372
373 }
374
375
376 void
377 on_user_guide_activate                 (GtkMenuItem     *menuitem,
378                                         gpointer         user_data)
379 {
380
381 }
382
383
384 void
385 on_popup_stop_activate                 (GtkMenuItem     *menuitem,
386                                         gpointer         user_data)
387 {
388
389 }
390
391
392 void
393 on_popup_play_activate                 (GtkMenuItem     *menuitem,
394                                         gpointer         user_data)
395 {
396     intf_thread_t *p_intf;
397
398     p_intf = GET_GNOME_STRUCT( menuitem, "intf_popup" );
399
400     input_Play( p_intf->p_input );
401 }
402
403
404 void
405 on_playlist_close_clicked              (GtkButton       *button,
406                                         gpointer         user_data)
407 {
408
409 }
410
411
412 void
413 on_play_clicked                        (GtkButton       *button,
414                                         gpointer         user_data)
415 {
416     intf_thread_t *p_intf;
417
418     p_intf = GET_GNOME_STRUCT( button, "intf_window" );
419
420     input_Play( p_intf->p_input );
421 }
422
423
424 void
425 on_channel0_activate                   (GtkMenuItem     *menuitem,
426                                         gpointer         user_data)
427 {
428
429 }
430
431
432 void
433 on_popup_channel0_activate             (GtkMenuItem     *menuitem,
434                                         gpointer         user_data)
435 {
436
437 }
438
439
440 void
441 on_open_clicked                        (GtkButton       *button,
442                                         gpointer         user_data)
443 {
444     GnomeUIInfo test_uiinfo[] =
445     {
446         {
447             GNOME_APP_UI_ITEM, N_( "Barf" ),
448             NULL,
449             on_exit_activate, NULL, NULL,
450             GNOME_APP_PIXMAP_NONE, NULL,
451             0, 0, NULL
452         }
453     };
454
455     intf_thread_t *p_intf;
456
457     p_intf = GET_GNOME_STRUCT( button, "intf_window" );
458
459     gnome_app_insert_menus (GNOME_APP (p_intf->p_sys->p_window),
460                               "_View/Channel/None",
461                               test_uiinfo);
462 }
463
464
465 void
466 on_pause_clicked                       (GtkButton       *button,
467                                         gpointer         user_data)
468 {
469     intf_thread_t *p_intf;
470
471     p_intf = GET_GNOME_STRUCT( button, "intf_window" );
472
473     input_Pause( p_intf->p_input );
474 }
475
476
477 void
478 on_popup_pause_activate                (GtkMenuItem     *menuitem,
479                                         gpointer         user_data)
480 {
481     intf_thread_t *p_intf;
482
483     p_intf = GET_GNOME_STRUCT( menuitem, "intf_popup" );
484
485     input_Pause( p_intf->p_input );
486 }
487
488
489
490 void
491 on_mute_clicked                        (GtkButton       *button,
492                                         gpointer         user_data)
493 {
494
495 }
496
497
498 void
499 on_popup_mute_activate                 (GtkMenuItem     *menuitem,
500                                         gpointer         user_data)
501 {
502
503 }
504