From: taeyoon0.lee Date: Wed, 11 Oct 2017 08:37:32 +0000 (+0900) Subject: Revert "[Tizen] Add Finalize api for imf-manager" X-Git-Tag: accepted/tizen/4.0/unified/20171012.230021~17 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F69%2F154769%2F1;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git Revert "[Tizen] Add Finalize api for imf-manager" This reverts commit f30917ec1b667feec95d2d477316a15a4688095f. Change-Id: I1e2cfd36e8ddd4ae40a6180efb826d3b48aea1e5 --- diff --git a/adaptors/devel-api/adaptor-framework/imf-manager.cpp b/adaptors/devel-api/adaptor-framework/imf-manager.cpp old mode 100755 new mode 100644 index 8571653..620fdd1 --- a/adaptors/devel-api/adaptor-framework/imf-manager.cpp +++ b/adaptors/devel-api/adaptor-framework/imf-manager.cpp @@ -33,11 +33,6 @@ ImfManager::~ImfManager() { } -void ImfManager::Finalize() -{ - Internal::Adaptor::ImfManager::GetImplementation(*this).Finalize(); -} - ImfManager ImfManager::Get() { return Internal::Adaptor::ImfManager::Get(); diff --git a/adaptors/devel-api/adaptor-framework/imf-manager.h b/adaptors/devel-api/adaptor-framework/imf-manager.h old mode 100755 new mode 100644 index 0efdeac..2780d9a --- a/adaptors/devel-api/adaptor-framework/imf-manager.h +++ b/adaptors/devel-api/adaptor-framework/imf-manager.h @@ -170,13 +170,6 @@ public: public: /** - * @brief Finalize the IMF. - * - * It means that the context will be deleted. - */ - void Finalize(); - - /** * @brief Retrieve a handle to the instance of ImfManager. * @return A handle to the ImfManager. */ diff --git a/adaptors/ecore/wayland/imf-manager-impl-ecore-wl.cpp b/adaptors/ecore/wayland/imf-manager-impl-ecore-wl.cpp old mode 100755 new mode 100644 index 942d96c..69e5e41 --- a/adaptors/ecore/wayland/imf-manager-impl-ecore-wl.cpp +++ b/adaptors/ecore/wayland/imf-manager-impl-ecore-wl.cpp @@ -258,18 +258,6 @@ TypeRegistration IMF_MANAGER_TYPE( typeid(Dali::ImfManager), typeid(Dali::BaseHa } // unnamed namespace -void ImfManager::Finalize() -{ - DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::Finalize\n" ); - if ( mInited ) - { - DisconnectCallbacks(); - DeleteContext(); - ecore_imf_shutdown(); - mInited = false; - } -} - bool ImfManager::IsAvailable() { bool available( false ); @@ -286,7 +274,6 @@ bool ImfManager::IsAvailable() Dali::ImfManager ImfManager::Get() { Dali::ImfManager manager; - ImfManager *imfManager = NULL; Dali::SingletonService service( SingletonService::Get() ); if ( service ) @@ -296,12 +283,12 @@ Dali::ImfManager ImfManager::Get() if( handle ) { // If so, downcast the handle - imfManager = dynamic_cast< ImfManager* >( handle.GetObjectPtr() ); - manager = Dali::ImfManager( imfManager ); + manager = Dali::ImfManager( dynamic_cast< ImfManager* >( handle.GetObjectPtr() ) ); } else if ( Adaptor::IsAvailable() ) { // Create instance and register singleton only if the adaptor is available + Adaptor& adaptorImpl( Adaptor::GetImplementation( Adaptor::Get() ) ); Any nativeWindow = adaptorImpl.GetNativeWindowHandle(); @@ -313,8 +300,8 @@ Dali::ImfManager ImfManager::Get() // If we fail to get Ecore_Wl_Window, we can't use the ImfManager correctly. // Thus you have to call "ecore_imf_context_client_window_set" somewhere. // In EvasPlugIn, this function is called in EvasPlugin::ConnectEcoreEvent(). - imfManager = new ImfManager( ecoreWwin ); - manager = Dali::ImfManager( imfManager ); + + manager = Dali::ImfManager( new ImfManager( ecoreWwin ) ); service.Register( typeid( manager ), manager ); } else @@ -324,37 +311,35 @@ Dali::ImfManager ImfManager::Get() } } - if ( ( imfManager != NULL ) && !imfManager->mInited ) - { - ecore_imf_init(); - imfManager->CreateContext( imfManager->mEcoreWlwin ); - - imfManager->ConnectCallbacks(); - imfManager->mInited = true; - } - return manager; } ImfManager::ImfManager( Ecore_Wl_Window *ecoreWlwin ) : mIMFContext(), - mEcoreWlwin( ecoreWlwin ), mIMFCursorPosition( 0 ), mSurroundingText(), - mInited( false ), mRestoreAfterFocusLost( false ), mIdleCallbackConnected( false ) { + ecore_imf_init(); + CreateContext( ecoreWlwin ); + + ConnectCallbacks(); } ImfManager::~ImfManager() { - Finalize(); + DisconnectCallbacks(); + + DeleteContext(); + ecore_imf_shutdown(); } + void ImfManager::CreateContext( Ecore_Wl_Window *ecoreWlwin ) { DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::CreateContext\n" ); + const char *contextId = ecore_imf_context_default_id_get(); if( contextId ) { diff --git a/adaptors/ecore/wayland/imf-manager-impl.h b/adaptors/ecore/wayland/imf-manager-impl.h old mode 100755 new mode 100644 index 3d2d451..e3a73ad --- a/adaptors/ecore/wayland/imf-manager-impl.h +++ b/adaptors/ecore/wayland/imf-manager-impl.h @@ -53,11 +53,6 @@ public: public: /** - * @copydoc Dali::ImfManager::Finalize() - */ - void Finalize(); - - /** * Check whether the ImfManager is available. * @return true if available, false otherwise */ @@ -288,11 +283,9 @@ private: private: Ecore_IMF_Context* mIMFContext; - Ecore_Wl_Window *mEcoreWlwin; int mIMFCursorPosition; std::string mSurroundingText; - bool mInited:1; ///< Whether the imf is already inited. bool mRestoreAfterFocusLost:1; ///< Whether the keyboard needs to be restored (activated ) after focus regained. bool mIdleCallbackConnected:1; ///< Whether the idle callback is already connected. diff --git a/adaptors/integration-api/x11/imf-manager-impl.h b/adaptors/integration-api/x11/imf-manager-impl.h old mode 100755 new mode 100644 index f069d42..aab3f9f --- a/adaptors/integration-api/x11/imf-manager-impl.h +++ b/adaptors/integration-api/x11/imf-manager-impl.h @@ -50,11 +50,6 @@ public: public: /** - * @copydoc Dali::ImfManager::Finalize() - */ - void Finalize(); - - /** * Check whether the ImfManager is available. * @return true if available, false otherwise */ @@ -72,7 +67,7 @@ public: * Constructor * @param[in] ecoreXwin, The window is created by application. */ - ImfManager( Ecore_X_Window* ecoreXwin ); + ImfManager( Ecore_X_Window ecoreXwin ); /** * Connect Callbacks required for IMF. @@ -270,7 +265,7 @@ private: * Context created the first time and kept until deleted. * @param[in] ecoreXwin, The window is created by application. */ - void CreateContext( Ecore_X_Window* ecoreXwin ); + void CreateContext( Ecore_X_Window ecoreXwin ); /** * @copydoc Dali::ImfManager::DeleteContext() @@ -284,11 +279,9 @@ private: private: Ecore_IMF_Context* mIMFContext; - Ecore_X_Window* mEcoreXWin; int mIMFCursorPosition; std::string mSurroundingText; - bool mInited:1; ///< Whether the imf is already inited. bool mRestoreAfterFocusLost:1; ///< Whether the keyboard needs to be restored (activated ) after focus regained. bool mIdleCallbackConnected:1; ///< Whether the idle callback is already connected. InputMethodOptions mOptions; diff --git a/adaptors/wayland/input/text/imf/imf-manager-impl-wl.cpp b/adaptors/wayland/input/text/imf/imf-manager-impl-wl.cpp old mode 100755 new mode 100644 index 37a86e4..ec7cdc7 --- a/adaptors/wayland/input/text/imf/imf-manager-impl-wl.cpp +++ b/adaptors/wayland/input/text/imf/imf-manager-impl-wl.cpp @@ -104,18 +104,8 @@ BaseHandle Create() TypeRegistration IMF_MANAGER_TYPE( typeid(Dali::ImfManager), typeid(Dali::BaseHandle), Create ); -} -void ImfManager::Finalize() -{ - DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::Finalize\n" ); - if ( mInited ) - { - DisconnectCallbacks(); - mInited = false; - } } - bool ImfManager::IsAvailable() { bool available( false ); @@ -131,7 +121,6 @@ bool ImfManager::IsAvailable() Dali::ImfManager ImfManager::Get() { Dali::ImfManager manager; - ImfManager *imfManager = NULL; Dali::SingletonService service( SingletonService::Get() ); if (! service ) @@ -144,42 +133,31 @@ Dali::ImfManager ImfManager::Get() if( handle ) { // If so, downcast the handle - imfManager = dynamic_cast< ImfManager* >( handle.GetObjectPtr() ); - manager = Dali::ImfManager( imfManager ); + manager = Dali::ImfManager( dynamic_cast< ImfManager* >( handle.GetObjectPtr() ) ); } else if ( Adaptor::IsAvailable() ) { // Create instance and register singleton only if the adaptor is available - imfManager = new ImfManager(); - manager = Dali::ImfManager( imfManager ); + manager = Dali::ImfManager( new ImfManager() ); service.Register( typeid( manager ), manager ); } else { DALI_LOG_ERROR("Failed to get native window handle\n"); } - - if ( ( imfManager != NULL ) && !imfManager->mInited ) - { - imfManager->ConnectCallbacks(); - imfManager->mInited = true; - } - return manager; } - ImfManager::ImfManager() : mTextInputManager( TextInputManager::Get() ), mPreEditCursorPosition( 0 ), mEditCursorPosition( 0 ), - mInited( false ), mRestoreAfterFocusLost( false ) { + ConnectCallbacks(); } - ImfManager::~ImfManager() { - Finalize(); + DisconnectCallbacks(); } void ImfManager::ConnectCallbacks() diff --git a/adaptors/wayland/input/text/imf/imf-manager-impl.h b/adaptors/wayland/input/text/imf/imf-manager-impl.h old mode 100755 new mode 100644 index 8b4df80..d0739a8 --- a/adaptors/wayland/input/text/imf/imf-manager-impl.h +++ b/adaptors/wayland/input/text/imf/imf-manager-impl.h @@ -60,10 +60,6 @@ public: typedef Dali::ImfManager::KeyboardTypeSignalType ImfKeyboardTypeSignalType; public: - /** - * @copydoc Dali::ImfManager::Finalize() - */ - void Finalize(); /** * @brief Check whether the ImfManager is available. @@ -310,7 +306,6 @@ private: std::string mSurroundingText; int mPreEditCursorPosition; int mEditCursorPosition; - bool mInited:1; ///< Whether the imf is already inited. bool mRestoreAfterFocusLost:1; ///< Whether the keyboard needs to be restored (activated ) after focus regained. public: diff --git a/adaptors/x11/imf-manager-impl-x.cpp b/adaptors/x11/imf-manager-impl-x.cpp old mode 100755 new mode 100644 index 1d9294f..6d9d2a2 --- a/adaptors/x11/imf-manager-impl-x.cpp +++ b/adaptors/x11/imf-manager-impl-x.cpp @@ -122,19 +122,6 @@ void ImfDeleteSurrounding( void *data, Ecore_IMF_Context *imfContext, void *even } // unnamed namespace -void ImfManager::Finalize() -{ - DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::Finalize\n" ); - if ( mInited ) - { - VirtualKeyboard::DisconnectCallbacks( mIMFContext ); - DisconnectCallbacks(); - DeleteContext(); - ecore_imf_shutdown(); - mInited = false; - } -} - bool ImfManager::IsAvailable() { bool available( false ); @@ -151,7 +138,6 @@ bool ImfManager::IsAvailable() Dali::ImfManager ImfManager::Get() { Dali::ImfManager manager; - ImfManager *imfManager = NULL; Dali::SingletonService service( SingletonService::Get() ); if ( service ) @@ -161,8 +147,7 @@ Dali::ImfManager ImfManager::Get() if( handle ) { // If so, downcast the handle - imfManager = dynamic_cast< ImfManager* >( handle.GetObjectPtr() ); - manager = Dali::ImfManager( imfManager ); + manager = Dali::ImfManager( dynamic_cast< ImfManager* >( handle.GetObjectPtr() ) ); } else if ( Adaptor::IsAvailable() ) { @@ -173,14 +158,14 @@ Dali::ImfManager ImfManager::Get() // The Ecore_X_Window needs to use the ImfManager. // Only when the render surface is window, we can get the Ecore_X_Window. - Ecore_X_Window *ecoreXwin( AnyCast< Ecore_X_Window* >( nativeWindow ) ); - if ( ecoreXwin ) + Ecore_X_Window ecoreXwin( AnyCast(nativeWindow) ); + if (ecoreXwin) { // If we fail to get Ecore_X_Window, we can't use the ImfManager correctly. // Thus you have to call "ecore_imf_context_client_window_set" somewhere. // In EvasPlugIn, this function is called in EvasPlugin::ConnectEcoreEvent(). - imfManager = new ImfManager( ecoreXwin ); - manager = Dali::ImfManager( imfManager ); + + manager = Dali::ImfManager( new ImfManager( ecoreXwin ) ); service.Register( typeid( manager ), manager ); } else @@ -190,36 +175,33 @@ Dali::ImfManager ImfManager::Get() } } - if ( ( imfManager != NULL ) !imfManager->mInited ) - { - ecore_imf_init(); - imfManager->CreateContext( imfManager->mEcoreXWin ); - - imfManager->ConnectCallbacks(); - VirtualKeyboard::ConnectCallbacks( mIMFContext ); - imfManager->mInited = true; - } - return manager; } -ImfManager::ImfManager( Ecore_X_Window* ecoreXwin ) +ImfManager::ImfManager( Ecore_X_Window ecoreXwin ) : mIMFContext(), - mEcoreXWin( ecoreXwin ), mIMFCursorPosition( 0 ), mSurroundingText(), - mInited( false ), mRestoreAfterFocusLost( false ), mIdleCallbackConnected( false ) { + ecore_imf_init(); + CreateContext( ecoreXwin ); + + ConnectCallbacks(); + VirtualKeyboard::ConnectCallbacks( mIMFContext ); } ImfManager::~ImfManager() { - Finalize(); + VirtualKeyboard::DisconnectCallbacks( mIMFContext ); + DisconnectCallbacks(); + + DeleteContext(); + ecore_imf_shutdown(); } -void ImfManager::CreateContext( Ecore_X_Window* ecoreXwin ) +void ImfManager::CreateContext( Ecore_X_Window ecoreXwin ) { DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::CreateContext\n" );