247
340
gchar *ownerstring;
342
#if GTK_CHECK_VERSION(2,4,0)
343
GtkWidget *jukeboxowner_dialog;
344
GtkWidget *jukeboxowner_entry;
348
if (!jukebox_selected()) {
349
create_select_jukebox_dialog();
352
jukeboxowner_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window),
353
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
354
GTK_MESSAGE_QUESTION,
355
GTK_BUTTONS_OK_CANCEL,
356
_("Set owner string"));
357
gtk_box_set_spacing (GTK_BOX(GTK_DIALOG(jukeboxowner_dialog)->vbox), 5);
359
label = gtk_label_new(_("Edit the owner of this jukebox:"));
360
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(jukeboxowner_dialog)->vbox),
361
label, TRUE, TRUE, 0);
362
gtk_widget_show(label);
363
jukeboxowner_entry = gtk_entry_new();
364
ownerstring = jukebox_get_ownerstring();
365
if (ownerstring != NULL)
366
gtk_entry_set_text(GTK_ENTRY(jukeboxowner_entry), ownerstring);
367
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(jukeboxowner_dialog)->vbox), jukeboxowner_entry, TRUE, TRUE, 0);
368
gtk_widget_show(jukeboxowner_entry);
369
gtk_widget_show_all(jukeboxowner_dialog);
370
i = gtk_dialog_run(GTK_DIALOG(jukeboxowner_dialog));
371
if (i == GTK_RESPONSE_OK) {
372
if (jukebox_locked) {
373
create_error_dialog(_("Jukebox busy - change discarded"));
376
owner = g_strdup(gtk_entry_get_text(GTK_ENTRY(jukeboxowner_entry)));
377
jukebox_set_ownerstring(owner);
379
gtk_widget_destroy(jukeboxowner_dialog);
381
gtk_widget_destroy(jukeboxowner_dialog);
384
if (!jukebox_selected()) {
385
create_select_jukebox_dialog();
250
388
jukeboxowner_dialog = gnome_dialog_new(_("Set owner string"),
251
389
GNOME_STOCK_BUTTON_OK,
252
390
GNOME_STOCK_BUTTON_CANCEL,
270
408
gtk_box_pack_start(GTK_BOX(GNOME_DIALOG(jukeboxowner_dialog)->vbox), jukeboxowner_entry, TRUE, TRUE, 0);
271
409
gtk_widget_show(jukeboxowner_entry);
272
410
gtk_widget_show(jukeboxowner_dialog);
275
static void add_to_dialog(GtkWidget *dialog, GtkWidget *thing)
277
gtk_box_pack_start (GTK_BOX(GNOME_DIALOG(dialog)->vbox), thing, TRUE, TRUE, 0);
280
415
static void information_dialog(gpointer data)
282
GtkWidget *label, *button, *dialog, *hbox;
285
guint64 total, free, used;
286
guint songs, playlists, datafiles;
289
419
if (jukebox_locked) {
290
420
create_error_dialog(_("Cannot view information! Jukebox is busy!"));
294
dialog = gnome_dialog_new(_("Jukebox information"),
295
GNOME_STOCK_BUTTON_OK,
297
gnome_dialog_button_connect_object(GNOME_DIALOG(dialog),
299
GTK_SIGNAL_FUNC(gtk_widget_destroy),
301
hbox = gtk_hbox_new(FALSE, 0);
302
label = gtk_label_new (_("Unique device ID:"));
303
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
304
gtk_widget_show (label);
305
add_empty_hbox (hbox);
306
label = gtk_label_new(jukebox_get_idstring());
307
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
308
gtk_widget_show(label);
309
add_to_dialog(dialog, hbox);
310
gtk_widget_show (hbox);
312
hbox = gtk_hbox_new(FALSE, 0);
313
label = gtk_label_new (_("Firmware revision:"));
314
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
315
gtk_widget_show (label);
316
add_empty_hbox (hbox);
317
label = gtk_label_new(jukebox_get_firmware());
318
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
319
gtk_widget_show(label);
320
add_to_dialog(dialog, hbox);
321
gtk_widget_show (hbox);
323
hbox = gtk_hbox_new(FALSE, 0);
324
label = gtk_label_new (_("Product name:"));
325
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
326
gtk_widget_show (label);
327
add_empty_hbox (hbox);
328
label = gtk_label_new(jukebox_get_prodname());
329
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
330
gtk_widget_show(label);
331
add_to_dialog(dialog, hbox);
332
gtk_widget_show (hbox);
334
hbox = gtk_hbox_new(FALSE, 0);
335
label = gtk_label_new (_("Power connected:"));
336
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
337
gtk_widget_show (label);
338
add_empty_hbox (hbox);
339
label = gtk_label_new((jukebox_get_power()) ? _("Yes") : _("No"));
340
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
341
gtk_widget_show(label);
342
add_to_dialog(dialog, hbox);
343
gtk_widget_show (hbox);
345
hbox = gtk_hbox_new(FALSE, 0);
346
label = gtk_label_new (_("Jukebox owner:"));
347
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
348
gtk_widget_show (label);
349
add_empty_hbox (hbox);
350
sprintf(tmp, "%s", jukebox_get_ownerstring());
351
label = gtk_label_new(tmp);
352
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
353
gtk_widget_show(label);
354
add_to_dialog(dialog, hbox);
355
gtk_widget_show (hbox);
357
#ifdef NJB_HASGETTIME
358
hbox = gtk_hbox_new(FALSE, 0);
359
label = gtk_label_new (_("Time on jukebox:"));
360
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
361
gtk_widget_show (label);
362
add_empty_hbox (hbox);
363
label = gtk_label_new(jukebox_get_time());
364
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
365
gtk_widget_show(label);
366
add_to_dialog(dialog, hbox);
367
gtk_widget_show (hbox);
371
jukebox_getusage(&total, &free, &used, &songs, &playlists, &datafiles);
373
hbox = gtk_hbox_new(FALSE, 0);
374
label = gtk_label_new (_("Total bytes on disk:"));
375
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
376
gtk_widget_show (label);
377
add_empty_hbox (hbox);
378
sprintf(tmp, "%Lu (%Lu MB)",
379
total, (guint64) total/G_GINT64_CONSTANT(1048576));
380
label = gtk_label_new(tmp);
381
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
382
gtk_widget_show(label);
383
add_to_dialog(dialog, hbox);
384
gtk_widget_show (hbox);
386
hbox = gtk_hbox_new(FALSE, 0);
387
label = gtk_label_new (_("Total free bytes available:"));
388
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
389
gtk_widget_show (label);
390
add_empty_hbox (hbox);
391
sprintf(tmp, "%Lu (%Lu MB)",
392
free, (guint64) free/G_GINT64_CONSTANT(1048576));
393
label = gtk_label_new(tmp);
394
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
395
gtk_widget_show(label);
396
add_to_dialog(dialog, hbox);
397
gtk_widget_show (hbox);
399
hbox = gtk_hbox_new(FALSE, 0);
400
label = gtk_label_new (_("Total bytes used:"));
401
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
402
gtk_widget_show (label);
403
add_empty_hbox (hbox);
404
sprintf(tmp, "%Lu (%Lu MB)",
405
used, (guint64) used/G_GINT64_CONSTANT(1048576));
406
label = gtk_label_new(tmp);
407
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
408
gtk_widget_show(label);
409
add_to_dialog(dialog, hbox);
410
gtk_widget_show (hbox);
412
hbox = gtk_hbox_new(FALSE, 0);
413
label = gtk_label_new (_("Number of songs:"));
414
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
415
gtk_widget_show (label);
416
add_empty_hbox (hbox);
417
sprintf(tmp, "%lu", songs);
418
label = gtk_label_new(tmp);
419
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
420
gtk_widget_show(label);
421
add_to_dialog(dialog, hbox);
422
gtk_widget_show (hbox);
424
hbox = gtk_hbox_new(FALSE, 0);
425
label = gtk_label_new (_("Number of playlists:"));
426
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
427
gtk_widget_show (label);
428
add_empty_hbox (hbox);
429
sprintf(tmp, "%lu", playlists);
430
label = gtk_label_new(tmp);
431
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
432
gtk_widget_show(label);
433
add_to_dialog(dialog, hbox);
434
gtk_widget_show (hbox);
436
hbox = gtk_hbox_new(FALSE, 0);
437
label = gtk_label_new (_("Number of datafiles:"));
438
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
439
gtk_widget_show (label);
440
add_empty_hbox (hbox);
441
sprintf(tmp, "%lu", datafiles);
442
label = gtk_label_new(tmp);
443
gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
444
gtk_widget_show(label);
445
add_to_dialog(dialog, hbox);
446
gtk_widget_show (hbox);
449
gtk_widget_show(dialog);
424
dialog = jukebox_get_deviceinfo_dialog();
425
if (dialog != NULL) {
426
gtk_widget_show(dialog);
428
create_error_dialog(_("Cannot retrieve jukebox information!"));
452
432
/***********************************************************************************/
512
496
gdk_color_black(cmap, &darkblue);
515
window = gnome_app_new(PACKAGE, cProgramName);
516
gtk_window_set_wmclass(GTK_WINDOW(window), PACKAGE, "main");
517
gtk_widget_set_usize(GTK_WIDGET(window), 640, 480);
499
#if GTK_CHECK_VERSION(2,6,0)
500
main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
501
gtk_window_set_title (GTK_WINDOW (main_window), cProgramName);
502
icon_pixbuf = gdk_pixbuf_new_from_file(PIXMAPSDIR "/gnomad2-logo.png", &icon_load_error);
503
if (icon_pixbuf != NULL) {
504
gtk_window_set_default_icon(icon_pixbuf);
507
main_window = gnome_app_new(PACKAGE, cProgramName);
509
gtk_window_set_wmclass(GTK_WINDOW(main_window), PACKAGE, "main");
510
gtk_widget_set_usize(GTK_WIDGET(main_window), 640, 480);
519
g_signal_connect(GTK_OBJECT(window),
512
g_signal_connect(GTK_OBJECT(main_window),
521
514
G_CALLBACK(delete),
524
g_signal_connect(GTK_OBJECT(window),
517
g_signal_connect(GTK_OBJECT(main_window),
526
519
G_CALLBACK(expose),
529
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
522
gtk_container_set_border_width (GTK_CONTAINER (main_window), 0);
531
524
/* Create metadata list stores */
532
525
create_list_stores();
534
527
/* Create a GtkAccelGroup and add it to the window. */
535
528
accel_group = gtk_accel_group_new();
536
gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
529
gtk_window_add_accel_group (GTK_WINDOW (main_window), accel_group);
538
531
/* Stuff everything into a vertical box */
539
vbox=gtk_vbox_new(FALSE, 5);
532
vbox = gtk_vbox_new(FALSE, 5);
540
533
gtk_container_set_border_width(GTK_CONTAINER(vbox), 0);
541
gnome_app_set_contents(GNOME_APP(window), vbox);
534
#if GTK_CHECK_VERSION(2,6,0)
535
gtk_container_add(GTK_CONTAINER(main_window), vbox);
537
gnome_app_set_contents(GNOME_APP(main_window), vbox);
542
539
gtk_widget_show(vbox);
544
541
/* Create the menu bar */