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>
<label width="100%" I18N="In the multitouch settings screen" text="Accelerometer"/>
<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" >
<spacer width="40" height="10" />
<checkbox id="accelerometer_disabled"/>
</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"/>
<spinner id="accelerometer" proportion="1"/>
</div>
</div>

View File

@ -51,6 +51,17 @@ MultitouchSettingsDialog::~MultitouchSettingsDialog()
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();
}
@ -79,23 +90,10 @@ GUIEngine::EventPropagation MultitouchSettingsDialog::processEvent(
assert(buttons_en != NULL);
UserConfigParams::m_multitouch_mode = buttons_en->getState() ? 1 : 0;
CheckBoxWidget* accel = getWidget<CheckBoxWidget>("accelerometer_tablet");
assert(accel != NULL);
CheckBoxWidget* accel2 = getWidget<CheckBoxWidget>("accelerometer_phone");
assert(accel2 != NULL);
SpinnerWidget* accelerometer = getWidget<SpinnerWidget>("accelerometer");
assert(accelerometer != NULL);
if (accel->getState())
{
UserConfigParams::m_multitouch_accelerometer = 1;
}
else if (accel2->getState())
{
UserConfigParams::m_multitouch_accelerometer = 2;
}
else
{
UserConfigParams::m_multitouch_accelerometer = 0;
}
UserConfigParams::m_multitouch_accelerometer = accelerometer->getValue();
MultitouchDevice* touch_device = input_manager->getDeviceManager()->
getMultitouchDevice();
@ -122,22 +120,6 @@ GUIEngine::EventPropagation MultitouchSettingsDialog::processEvent(
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;
} // processEvent
@ -164,18 +146,9 @@ void MultitouchSettingsDialog::updateValues()
assert(buttons_en != NULL);
buttons_en->setState(UserConfigParams::m_multitouch_mode!=0);
CheckBoxWidget* accelerometer;
accelerometer = getWidget<CheckBoxWidget>("accelerometer_disabled");
SpinnerWidget* accelerometer = getWidget<SpinnerWidget>("accelerometer");
assert(accelerometer != NULL);
accelerometer->setState(UserConfigParams::m_multitouch_accelerometer == 0);
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);
accelerometer->setValue(UserConfigParams::m_multitouch_accelerometer);
}
// -----------------------------------------------------------------------------