_Slider::OnFocusLost(const _Control& source)
{
__pSliderPresenter->SetFocusMode(false);
+
+ if ((GetStyle() & _SLIDER_STYLE_OVERLAY) && (!__pSliderPresenter->IsTouchPressed()) && (__isKeyPressed == true))
+ {
+ _SliderOverlay* pSliderOverlay = __pSliderPresenter->GetSliderOverlay();
+ pSliderOverlay->SetVisibleState(false);
+ pSliderOverlay->Close();
+ }
+
+ __isKeyPressed = false;
Invalidate();
return true;
if (keyCode == _KEY_LEFT || keyCode == _KEY_RIGHT)
{
- if (GetStyle() & _SLIDER_STYLE_OVERLAY)
+ if ((GetStyle() & _SLIDER_STYLE_OVERLAY) && (__isKeyPressed == true))
{
_SliderOverlay* pSliderOverlay = __pSliderPresenter->GetSliderOverlay();
pSliderOverlay->SetVisibleState(false);
}
bool
+_SliderPresenter::IsTouchPressed() const
+{
+ return __isSliderPressed;
+}
+
+bool
_SliderPresenter::OnTouchPressed(const _Control& source, const _TouchInfo& touchinfo)
{
if (__pSlider != &source)
Tizen::Graphics::FloatRectangle GetTouchBounds(void) const;
_SliderOverlay* GetSliderOverlay(void) const;
+ bool IsTouchPressed(void) const;
virtual bool OnTouchPressed(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
virtual bool OnTouchReleased(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);