Bug fix for menu visibility toggle.
This commit is contained in:
parent
6de7a68149
commit
b4b2cca9ec
|
@ -2698,7 +2698,7 @@ static GtkWidget *CreateMenubar (GtkWidget * window)
|
|||
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
|
||||
|
||||
//-Options --> Toggle Menubar ---------------------
|
||||
item = gtk_check_menu_item_new_with_label ("Toggle Menubar (alt)");
|
||||
item = gtk_check_menu_item_new_with_label ("Toggle Menubar (Alt+M)");
|
||||
|
||||
//gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(item), FALSE);
|
||||
|
||||
|
@ -3039,27 +3039,19 @@ void showGui (bool b)
|
|||
}
|
||||
}
|
||||
|
||||
gint handleKeyRelease (GtkWidget * w, GdkEvent * event, gpointer cb_data)
|
||||
void toggleMenuVis(void)
|
||||
{
|
||||
if (menuTogglingEnabled)
|
||||
{
|
||||
static bool menuShown = true;
|
||||
if (((GdkEventKey *) event)->keyval == GDK_KEY_Alt_L
|
||||
|| ((GdkEventKey *) event)->keyval == GDK_KEY_Alt_R)
|
||||
if ( gtk_widget_get_visible(Menubar) )
|
||||
{
|
||||
if (menuShown)
|
||||
{
|
||||
gtk_widget_hide (Menubar);
|
||||
menuShown = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_widget_show (Menubar);
|
||||
menuShown = true;
|
||||
}
|
||||
gtk_widget_hide (Menubar);
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_widget_show (Menubar);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
};
|
||||
|
||||
int GtkMouseData[3] = { 0, 0, 0 };
|
||||
|
@ -3685,9 +3677,6 @@ int InitGTKSubsystem (int argc, char **argv)
|
|||
g_signal_connect (G_OBJECT (evbox), "button-release-event",
|
||||
G_CALLBACK (handleMouseClick), NULL);
|
||||
|
||||
// TODO Menu Bar Toggle Needs Work
|
||||
//g_signal_connect(G_OBJECT(MainWindow), "key-release-event", G_CALLBACK(handleKeyRelease), NULL);
|
||||
|
||||
// signal handlers
|
||||
g_signal_connect (MainWindow, "delete-event", quit, NULL);
|
||||
g_signal_connect (MainWindow, "destroy-event", quit, NULL);
|
||||
|
|
|
@ -33,6 +33,7 @@ extern bool gtkIsStarted;
|
|||
int InitGTKSubsystem(int argc, char** argv);
|
||||
void pushOutputToGTK(const char* str);
|
||||
void showGui(bool b);
|
||||
void toggleMenuVis(void);
|
||||
|
||||
bool checkGTKVersion(int major_required, int minor_required);
|
||||
|
||||
|
|
|
@ -501,31 +501,45 @@ static void KeyboardCommands (void)
|
|||
//{
|
||||
// ToggleFS ();
|
||||
//}
|
||||
//
|
||||
|
||||
// Alt-M to toggle Main Menu Visibility
|
||||
if ( is_alt )
|
||||
{
|
||||
if (keyonly (M))
|
||||
{
|
||||
toggleMenuVis();
|
||||
}
|
||||
}
|
||||
|
||||
// Toggle Movie auto-backup
|
||||
if (keyonly (M) && is_shift)
|
||||
if ( is_shift )
|
||||
{
|
||||
autoMovieBackup ^= 1;
|
||||
FCEUI_DispMessage ("Automatic movie backup %sabled.", 0,
|
||||
autoMovieBackup ? "en" : "dis");
|
||||
if (keyonly (M))
|
||||
{
|
||||
autoMovieBackup ^= 1;
|
||||
FCEUI_DispMessage ("Automatic movie backup %sabled.", 0,
|
||||
autoMovieBackup ? "en" : "dis");
|
||||
}
|
||||
}
|
||||
|
||||
// Start recording an FM2 movie on Alt+R
|
||||
if (keyonly (R) && is_alt)
|
||||
if ( is_alt )
|
||||
{
|
||||
FCEUD_MovieRecordTo ();
|
||||
}
|
||||
|
||||
// Save a state from a file
|
||||
if (keyonly (S) && is_alt)
|
||||
{
|
||||
FCEUD_SaveStateAs ();
|
||||
}
|
||||
|
||||
// Load a state from a file
|
||||
if (keyonly (L) && is_alt)
|
||||
{
|
||||
FCEUD_LoadStateFrom ();
|
||||
// Start recording an FM2 movie on Alt+R
|
||||
if (keyonly (R))
|
||||
{
|
||||
FCEUD_MovieRecordTo ();
|
||||
}
|
||||
// Save a state from a file
|
||||
if (keyonly (S))
|
||||
{
|
||||
FCEUD_SaveStateAs ();
|
||||
}
|
||||
// Load a state from a file
|
||||
if (keyonly (L))
|
||||
{
|
||||
FCEUD_LoadStateFrom ();
|
||||
}
|
||||
}
|
||||
|
||||
// Famicom disk-system games
|
||||
|
|
Loading…
Reference in New Issue