Added system mouse option

This reverts commit e21853d632.
master
krzys-h 2015-07-13 12:11:11 +02:00
parent 6e404f5aa2
commit 38a0849e10
9 changed files with 42 additions and 0 deletions

View File

@ -399,6 +399,9 @@ msgstr ""
msgid "Quake at explosions\\The screen shakes at explosions"
msgstr ""
msgid "System mouse\\Use system mouse cursor"
msgstr ""
msgid "Automatic indent\\When program editing"
msgstr ""

View File

@ -1452,6 +1452,9 @@ msgstr "Überlebenskit"
msgid "Switch bots <-> buildings"
msgstr "Anzeige Roboter <-> Bauten"
msgid "System mouse\\Use system mouse cursor"
msgstr ""
msgid "Take off to finish the mission"
msgstr "Abheben nach vollbrachter Mission"

View File

@ -1448,6 +1448,9 @@ msgstr "Sac de survie"
msgid "Switch bots <-> buildings"
msgstr "Permute robots <-> bâtiments"
msgid "System mouse\\Use system mouse cursor"
msgstr ""
msgid "Take off to finish the mission"
msgstr "Décolle pour terminer la mission"

View File

@ -1449,6 +1449,9 @@ msgstr "Zestaw przetrwania"
msgid "Switch bots <-> buildings"
msgstr "Przełącz roboty <-> budynki"
msgid "System mouse\\Use system mouse cursor"
msgstr "Systemowy kursor\\Użyj systemowego kursora myszy"
msgid "Take off to finish the mission"
msgstr "Odleć, aby zakończyć misję"

View File

@ -1444,6 +1444,9 @@ msgstr "Аптечка"
msgid "Switch bots <-> buildings"
msgstr "Переключение между ботами и зданиями"
msgid "System mouse\\Use system mouse cursor"
msgstr ""
msgid "Take off to finish the mission"
msgstr "Взлететь, чтобы закончить миссию"

View File

@ -209,6 +209,7 @@ void InitializeEventTypeTexts()
EVENT_TYPE_TEXT[EVENT_INTERFACE_INVERTX] = "EVENT_INTERFACE_INVERTX";
EVENT_TYPE_TEXT[EVENT_INTERFACE_INVERTY] = "EVENT_INTERFACE_INVERTY";
EVENT_TYPE_TEXT[EVENT_INTERFACE_EFFECT] = "EVENT_INTERFACE_EFFECT";
EVENT_TYPE_TEXT[EVENT_INTERFACE_MOUSE] = "EVENT_INTERFACE_MOUSE";
EVENT_TYPE_TEXT[EVENT_INTERFACE_GROUND] = "EVENT_INTERFACE_GROUND";
EVENT_TYPE_TEXT[EVENT_INTERFACE_GADGET] = "EVENT_INTERFACE_GADGET";
EVENT_TYPE_TEXT[EVENT_INTERFACE_FOG] = "EVENT_INTERFACE_FOG";

View File

@ -232,6 +232,7 @@ enum EventType
EVENT_INTERFACE_INVERTX = 468,
EVENT_INTERFACE_INVERTY = 469,
EVENT_INTERFACE_EFFECT = 470,
EVENT_INTERFACE_MOUSE = 471,
EVENT_INTERFACE_GROUND = 472,
EVENT_INTERFACE_GADGET = 473,
EVENT_INTERFACE_FOG = 474,

View File

@ -206,6 +206,7 @@ void InitializeRestext()
stringsEvent[EVENT_INTERFACE_INVERTX] = TR("Mouse inversion X\\Inversion of the scrolling direction on the X axis");
stringsEvent[EVENT_INTERFACE_INVERTY] = TR("Mouse inversion Y\\Inversion of the scrolling direction on the Y axis");
stringsEvent[EVENT_INTERFACE_EFFECT] = TR("Quake at explosions\\The screen shakes at explosions");
stringsEvent[EVENT_INTERFACE_MOUSE] = TR("System mouse\\Use system mouse cursor");
stringsEvent[EVENT_INTERFACE_EDITMODE] = TR("Automatic indent\\When program editing");
stringsEvent[EVENT_INTERFACE_EDITVALUE] = TR("Big indent\\Indent 2 or 4 spaces per level defined by braces");
stringsEvent[EVENT_INTERFACE_SOLUCE4] = TR("Access to solutions\\Show program \"4: Solution\" in the exercises");

View File

@ -1303,6 +1303,8 @@ void CMainDialog::ChangePhase(Phase phase)
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_RAIN);
pc->SetState(STATE_SHADOW);
pos.y -= 0.048f;
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_MOUSE);
pc->SetState(STATE_SHADOW);
pos.y -= 0.048f;
pos.y -= 0.048f;
if ( !m_bSimulSetup )
@ -2526,6 +2528,16 @@ bool CMainDialog::EventProcess(const Event &event)
UpdateSetupButtons();
break;
case EVENT_INTERFACE_MOUSE:
if (m_app->GetMouseMode() == MOUSE_SYSTEM)
m_app->SetMouseMode(MOUSE_ENGINE);
else
m_app->SetMouseMode(MOUSE_SYSTEM);
ChangeSetupButtons();
UpdateSetupButtons();
break;
case EVENT_INTERFACE_EDITMODE:
m_engine->SetEditIndentMode(!m_engine->GetEditIndentMode());
ChangeSetupButtons();
@ -4692,6 +4704,12 @@ void CMainDialog::UpdateSetupButtons()
pc->SetState(STATE_CHECK, m_bRain);
}
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_MOUSE));
if ( pc != 0 )
{
pc->SetState(STATE_CHECK, m_app->GetMouseMode() == MOUSE_SYSTEM);
}
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_EDITMODE));
if ( pc != 0 )
{
@ -5002,6 +5020,7 @@ void CMainDialog::SetupMemorize()
GetProfile().SetIntProperty("Setup", "MusicVolume", m_sound->GetMusicVolume());
GetProfile().SetIntProperty("Setup", "EditIndentMode", m_engine->GetEditIndentMode());
GetProfile().SetIntProperty("Setup", "EditIndentValue", m_engine->GetEditIndentValue());
GetProfile().SetIntProperty("Setup", "SystemMouse", m_app->GetMouseMode() == MOUSE_SYSTEM);
GetProfile().SetIntProperty("Setup", "MipmapLevel", m_engine->GetTextureMipmapLevel());
GetProfile().SetIntProperty("Setup", "Anisotropy", m_engine->GetTextureAnisotropyLevel());
@ -5076,6 +5095,11 @@ void CMainDialog::SetupRecall()
m_bRain = iValue;
}
if ( GetProfile().GetIntProperty("Setup", "SystemMouse", iValue) )
{
m_app->SetMouseMode(iValue ? MOUSE_SYSTEM : MOUSE_ENGINE);
}
if ( GetProfile().GetIntProperty("Setup", "Soluce4", iValue) )
{
m_bSoluce4 = iValue;