]> Shamusworld >> Repos - apple2/blobdiff - src/apple2.cpp
Added initial emulator configuration window, cleanup of settings code.
[apple2] / src / apple2.cpp
index 6d893fa63f5d4be9517f06a5be87f5d594a6cb90..e97363afdf68a4ea4555c383645fdc4b81e20f70 100644 (file)
@@ -57,8 +57,9 @@
 #include "sound.h"
 #include "timing.h"
 #include "video.h"
-#include "gui/gui.h"
 #include "gui/diskselector.h"
+#include "gui/config.h"
+#include "gui/gui.h"
 
 // Debug and misc. defines
 
@@ -673,9 +674,9 @@ while (pc < 0x9FF)
 }
 #endif
 
+       SaveSettings();
        SoundDone();
        VideoDone();
-       SaveSettings();
        LogDone();
 
        return 0;
@@ -752,6 +753,10 @@ static void FrameCallback(void)
                        if (event.key.repeat != 0)
                                break;
 
+                       // This breaks IMEs and the like, but we'll do simple for now
+                       if (GUI::KeyDown(event.key.keysym.sym))
+                               break;
+
                        // Use CTRL+SHIFT+Q to exit, as well as the usual window decoration
                        // method
                        if ((event.key.keysym.mod & KMOD_CTRL)
@@ -1033,7 +1038,7 @@ else if (event.key.keysym.sym == SDLK_F9)
 
        // Hide the mouse if it's been 1s since the last time it was moved
        // N.B.: Should disable mouse hiding if it's over the GUI...
-       if ((hideMouseTimeout > 0) && !(GUI::sidebarState == SBS_SHOWN || DiskSelector::showWindow == true))
+       if ((hideMouseTimeout > 0) && !(GUI::sidebarState == SBS_SHOWN || DiskSelector::showWindow == true || Config::showWindow == true))
                hideMouseTimeout--;
        else if (hideMouseTimeout == 0)
        {