Simplify touch device settings

This commit is contained in:
Deve 2017-07-05 20:43:57 +02:00
parent 2bf99aef1d
commit 2cda14686d
2 changed files with 34 additions and 79 deletions

View File

@ -23,29 +23,11 @@
</div> </div>
</div> </div>
<label width="100%" I18N="In the multitouch settings screen" text="Accelerometer"/>
<div width="75%" layout="horizontal-row" proportion="1"> <div width="75%" layout="horizontal-row" proportion="1">
<label proportion="1" align="center" text_align="right" I18N="In the multitouch settings screen" text="Disabled"/> <label proportion="1" align="center" text_align="right" I18N="In the multitouch settings screen" text="Accelerometer"/>
<div proportion="1" align="center" height="fit" layout="horizontal-row" > <div proportion="1" align="center" height="fit" layout="horizontal-row" >
<spacer width="40" height="10" /> <spacer width="40" height="10" />
<checkbox id="accelerometer_disabled"/> <spinner id="accelerometer" proportion="1"/>
</div>
</div>
<div width="75%" layout="horizontal-row" proportion="1">
<label proportion="1" align="center" text_align="right" I18N="In the multitouch settings screen" text="Phone"/>
<div proportion="1" align="center" height="fit" layout="horizontal-row" >
<spacer width="40" height="10" />
<checkbox id="accelerometer_phone"/>
</div>
</div>
<div width="75%" layout="horizontal-row" proportion="1">
<label proportion="1" align="center" text_align="right" I18N="In the multitouch settings screen" text="Tablet"/>
<div proportion="1" align="center" height="fit" layout="horizontal-row" >
<spacer width="40" height="10" />
<checkbox id="accelerometer_tablet"/>
</div> </div>
</div> </div>

View File

@ -51,6 +51,17 @@ MultitouchSettingsDialog::~MultitouchSettingsDialog()
void MultitouchSettingsDialog::beforeAddingWidgets() void MultitouchSettingsDialog::beforeAddingWidgets()
{ {
SpinnerWidget* accelerometer = getWidget<SpinnerWidget>("accelerometer");
assert(accelerometer != NULL);
accelerometer->m_properties[PROP_WRAP_AROUND] = "true";
accelerometer->clearLabels();
accelerometer->addLabel(_("Disabled"));
accelerometer->addLabel(_("Tablet"));
accelerometer->addLabel(_("Phone"));
accelerometer->m_properties[GUIEngine::PROP_MIN_VALUE] = "0";
accelerometer->m_properties[GUIEngine::PROP_MAX_VALUE] = "2";
updateValues(); updateValues();
} }
@ -79,23 +90,10 @@ GUIEngine::EventPropagation MultitouchSettingsDialog::processEvent(
assert(buttons_en != NULL); assert(buttons_en != NULL);
UserConfigParams::m_multitouch_mode = buttons_en->getState() ? 1 : 0; UserConfigParams::m_multitouch_mode = buttons_en->getState() ? 1 : 0;
CheckBoxWidget* accel = getWidget<CheckBoxWidget>("accelerometer_tablet"); SpinnerWidget* accelerometer = getWidget<SpinnerWidget>("accelerometer");
assert(accel != NULL); assert(accelerometer != NULL);
CheckBoxWidget* accel2 = getWidget<CheckBoxWidget>("accelerometer_phone");
assert(accel2 != NULL);
if (accel->getState()) UserConfigParams::m_multitouch_accelerometer = accelerometer->getValue();
{
UserConfigParams::m_multitouch_accelerometer = 1;
}
else if (accel2->getState())
{
UserConfigParams::m_multitouch_accelerometer = 2;
}
else
{
UserConfigParams::m_multitouch_accelerometer = 0;
}
MultitouchDevice* touch_device = input_manager->getDeviceManager()-> MultitouchDevice* touch_device = input_manager->getDeviceManager()->
getMultitouchDevice(); getMultitouchDevice();
@ -122,22 +120,6 @@ GUIEngine::EventPropagation MultitouchSettingsDialog::processEvent(
return GUIEngine::EVENT_BLOCK; return GUIEngine::EVENT_BLOCK;
} }
else if (eventSource == "accelerometer_disabled" ||
eventSource == "accelerometer_tablet" ||
eventSource == "accelerometer_phone")
{
CheckBoxWidget* accel = getWidget<CheckBoxWidget>("accelerometer_disabled");
assert(accel != NULL);
accel->setState(eventSource == accel->m_properties[PROP_ID]);
accel = getWidget<CheckBoxWidget>("accelerometer_tablet");
assert(accel != NULL);
accel->setState(eventSource == accel->m_properties[PROP_ID]);
accel = getWidget<CheckBoxWidget>("accelerometer_phone");
assert(accel != NULL);
accel->setState(eventSource == accel->m_properties[PROP_ID]);
return GUIEngine::EVENT_BLOCK;
}
return GUIEngine::EVENT_LET; return GUIEngine::EVENT_LET;
} // processEvent } // processEvent
@ -164,18 +146,9 @@ void MultitouchSettingsDialog::updateValues()
assert(buttons_en != NULL); assert(buttons_en != NULL);
buttons_en->setState(UserConfigParams::m_multitouch_mode!=0); buttons_en->setState(UserConfigParams::m_multitouch_mode!=0);
CheckBoxWidget* accelerometer; SpinnerWidget* accelerometer = getWidget<SpinnerWidget>("accelerometer");
accelerometer = getWidget<CheckBoxWidget>("accelerometer_disabled");
assert(accelerometer != NULL); assert(accelerometer != NULL);
accelerometer->setState(UserConfigParams::m_multitouch_accelerometer == 0); accelerometer->setValue(UserConfigParams::m_multitouch_accelerometer);
accelerometer = getWidget<CheckBoxWidget>("accelerometer_tablet");
assert(accelerometer != NULL);
accelerometer->setState(UserConfigParams::m_multitouch_accelerometer == 1);
accelerometer = getWidget<CheckBoxWidget>("accelerometer_phone");
assert(accelerometer != NULL);
accelerometer->setState(UserConfigParams::m_multitouch_accelerometer == 2);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------