~ubuntu-branches/ubuntu/breezy/soundtracker/breezy

« back to all changes in this revision

Viewing changes to app/gui-subs.c

  • Committer: Bazaar Package Importer
  • Author(s): Junichi Uekawa
  • Date: 2005-04-18 07:19:14 UTC
  • mfrom: (2.1.1 warty)
  • Revision ID: james.westby@ubuntu.com-20050418071914-b9m1ptfdnz8mqm7a
Tags: 0.6.7-5
* disable alsa (closes: #286350, #304711)
- it was doing double-free.
* update jack support, not enabled.
- 02_jack_output: Patch from Kai Vehmanen available as
  http://eca.cx/download/soundtracker-0.6.7-pre6-kv3.tar.gz
  applied.
- Build-Depend on libjack0.80.0-dev
- remove --disable-jack from configure line
* change soundtracker.1 section from 1x to 1

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
#include "extspinbutton.h"
30
30
 
31
31
static const char *status_messages[] = {
32
 
    N_("Idle."),
 
32
    N_("Ready."),
33
33
    N_("Playing song..."),
34
34
    N_("Playing pattern..."),
35
35
    N_("Loading module..."),
48
48
    N_("Song saved."),
49
49
};
50
50
 
 
51
static GtkWidget *aacdialog = NULL;
 
52
static void(*aaccallback)(gint,gpointer);
 
53
static gpointer aaccallbackdata;
 
54
 
51
55
void
52
56
statusbar_update (int message, gboolean force_update)
53
57
{
220
224
    g_free(dn);
221
225
}
222
226
 
 
227
/* Return TRUE if there is a non-empty basename in the given
 
228
 * filename. */
 
229
gboolean
 
230
file_selection_is_valid (const gchar *fn)
 
231
{
 
232
    gchar *basename = g_basename(fn);
 
233
 
 
234
    return basename != NULL && strlen(basename) > 0;
 
235
}
 
236
 
223
237
static void
224
238
gui_subs_slider_update_1 (GtkWidget *w,
225
239
                          gui_subs_slider *s)
312
326
 
313
327
    /* p+1 and the extra set_value is required due to a bug in gtk+ */
314
328
    adj = GTK_ADJUSTMENT(gtk_adjustment_new(p+1, min, max, 1, 1, 0));
315
 
    gtk_spin_button_set_adjustment(spin, adj);
 
329
    gtk_spin_button_set_adjustment(spin, adj); /* old adjustment is freed automagically */
316
330
    gtk_adjustment_set_value(adj, p);
317
331
}
318
332
 
329
343
    if(adj->upper != upper || adj->page_size != window) {
330
344
        /* pos+1 and the extra set_value is required due to a bug in gtk 1.0.4 */
331
345
        adj = GTK_ADJUSTMENT(gtk_adjustment_new(pos+1, 0, upper, 1, window-2, window));
332
 
        gtk_range_set_adjustment(range, adj);
 
346
        gtk_range_set_adjustment(range, adj); /* old adjustment is freed automagically */
333
347
        gtk_adjustment_set_value(adj, pos);
334
348
        gtk_signal_connect(GTK_OBJECT(adj), "value_changed", GTK_SIGNAL_FUNC(func), NULL);
335
349
    } else {
338
352
    }
339
353
}
340
354
 
 
355
void
 
356
gui_hang_tooltip (GtkWidget *widget, const gchar *text)
 
357
{
 
358
    GtkTooltips *tips = NULL;
 
359
    
 
360
    if(!tips) {
 
361
        tips = gtk_tooltips_new();
 
362
    }
 
363
    gtk_tooltips_set_tip(tips, widget, text, NULL);
 
364
}
 
365
 
341
366
// Stolen from testgtk.c and modified
342
367
GtkWidget *
343
368
gui_build_option_menu (OptionMenuItem items[],
359
384
    {
360
385
      menu_item = gtk_radio_menu_item_new_with_label (group, items[i].name);
361
386
      gtk_signal_connect (GTK_OBJECT (menu_item), "activate",
362
 
                          (GtkSignalFunc) items[i].func, (void*)i);
 
387
                          (GtkSignalFunc) items[i].func, GINT_TO_POINTER(i));
363
388
      group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (menu_item));
364
389
      gtk_menu_append (GTK_MENU (menu), menu_item);
365
390
      if (i == history)
431
456
   return button;
432
457
}
433
458
 
 
459
static void
 
460
aacdialog_close (gpointer data)
 
461
{
 
462
    gtk_widget_destroy(aacdialog);
 
463
    aacdialog = NULL;
 
464
    
 
465
    aaccallback((gint)data, aaccallbackdata);
 
466
}
 
467
 
 
468
void
 
469
gui_yes_no_cancel_modal (GtkWidget *window,
 
470
                           const gchar *text,
 
471
                           void (*callback)(gint, gpointer),
 
472
                           gpointer data)
 
473
{
 
474
    GtkWidget *label, *button;
 
475
 
 
476
    g_return_if_fail(aacdialog == NULL);
 
477
 
 
478
    aaccallback = callback;
 
479
    aaccallbackdata = data;
 
480
    
 
481
    aacdialog = gtk_dialog_new();
 
482
    gtk_window_position (GTK_WINDOW(aacdialog), GTK_WIN_POS_CENTER);
 
483
    gtk_window_set_title(GTK_WINDOW(aacdialog), _("Question"));
 
484
    gtk_window_set_modal(GTK_WINDOW(aacdialog), TRUE);
 
485
    gtk_window_set_transient_for(GTK_WINDOW(aacdialog), GTK_WINDOW(window));
 
486
 
 
487
    label = gtk_label_new(text);
 
488
    gtk_container_border_width(GTK_CONTAINER(GTK_DIALOG(aacdialog)->vbox), 10);
 
489
    gtk_box_pack_start(GTK_BOX(GTK_DIALOG(aacdialog)->vbox), label, TRUE, TRUE, 10);
 
490
    gtk_widget_show(label);
 
491
    
 
492
    button = gtk_button_new_with_label (_("Yes"));
 
493
    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
 
494
    gtk_box_pack_start (GTK_BOX (GTK_DIALOG(aacdialog)->action_area), button, TRUE, TRUE, 10);
 
495
    gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
 
496
                               GTK_SIGNAL_FUNC (aacdialog_close), (gpointer)0);
 
497
    gtk_widget_grab_default (button);
 
498
    gtk_widget_show (button);
 
499
    
 
500
    button = gtk_button_new_with_label (_("No"));
 
501
    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
 
502
    gtk_box_pack_start (GTK_BOX (GTK_DIALOG(aacdialog)->action_area), button, TRUE, TRUE, 10);
 
503
    gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
 
504
                               GTK_SIGNAL_FUNC (aacdialog_close), (gpointer)1);
 
505
    gtk_widget_show (button);
 
506
    
 
507
    button = gtk_button_new_with_label (_("Cancel"));
 
508
    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
 
509
    gtk_box_pack_start (GTK_BOX (GTK_DIALOG(aacdialog)->action_area), button, TRUE, TRUE, 10);
 
510
    gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
 
511
                               GTK_SIGNAL_FUNC (aacdialog_close), (gpointer)2);
 
512
    gtk_widget_show (button);
 
513
    
 
514
    gtk_widget_show(aacdialog);
 
515
}
 
516
 
 
517
 
434
518
#ifndef USE_GNOME
435
519
 
436
520
static GtkWidget *cdialog = NULL;
443
527
    gtk_widget_destroy(cdialog);
444
528
    cdialog = NULL;
445
529
    
446
 
    ccallback((gint)data, ccallbackdata);
 
530
    ccallback(GPOINTER_TO_INT(data), ccallbackdata);
447
531
}
448
532
 
449
533
static void