Simplify touch device settings
This commit is contained in:
parent
2bf99aef1d
commit
2cda14686d
@ -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>
|
||||||
|
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,47 +75,34 @@ GUIEngine::EventPropagation MultitouchSettingsDialog::processEvent(
|
|||||||
SpinnerWidget* scale = getWidget<SpinnerWidget>("scale");
|
SpinnerWidget* scale = getWidget<SpinnerWidget>("scale");
|
||||||
assert(scale != NULL);
|
assert(scale != NULL);
|
||||||
UserConfigParams::m_multitouch_scale = (float)scale->getValue() / 100.0f;
|
UserConfigParams::m_multitouch_scale = (float)scale->getValue() / 100.0f;
|
||||||
|
|
||||||
SpinnerWidget* deadzone_edge = getWidget<SpinnerWidget>("deadzone_edge");
|
SpinnerWidget* deadzone_edge = getWidget<SpinnerWidget>("deadzone_edge");
|
||||||
assert(deadzone_edge != NULL);
|
assert(deadzone_edge != NULL);
|
||||||
UserConfigParams::m_multitouch_deadzone_edge =
|
UserConfigParams::m_multitouch_deadzone_edge =
|
||||||
(float)deadzone_edge->getValue() / 100.0f;
|
(float)deadzone_edge->getValue() / 100.0f;
|
||||||
|
|
||||||
SpinnerWidget* deadzone_center = getWidget<SpinnerWidget>("deadzone_center");
|
SpinnerWidget* deadzone_center = getWidget<SpinnerWidget>("deadzone_center");
|
||||||
assert(deadzone_center != NULL);
|
assert(deadzone_center != NULL);
|
||||||
UserConfigParams::m_multitouch_deadzone_center =
|
UserConfigParams::m_multitouch_deadzone_center =
|
||||||
(float)deadzone_center->getValue() / 100.0f;
|
(float)deadzone_center->getValue() / 100.0f;
|
||||||
|
|
||||||
CheckBoxWidget* buttons_en = getWidget<CheckBoxWidget>("buttons_enabled");
|
CheckBoxWidget* buttons_en = getWidget<CheckBoxWidget>("buttons_enabled");
|
||||||
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);
|
UserConfigParams::m_multitouch_accelerometer = accelerometer->getValue();
|
||||||
|
|
||||||
if (accel->getState())
|
|
||||||
{
|
|
||||||
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();
|
||||||
|
|
||||||
if (touch_device != NULL)
|
if (touch_device != NULL)
|
||||||
{
|
{
|
||||||
touch_device->updateConfigParams();
|
touch_device->updateConfigParams();
|
||||||
}
|
}
|
||||||
|
|
||||||
user_config->saveConfig();
|
user_config->saveConfig();
|
||||||
|
|
||||||
ModalDialog::dismiss();
|
ModalDialog::dismiss();
|
||||||
@ -117,25 +115,9 @@ GUIEngine::EventPropagation MultitouchSettingsDialog::processEvent(
|
|||||||
UserConfigParams::m_multitouch_deadzone_center.revertToDefaults();
|
UserConfigParams::m_multitouch_deadzone_center.revertToDefaults();
|
||||||
UserConfigParams::m_multitouch_mode.revertToDefaults();
|
UserConfigParams::m_multitouch_mode.revertToDefaults();
|
||||||
UserConfigParams::m_multitouch_accelerometer.revertToDefaults();
|
UserConfigParams::m_multitouch_accelerometer.revertToDefaults();
|
||||||
|
|
||||||
updateValues();
|
updateValues();
|
||||||
|
|
||||||
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_BLOCK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -149,33 +131,24 @@ void MultitouchSettingsDialog::updateValues()
|
|||||||
SpinnerWidget* scale = getWidget<SpinnerWidget>("scale");
|
SpinnerWidget* scale = getWidget<SpinnerWidget>("scale");
|
||||||
assert(scale != NULL);
|
assert(scale != NULL);
|
||||||
scale->setValue((int)(UserConfigParams::m_multitouch_scale * 100.0f));
|
scale->setValue((int)(UserConfigParams::m_multitouch_scale * 100.0f));
|
||||||
|
|
||||||
SpinnerWidget* deadzone_edge = getWidget<SpinnerWidget>("deadzone_edge");
|
SpinnerWidget* deadzone_edge = getWidget<SpinnerWidget>("deadzone_edge");
|
||||||
assert(deadzone_edge != NULL);
|
assert(deadzone_edge != NULL);
|
||||||
deadzone_edge->setValue(
|
deadzone_edge->setValue(
|
||||||
(int)(UserConfigParams::m_multitouch_deadzone_edge * 100.0f));
|
(int)(UserConfigParams::m_multitouch_deadzone_edge * 100.0f));
|
||||||
|
|
||||||
SpinnerWidget* deadzone_center = getWidget<SpinnerWidget>("deadzone_center");
|
SpinnerWidget* deadzone_center = getWidget<SpinnerWidget>("deadzone_center");
|
||||||
assert(deadzone_center != NULL);
|
assert(deadzone_center != NULL);
|
||||||
deadzone_center->setValue(
|
deadzone_center->setValue(
|
||||||
(int)(UserConfigParams::m_multitouch_deadzone_center * 100.0f));
|
(int)(UserConfigParams::m_multitouch_deadzone_center * 100.0f));
|
||||||
|
|
||||||
CheckBoxWidget* buttons_en = getWidget<CheckBoxWidget>("buttons_enabled");
|
CheckBoxWidget* buttons_en = getWidget<CheckBoxWidget>("buttons_enabled");
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user