X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fpopup%2Fpopup-impl.cpp;h=9abcfe01187b170f2fb80d76fe5459d4a03fefc9;hb=refs%2Fchanges%2F23%2F267323%2F8;hp=768a9786ad1c770db5f5a34b55257fcaa6c5750e;hpb=2ca1c3856ce848a94f54444f1014a820e91ee207;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/popup/popup-impl.cpp b/dali-toolkit/internal/controls/popup/popup-impl.cpp index 768a978..9abcfe0 100644 --- a/dali-toolkit/internal/controls/popup/popup-impl.cpp +++ b/dali-toolkit/internal/controls/popup/popup-impl.cpp @@ -36,6 +36,7 @@ // INTERNAL INCLUDES #include #include +#include #include #include #include @@ -725,25 +726,16 @@ void Popup::SetDisplayState(Toolkit::Popup::DisplayState displayState) return; } - auto* accessible = Dali::Accessibility::Accessible::Get(Self()); - if(display) - { - Dali::Accessibility::Bridge::GetCurrentBridge()->AddPopup(accessible); - accessible->EmitStateChanged(Dali::Accessibility::State::SHOWING, 1, 0); - } - else - { - accessible->EmitStateChanged(Dali::Accessibility::State::SHOWING, 0, 0); - Dali::Accessibility::Bridge::GetCurrentBridge()->RemovePopup(accessible); - } - // Convert the bool state to the actual display state to use. - mDisplayState = display ? Toolkit::Popup::SHOWING : Toolkit::Popup::HIDING; + mDisplayState = display ? Toolkit::Popup::SHOWING : Toolkit::Popup::HIDING; + auto* accessible = Dali::Accessibility::Accessible::Get(Self()); if(display) { // Update the state to indicate the current intent. mDisplayState = Toolkit::Popup::SHOWING; + Dali::Accessibility::Bridge::GetCurrentBridge()->RegisterDefaultLabel(accessible); + accessible->EmitShowing(true); // We want the popup to have key input focus when it is displayed SetKeyInputFocus(); @@ -797,8 +789,9 @@ void Popup::SetDisplayState(Toolkit::Popup::DisplayState displayState) else // Not visible. { mDisplayState = Toolkit::Popup::HIDING; + Dali::Accessibility::Bridge::GetCurrentBridge()->UnregisterDefaultLabel(accessible); ClearKeyInputFocus(); - + accessible->EmitShowing(false); // Restore the keyboard focus when popup is hidden. if(mPreviousFocusedActor && mPreviousFocusedActor.GetProperty(Actor::Property::KEYBOARD_FOCUSABLE)) { @@ -2003,7 +1996,7 @@ void Popup::SetupTouch() std::string Popup::AccessibleImpl::GetNameRaw() { - auto popup = Toolkit::Popup::DownCast(self); + auto popup = Toolkit::Popup::DownCast(Self()); std::string title; Actor popupTitle = popup.GetTitle(); if(popupTitle) @@ -2025,8 +2018,8 @@ std::string Popup::AccessibleImpl::GetNameRaw() Dali::Accessibility::States Popup::AccessibleImpl::CalculateStates() { - auto states = Control::Impl::AccessibleImpl::CalculateStates(); - auto popup = Toolkit::Popup::DownCast(self); + auto states = DevelControl::AccessibleImpl::CalculateStates(); + auto popup = Toolkit::Popup::DownCast(Self()); auto displayState = popup.GetProperty(Toolkit::Popup::Property::DISPLAY_STATE); states[Dali::Accessibility::State::SHOWING] = (displayState == "SHOWN" || displayState == "SHOWING");