void AcceptRejectWidget::onAcceptExpandTimeout(Timeout *sender)
{
- if (m_rotaryClockwiseCount > 0) {
- m_rotaryClockwiseCount = 0;
+ int *counter = &m_rotaryClockwiseCount;
+ if (utils::getMirroredMode()) {
+ counter = &m_rotaryCounterClockwiseCount;
+ }
+
+ if (*counter > 0) {
+ *counter = 0;
m_isContracting = true;
setAcceptUnpressedState();
} else {
DLOG("Ignored. Counter is 0");
}
+
m_expandTimeout.reset();
}
void AcceptRejectWidget::onRejectExpandTimeout(Timeout *sender)
{
- if (m_rotaryCounterClockwiseCount > 0) {
- m_rotaryCounterClockwiseCount = 0;
+ int *counter = &m_rotaryCounterClockwiseCount;
+ if (utils::getMirroredMode()) {
+ counter = &m_rotaryClockwiseCount;
+ }
+
+ if (*counter > 0) {
+ *counter = 0;
m_isContracting = true;
setRejectUnpressedState();
} else {
DLOG("Ignored. Counter is 0");
}
+
m_expandTimeout.reset();
}
{
if (m_rotaryCounterClockwiseCount > 0) {
m_rotaryCounterClockwiseCount = 0;
- setRejectUnpressedState();
+ if (utils::getMirroredMode()) {
+ setRejectUnpressedState();
+ } else {
+ setAcceptUnpressedState();
+ }
return EINA_TRUE;
}
m_rotaryClockwiseCount++;
if (m_rotaryClockwiseCount == 1) {
- setAcceptPressedState();
- m_expandTimeout = Timeout::create(impl::EXPAND_WAITING_TIMEOUT,
- WEAK_DELEGATE_THIS(onAcceptExpandTimeout));
+ return processFirstRotaryEvent(true);
} else if (m_rotaryClockwiseCount == 2) {
- m_expandTimeout.reset();
- impl::resizeImage(*m_accTracer, impl::FINGER_TRACER_DIM);
- setAcceptFullExpensionTransition();
- return EINA_TRUE;
- } else {
- LOG_RETURN_VALUE(RES_FAIL, EINA_TRUE, "Illegal state");
+ return processSecondRotaryEvent(true);
}
- return EINA_TRUE;
+
+ LOG_RETURN_VALUE(RES_FAIL, EINA_TRUE, "Illegal state");
}
Eina_Bool AcceptRejectWidget::processCounterClockwiseRotaryEvent()
{
if (m_rotaryClockwiseCount > 0) {
m_rotaryClockwiseCount = 0;
- setAcceptUnpressedState();
+ if (utils::getMirroredMode()) {
+ setAcceptUnpressedState();
+ } else {
+ setRejectUnpressedState();
+ }
return EINA_TRUE;
}
m_rotaryCounterClockwiseCount++;
if (m_rotaryCounterClockwiseCount == 1) {
+ return processFirstRotaryEvent(false);
+ } else if (m_rotaryCounterClockwiseCount == 2) {
+ return processSecondRotaryEvent(false);
+ }
+
+ LOG_RETURN_VALUE(RES_FAIL, EINA_TRUE, "Illegal state");
+ }
+
+ Eina_Bool AcceptRejectWidget::processFirstRotaryEvent(bool isClockwise)
+ {
+ bool isMirroredMode = utils::getMirroredMode();
+
+ if ((isClockwise && !isMirroredMode) ||
+ (!isClockwise && isMirroredMode)) {
+ setAcceptPressedState();
+ m_expandTimeout = Timeout::create(impl::EXPAND_WAITING_TIMEOUT,
+ WEAK_DELEGATE_THIS(onAcceptExpandTimeout));
+ } else if ((!isClockwise && !isMirroredMode) ||
+ (isClockwise && isMirroredMode)) {
setRejectPressedState();
m_expandTimeout = Timeout::create(impl::EXPAND_WAITING_TIMEOUT,
WEAK_DELEGATE_THIS(onRejectExpandTimeout));
+ }
- } else if (m_rotaryCounterClockwiseCount == 2) {
- m_expandTimeout.reset();
+ return EINA_TRUE;
+ }
+
+ Eina_Bool AcceptRejectWidget::processSecondRotaryEvent(bool isClockwise)
+ {
+ bool isMirroredMode = utils::getMirroredMode();
+
+ m_expandTimeout.reset();
+
+ if ((isClockwise && !isMirroredMode) ||
+ (!isClockwise && isMirroredMode)) {
+ impl::resizeImage(*m_accTracer, impl::FINGER_TRACER_DIM);
+ setAcceptFullExpensionTransition();
+ } else if ((!isClockwise && !isMirroredMode) ||
+ (isClockwise && isMirroredMode)) {
impl::resizeImage(*m_rejTracer, impl::FINGER_TRACER_DIM);
setRejectFullExpensionTransition();
- return EINA_TRUE;
- } else {
- LOG_RETURN_VALUE(RES_FAIL, EINA_TRUE, "Illegal state");
}
+
return EINA_TRUE;
}