diff --git a/desmume/src/gtk-glade/callbacks.c b/desmume/src/gtk-glade/callbacks.c index 5ebcdb9c6..98ceeaf6f 100755 --- a/desmume/src/gtk-glade/callbacks.c +++ b/desmume/src/gtk-glade/callbacks.c @@ -188,6 +188,14 @@ void on_menu_controls_activate (GtkMenuItem *menuitem, gpointer user_data) edit_controls(); } +void on_menu_joy_controls_activate (GtkMenuItem *menuitem, gpointer +user_data) +{ + GtkDialog * dlg = (GtkDialog*)glade_xml_get_widget(xml, "wJoyConfDlg"); + init_joy_labels(); + gtk_dialog_run(dlg); +} + void on_menu_audio_on_activate (GtkMenuItem *menuitem, gpointer user_data) { /* we want set audio emulation ON or OFF */ if (gtk_check_menu_item_get_active((GtkCheckMenuItem*)menuitem)) { diff --git a/desmume/src/gtk-glade/callbacks_IO.c b/desmume/src/gtk-glade/callbacks_IO.c index f10b1decc..7c53cf6c0 100755 --- a/desmume/src/gtk-glade/callbacks_IO.c +++ b/desmume/src/gtk-glade/callbacks_IO.c @@ -272,6 +272,32 @@ void init_labels() { } } +/* Initialize the joystick controls labels for the configuration window */ +void init_joy_labels() { + int i; + char text[50], bname[30]; + GtkButton *b; + for (i=0; i<4; i++) { + /* Key not configured */ + if( joypadCfg[i] == (u16)(-1) ) continue; + + sprintf(text,"%s : %d\0\0",DESMUME_KEY_NAMES[i],joypadCfg[i]); + sprintf(bname,"button_joy_%s\0\0",DESMUME_KEY_NAMES[i]); + b = (GtkButton*)glade_xml_get_widget(xml, bname); + gtk_button_set_label(b,text); + } + /* Skipping Axis */ + for (i=8; i - + True gtk-refresh 1 @@ -323,12 +323,33 @@ True - Controls + Keyboard controls True - + + True + gtk-preferences + 1 + 0.5 + 0.5 + 0 + 0 + + + + + + + + True + Joystick controls + True + + + + True gtk-preferences 1 @@ -402,7 +423,7 @@ - + True gtk-properties 1 diff --git a/desmume/src/gtk-glade/globals.h b/desmume/src/gtk-glade/globals.h index 6a93ca182..f268ff862 100755 --- a/desmume/src/gtk-glade/globals.h +++ b/desmume/src/gtk-glade/globals.h @@ -68,6 +68,7 @@ gboolean ScreenGap; void black_screen (); void edit_controls(); +void init_joy_labels(); /* printscreen.c */ int WriteBMP(const char *filename,u16 *bmp);