summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorluisr142004 <luisr142004@gmail.com>2010-02-09 00:34:27 +0000
committerluisr142004 <luisr142004@gmail.com>2010-02-09 00:34:27 +0000
commitc291a2db676c330bec77e77cc08ed5210be3daae (patch)
treeac01153020c6a5802164060096a2866ed29c61ed /Source/Core
parente93e777ffb941af612805ee438db5b8c0e5b5c73 (diff)
make ESC pause the game now instead of quitting plus fix another bug with key and window handling
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5035 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/DolphinWX/Src/Frame.cpp9
-rw-r--r--Source/Core/DolphinWX/Src/Frame.h1
-rw-r--r--Source/Core/DolphinWX/Src/FrameTools.cpp8
3 files changed, 16 insertions, 2 deletions
diff --git a/Source/Core/DolphinWX/Src/Frame.cpp b/Source/Core/DolphinWX/Src/Frame.cpp
index e8f478b794..7cfef5fc0d 100644
--- a/Source/Core/DolphinWX/Src/Frame.cpp
+++ b/Source/Core/DolphinWX/Src/Frame.cpp
@@ -145,6 +145,11 @@ CPanel::CPanel(
case WM_USER:
switch(wParam)
{
+ // Pause
+ case WM_USER_PAUSE:
+ main_frame->DoPause();
+ break;
+
// Stop
case WM_USER_STOP:
main_frame->DoStop();
@@ -739,7 +744,7 @@ void CFrame::OnKeyDown(wxKeyEvent& event)
}
else if(event.GetKeyCode() == WXK_ESCAPE)
{
- main_frame->DoStop();
+ main_frame->DoPause();
}
// event.Skip() allows the event to propagate to the gamelist for example
else if (! (Core::GetState() == Core::CORE_RUN && bRenderToMain && event.GetEventObject() == this))
@@ -932,8 +937,8 @@ void CFrame::DoFullscreen(bool bF)
#ifdef _WIN32
else // Post the message to the separate rendering window which will then handle it.
{
- PostMessage((HWND)Core::GetWindowHandle(), WM_USER, TOGGLE_FULLSCREEN, 0);
BringWindowToTop((HWND)Core::GetWindowHandle());
+ PostMessage((HWND)Core::GetWindowHandle(), WM_USER, TOGGLE_FULLSCREEN, 0);
}
#endif
}
diff --git a/Source/Core/DolphinWX/Src/Frame.h b/Source/Core/DolphinWX/Src/Frame.h
index 332545c567..4564feb911 100644
--- a/Source/Core/DolphinWX/Src/Frame.h
+++ b/Source/Core/DolphinWX/Src/Frame.h
@@ -74,6 +74,7 @@ class CFrame : public wxFrame
wxMenuBar* m_MenuBar;
wxBitmap aNormalFile;
void InitBitmaps();
+ void DoPause();
void DoStop();
bool bRenderToMain;
bool bNoWiimoteMsg;
diff --git a/Source/Core/DolphinWX/Src/FrameTools.cpp b/Source/Core/DolphinWX/Src/FrameTools.cpp
index fe29e18e0d..556eeb00cd 100644
--- a/Source/Core/DolphinWX/Src/FrameTools.cpp
+++ b/Source/Core/DolphinWX/Src/FrameTools.cpp
@@ -144,6 +144,7 @@ void CFrame::CreateMenu()
m_pSubMenuFrameSkipping = emulationMenu->AppendSubMenu(skippingMenu, _T("Frame S&kipping"));
for(int i = 0; i < 10; i++)
skippingMenu->Append(IDM_FRAMESKIP0 + i, wxString::Format(_T("%i"), i), wxEmptyString, wxITEM_RADIO);
+ skippingMenu->Check(IDM_FRAMESKIP0 + SConfig::GetInstance().m_FrameSkip, true);
emulationMenu->AppendSeparator();
emulationMenu->Append(IDM_SCREENSHOT, _T("Take S&creenshot\tF9"));
@@ -688,6 +689,13 @@ void CFrame::OnScreenshot(wxCommandEvent& WXUNUSED (event))
Core::ScreenShot();
}
+// Pause the emulation
+void CFrame::DoPause()
+{
+ Core::SetState(Core::CORE_PAUSE);
+ UpdateGUI();
+}
+
// Stop the emulation
void CFrame::DoStop()
{