void Button::ButtonUp()
{
+ bool emitSignalsForPressAndReleaseAction = false;
+
if( DEPRESSED == mButtonPressedState )
{
- bool validButtonAction = false;
-
if( mTogglableButton ) // Button up will change state
{
- validButtonAction = OnToggleReleased(); // Derived toggle buttons can override this to provide custom behaviour
+ emitSignalsForPressAndReleaseAction = OnToggleReleased(); // Derived toggle buttons can override this to provide custom behaviour
}
else
{
{
mAutoRepeatingTimer.Reset();
}
- validButtonAction = true;
+ emitSignalsForPressAndReleaseAction = true;
}
+ }
+ else if ( TOGGLE_DEPRESSED == mButtonPressedState )
+ {
+ emitSignalsForPressAndReleaseAction = true; // toggle released after being pressed, a click
+ }
- if ( validButtonAction )
- {
- // The clicked and released signals should be emitted regardless of toggle mode.
- Toolkit::Button handle( GetOwner() );
- mReleasedSignal.Emit( handle );
- mClickedSignal.Emit( handle );
- }
+ if ( emitSignalsForPressAndReleaseAction )
+ {
+ // The clicked and released signals should be emitted regardless of toggle mode.
+ Toolkit::Button handle( GetOwner() );
+ mReleasedSignal.Emit( handle );
+ mClickedSignal.Emit( handle );
}
}
}
}
+ DALI_LOG_INFO( gLogButtonFilter, Debug::General, "OnRelayout selected (%s) \n", IsSelected()?"yes":"no" );
+
DALI_LOG_INFO( gLogButtonFilter, Debug::General, "OnRelayout << \n");
}