mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 17:19:44 -06:00
Make the gui more accurately reflect connected wiimotes. Also connect and disconnect wiimotes when settings are changed in the wiimote configuration dialog during emulation.
Fix the number of connected wiimotes in the configuration dialog so it works with translations, and update translations accordingly. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6771 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -640,6 +640,7 @@ void CFrame::OnHostMessage(wxCommandEvent& event)
|
||||
if (GetStatusBar() != NULL)
|
||||
{
|
||||
GetStatusBar()->SetStatusText(event.GetString(), event.GetInt());
|
||||
UpdateGUI();
|
||||
}
|
||||
break;
|
||||
|
||||
@ -838,12 +839,8 @@ void CFrame::OnKeyDown(wxKeyEvent& event)
|
||||
// Actually perform the wiimote connection or disconnection
|
||||
if (WiimoteId >= 0)
|
||||
{
|
||||
bNoWiimoteMsg = GetMenuBar()->IsChecked(IDM_CONNECT_WIIMOTE1 + WiimoteId);
|
||||
GetMenuBar()->Check(IDM_CONNECT_WIIMOTE1 + WiimoteId, !bNoWiimoteMsg);
|
||||
GetUsbPointer()->AccessWiiMote(WiimoteId | 0x100)->Activate(!bNoWiimoteMsg);
|
||||
wxString msg(wxString::Format(wxT("Wiimote %i %s"), WiimoteId + 1,
|
||||
bNoWiimoteMsg ? _("Disconnected") : _("Connected")));
|
||||
Core::DisplayMessage(msg.ToAscii(), 3000);
|
||||
bool connect = !GetMenuBar()->IsChecked(IDM_CONNECT_WIIMOTE1 + WiimoteId);
|
||||
ConnectWiimote(WiimoteId, connect);
|
||||
}
|
||||
|
||||
// Send the OSD hotkeys to the video plugin
|
||||
|
@ -131,6 +131,7 @@ class CFrame : public CRenderFrame
|
||||
bool RendererHasFocus();
|
||||
void DoFullscreen(bool bF);
|
||||
void ToggleDisplayMode (bool bFullscreen);
|
||||
static void ConnectWiimote(int wm_idx, bool connect);
|
||||
|
||||
#ifdef __WXGTK__
|
||||
Common::Event panic_event;
|
||||
|
@ -1206,18 +1206,22 @@ void CFrame::OnLoadWiiMenu(wxCommandEvent& event)
|
||||
}
|
||||
}
|
||||
|
||||
void CFrame::OnConnectWiimote(wxCommandEvent& event)
|
||||
void CFrame::ConnectWiimote(int wm_idx, bool connect)
|
||||
{
|
||||
if (Core::isRunning() && SConfig::GetInstance().m_LocalCoreStartupParameter.bWii)
|
||||
{
|
||||
int Id = event.GetId() - IDM_CONNECT_WIIMOTE1;
|
||||
bNoWiimoteMsg = !event.IsChecked();
|
||||
GetUsbPointer()->AccessWiiMote(Id | 0x100)->Activate(event.IsChecked());
|
||||
wxString msg(wxString::Format(wxT("Wiimote %i %s"), Id + 1, (event.IsChecked()) ? _("Connected") : _("Disconnected")));
|
||||
GetUsbPointer()->AccessWiiMote(wm_idx | 0x100)->Activate(connect);
|
||||
wxString msg(wxString::Format(wxT("Wiimote %i %s"), wm_idx + 1,
|
||||
connect ? _("Connected") : _("Disconnected")));
|
||||
Core::DisplayMessage(msg.ToAscii(), 3000);
|
||||
}
|
||||
}
|
||||
|
||||
void CFrame::OnConnectWiimote(wxCommandEvent& event)
|
||||
{
|
||||
ConnectWiimote(event.GetId() - IDM_CONNECT_WIIMOTE1, event.IsChecked());
|
||||
}
|
||||
|
||||
// Toogle fullscreen. In Windows the fullscreen mode is accomplished by expanding the m_Panel to cover
|
||||
// the entire screen (when we render to the main window).
|
||||
void CFrame::OnToggleFullscreen(wxCommandEvent& WXUNUSED (event))
|
||||
|
@ -658,3 +658,8 @@ bool Host_RendererHasFocus()
|
||||
{
|
||||
return main_frame->RendererHasFocus();
|
||||
}
|
||||
|
||||
void Host_ConnectWiimote(int wm_idx, bool connect)
|
||||
{
|
||||
CFrame::ConnectWiimote(wm_idx, connect);
|
||||
}
|
||||
|
@ -1,13 +1,14 @@
|
||||
|
||||
#include "WiimoteConfigDiag.h"
|
||||
#include "HW/Wiimote.h"
|
||||
#include "Frame.h"
|
||||
|
||||
#define _connect_macro_(b, f, c, s) (b)->Connect(wxID_ANY, (c), wxCommandEventHandler( f ), (wxObject*)0, (wxEvtHandler*)s)
|
||||
|
||||
const wxString& ConnectedWiimotesString()
|
||||
{
|
||||
static wxString str = _("Connected to . Wiimotes");
|
||||
str[13] = wxChar(wxT('0') + WiimoteReal::Initialize());
|
||||
static wxString str;
|
||||
str.Printf(_("Connected to %i Wiimotes"), WiimoteReal::Initialize());
|
||||
return str;
|
||||
}
|
||||
|
||||
@ -129,6 +130,9 @@ void WiimoteConfigPage::SelectSource(wxCommandEvent& event)
|
||||
{
|
||||
// should be kinda fine, maybe should just set when user clicks OK, w/e change it later
|
||||
g_wiimote_sources[m_index] = event.GetInt();
|
||||
|
||||
// Connect or disconnect emulated wiimotes (maybe do this in when OK is clicked too?).
|
||||
CFrame::ConnectWiimote(m_index, WIIMOTE_SRC_EMU & g_wiimote_sources[m_index]);
|
||||
}
|
||||
|
||||
void WiimoteConfigDiag::Save(wxCommandEvent&)
|
||||
|
Reference in New Issue
Block a user