~ubuntu-branches/ubuntu/maverick/vice/maverick

« back to all changes in this revision

Viewing changes to src/arch/unix/x11/gnome/x11ui.c

  • Committer: Bazaar Package Importer
  • Author(s): Zed Pobre
  • Date: 2005-02-01 11:30:26 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20050201113026-3eyakzsmmheclvjg
Tags: 1.16-1
* New upstream version
* Fixes crash on 64-bit architectures (closes: #287640)
* x128 working again (closes: #286767)
* Works fine with /dev/dsp in use (not in the main changelog, but tested
  on my local machine as working).  Presumably, this also takes care of
  the issue with dsp being held.  I'm not sure if this is because I'm
  testing it on a 2.6 kernel now -- if you are still having problems
  with /dev/dsp, please reopen the bugs. (closes: #152952, #207942)
* Don't kill Makefile.in on clean

Show diffs side-by-side

added added

removed removed

Lines of Context:
87
87
#include "x11ui.h"
88
88
#include "screenshot.h"
89
89
#include "event.h"
 
90
#include "uifliplist.h"
90
91
 
91
92
 
92
93
/* FIXME: We want these to be static.  */
228
229
                                      GtkWidget **attach_write_protect);
229
230
static GtkWidget* build_show_text(const String text, int width, int height);
230
231
static GtkWidget* build_confirm_dialog(GtkWidget **confirm_dialog_message);
231
 
UI_CALLBACK(enter_window_callback);
232
 
UI_CALLBACK(exposure_callback_app);
233
 
UI_CALLBACK(exposure_callback_canvas);
 
232
static gboolean enter_window_callback(GtkWidget *w, GdkEvent *e, gpointer p);
 
233
static gboolean exposure_callback_app(GtkWidget *w, GdkEvent *e, gpointer p);
 
234
static gboolean exposure_callback_canvas(GtkWidget *w, GdkEvent *e, 
 
235
                                         gpointer p);
 
236
static gboolean fliplist_popup_cb(GtkWidget *w, GdkEvent *event, 
 
237
                                  gpointer data);
 
238
static gboolean tape_popup_cb(GtkWidget *w, GdkEvent *event, gpointer data);
 
239
static gboolean update_menu_cb(GtkWidget *w, GdkEvent *event,gpointer data);
 
240
static void filesel_autostart_cb(GtkWidget *w, gpointer data);
 
241
static gboolean speed_popup_cb(GtkWidget *w, GdkEvent *event, gpointer data);
 
242
 
234
243
static GtkWidget* rebuild_contents_menu(int unit, const char *image_name);
235
244
extern GtkWidget* build_pal_ctrl_widget(video_canvas_t *canvas);
236
245
 
360
369
    if (fullscreen_is_enabled)
361
370
        return;
362
371
#endif
363
 
 
364
372
    if(_mouse_enabled && cursor_is_blank) {
365
373
        /*        XUndefineCursor(display,XtWindow(canvas));*/
366
374
        gdk_keyboard_ungrab(CurrentTime);
409
417
{
410
418
    display = GDK_DISPLAY();
411
419
 
412
 
    screen =  XDefaultScreen(display);
 
420
    screen = XDefaultScreen(display);
413
421
    atexit(ui_autorepeat_on);
414
422
 
 
423
    ui_common_init();
 
424
 
415
425
    ui_hotkey_init();
416
426
 
417
427
    enabled_drives = UI_DRIVE_ENABLE_NONE;
468
478
    }
469
479
}
470
480
 
471
 
void fliplist_popup_cb(GtkWidget *w, GdkEvent *event, gpointer data)
 
481
static gboolean fliplist_popup_cb(GtkWidget *w, GdkEvent *event, gpointer data)
472
482
{
473
483
    int d = (int) data;
474
484
    if (event->type == GDK_BUTTON_PRESS) {
477
487
        {
478
488
            if ((d >= 0)&& (d < NUM_DRIVES))
479
489
            {
480
 
                ui_update_flip_menus(d+8, d+8);
 
490
                uifliplist_update_menus(d+8, d+8);
481
491
                ui_menu_update_all_GTK();
482
492
                if (drive_menus[d])
483
493
                    gtk_menu_popup(GTK_MENU(drive_menus[d]),
494
504
                if (last_menus)
495
505
                    lib_free(last_menus[d]);
496
506
                last_menus[d] = NULL;
497
 
                return;
 
507
                return 0;
498
508
            }
499
509
            
500
510
            if ((last_menus[d] == NULL) ||
514
524
                               bevent->button, bevent->time);
515
525
        }
516
526
    }
 
527
    return 0;
517
528
}
518
529
 
519
 
static void tape_popup_cb(GtkWidget *w, GdkEvent *event, gpointer data)
 
530
static gboolean tape_popup_cb(GtkWidget *w, GdkEvent *event, gpointer data)
520
531
{
521
532
    if(event->type == GDK_BUTTON_PRESS) {
522
533
        GdkEventButton *bevent = (GdkEventButton*) event;
539
550
                if (lasttapemenu)
540
551
                    lib_free(lasttapemenu);
541
552
                lasttapemenu = NULL;
542
 
                return;
 
553
                return 0;
543
554
            }
544
555
 
545
556
            if ((lasttapemenu == NULL) ||
557
568
                               bevent->button, bevent->time);
558
569
        }
559
570
    }
 
571
    return 0;
560
572
}
561
573
 
562
 
void update_menu_cb(GtkWidget *w, GdkEvent *event,gpointer data)
 
574
static gboolean update_menu_cb(GtkWidget *w, GdkEvent *event,gpointer data)
563
575
{
564
576
    ui_menu_update_all_GTK();
 
577
    return 0;
565
578
}
566
579
 
567
580
static void filesel_autostart_cb(GtkWidget *w, gpointer data)
569
582
    *((ui_button_t *)data) = UI_BUTTON_AUTOSTART;
570
583
}
571
584
 
572
 
static void speed_popup_cb(GtkWidget *w, GdkEvent *event, gpointer data)
 
585
static gboolean speed_popup_cb(GtkWidget *w, GdkEvent *event, gpointer data)
573
586
{
574
587
    if(event->type == GDK_BUTTON_PRESS) {
575
588
        GdkEventButton *bevent = (GdkEventButton*) event;
581
594
                           bevent->button, bevent->time);
582
595
        }
583
596
    }
 
597
    return 0;
584
598
}
585
599
 
586
600
/* Continue GUI initialization after resources are set. */
1717
1731
        gtk_widget_hide(event_rec_checkbox);
1718
1732
}
1719
1733
 
1720
 
void ui_display_playback(int playback_status)
 
1734
void ui_display_playback(int playback_status, char *version)
1721
1735
{
1722
1736
    if (playback_status)
1723
1737
        gtk_widget_show(event_playback_checkbox);
2258
2272
                                        path);
2259
2273
            lib_free(path);
2260
2274
        } else {
 
2275
            path = util_concat(default_dir, "/*", NULL);
2261
2276
            gtk_file_selection_set_filename(GTK_FILE_SELECTION(file_selector), 
2262
2277
                                            default_dir);
 
2278
            gtk_file_selection_complete(GTK_FILE_SELECTION(file_selector),
 
2279
                                        path);
 
2280
            lib_free(path);
2263
2281
        }
2264
2282
    }  else {
2265
2283
        char *newdir = ioutil_current_dir();
2741
2759
 
2742
2760
/* Miscellaneous callbacks.  */
2743
2761
 
2744
 
UI_CALLBACK(enter_window_callback)
 
2762
gboolean enter_window_callback(GtkWidget *w, GdkEvent *e, gpointer p)
2745
2763
{
2746
2764
    _ui_top_level = gtk_widget_get_toplevel(w);
 
2765
    return 0;
2747
2766
}
2748
2767
 
2749
 
UI_CALLBACK(exposure_callback_app)
 
2768
gboolean exposure_callback_app(GtkWidget *w, GdkEvent *e, gpointer client_data)
2750
2769
{
2751
2770
    video_canvas_t *canvas = (video_canvas_t *)client_data;
2752
2771
 
2753
2772
    /*�XVideo must be refreshed when the shell window is moved. */
2754
 
    if (canvas && use_xvideo
 
2773
    if (canvas && canvas->videoconfig->hwscale
2755
2774
        && (canvas->videoconfig->rendermode == VIDEO_RENDER_PAL_1X1
2756
2775
            || canvas->videoconfig->rendermode == VIDEO_RENDER_PAL_2X2))
2757
2776
    {
2758
2777
        video_canvas_refresh_all(canvas);
2759
2778
    }
 
2779
    return 0;
2760
2780
}
2761
2781
 
2762
 
UI_CALLBACK(exposure_callback_canvas)
 
2782
gboolean exposure_callback_canvas(GtkWidget *w, GdkEvent *e, 
 
2783
                                  gpointer client_data)
2763
2784
{
2764
2785
    video_canvas_t *canvas = (video_canvas_t *)client_data;
2765
2786
 
2766
2787
    if (!canvas) {
2767
 
        return;
 
2788
        return 0;
2768
2789
    }
2769
2790
 
2770
2791
    /* No resize for XVideo. */
2771
 
    if (use_xvideo
 
2792
    if (canvas->videoconfig->hwscale
2772
2793
        && (canvas->videoconfig->rendermode == VIDEO_RENDER_PAL_1X1
2773
2794
            || canvas->videoconfig->rendermode == VIDEO_RENDER_PAL_2X2))
2774
2795
    {
2782
2803
        /* FIXME: This makes the canvas grow uncontrolled. */
2783
2804
        /* video_canvas_redraw_size(canvas, req.width, req.height); */
2784
2805
    }
 
2806
    return 0;
2785
2807
}
2786
2808
 
2787
2809
/* ------------------------------------------------------------------------- */