From: Seoyeon Kim Date: Fri, 29 Jul 2022 00:10:33 +0000 (+0900) Subject: [Tizen] Add ActionForwardSignal() for accessibility X-Git-Tag: accepted/tizen/6.0/unified/20220819.122352^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F52%2F278952%2F1;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git [Tizen] Add ActionForwardSignal() for accessibility - In Accessibility, One finger double tap and hold gesture is to pass the event to the application. - For the application, it can get the signal using ActionForwardSignal. - Dependency : https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-adaptor/+/278951/ Change-Id: Ic1f1b65b7bee13f1c45604f54fa7692e5c8cf9c4 Signed-off-by: Seoyeon Kim --- diff --git a/dali-toolkit/devel-api/accessibility-manager/accessibility-manager.cpp b/dali-toolkit/devel-api/accessibility-manager/accessibility-manager.cpp index d106086..02d3a24 100644 --- a/dali-toolkit/devel-api/accessibility-manager/accessibility-manager.cpp +++ b/dali-toolkit/devel-api/accessibility-manager/accessibility-manager.cpp @@ -350,6 +350,11 @@ AccessibilityManager::AccessibilityActionScrollSignalType& AccessibilityManager: return GetImpl(*this).ActionScrollSignal(); } +AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionForwardSignal() +{ + return GetImpl(*this).ActionForwardSignal(); +} + } // namespace Toolkit } // namespace Dali diff --git a/dali-toolkit/devel-api/accessibility-manager/accessibility-manager.h b/dali-toolkit/devel-api/accessibility-manager/accessibility-manager.h index 84f8c5c..bff68df 100644 --- a/dali-toolkit/devel-api/accessibility-manager/accessibility-manager.h +++ b/dali-toolkit/devel-api/accessibility-manager/accessibility-manager.h @@ -817,6 +817,18 @@ public: // Accessibility action signals */ AccessibilityActionScrollSignalType& ActionScrollSignal(); + /** + * @brief This is emitted when accessibility action is received to forward the event + * to the application (by one finger double tap and hold). + * + * A callback of the following type may be connected: + * @code + * bool YourCallback( AccessibilityManager& manager ); + * @endcode + * @return The signal to connect to + */ + AccessibilityActionSignalType& ActionForwardSignal(); + public: explicit DALI_INTERNAL AccessibilityManager(Internal::AccessibilityManager* impl); diff --git a/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.cpp b/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.cpp index a1b10d7..b5dc886 100644 --- a/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.cpp +++ b/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.cpp @@ -1333,6 +1333,17 @@ bool AccessibilityManager::AccessibilityActionStartStop() return mIsAccessibilityTtsEnabled; } +bool AccessibilityManager::AccessibilityActionForwardToApp() +{ + Dali::Toolkit::AccessibilityManager handle( this ); + if( !mActionForwardSignal.Empty() ) + { + mActionForwardSignal.Emit( handle ); + } + + return mIsAccessibilityTtsEnabled; +} + bool AccessibilityManager::HandlePanGesture(const AccessibilityGestureEvent& panEvent) { bool handled = false; diff --git a/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.h b/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.h index cbe2bca..7be71b6 100644 --- a/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.h +++ b/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.h @@ -445,6 +445,14 @@ public: // Signals return mActionScrollSignal; } + /** + * @copydoc Dali::Toolkit::AccessibilityManager::ActionForwardSignal + */ + AccessibilityActionSignalType& ActionForwardSignal() + { + return mActionForwardSignal; + } + protected: /** @@ -673,6 +681,12 @@ private: bool AccessibilityActionStartStop() override; /** + * Perform the accessibility action to forward the event to the application (by one finger double tap and hold). + * @return whether the accessibility action is performed or not. + */ + bool AccessibilityActionForwardToApp() override; + + /** * This function is connected to the TtsPlayer StateChangeSignal. * It is called when the TTS players state changes. * @param previousState The previous state of the TTS player (for comparison) @@ -719,6 +733,7 @@ private: AccessibilityActionSignalType mActionZoomSignal; AccessibilityActionSignalType mActionReadPauseResumeSignal; AccessibilityActionSignalType mActionStartStopSignal; + AccessibilityActionSignalType mActionForwardSignal; AccessibilityActionScrollSignalType mActionScrollSignal; FocusIDContainer mFocusIDContainer; ///< The container to look up actor ID by focus order