Merge remote-tracking branch 'origin/tizen' into new_text
[platform/core/uifw/dali-adaptor.git] / adaptors / common / style-monitor-impl.cpp
index 1695d94..756df14 100644 (file)
 #include "style-monitor-impl.h"
 
 // EXTERNAL INCLUDES
-#include <vconf.h>
+#include <dali/public-api/object/type-registry.h>
 
 // INTERNAL INCLUDES
-#include <dali/public-api/object/type-registry.h>
 #include <adaptor-impl.h>
+#include <singleton-service-impl.h>
 
 namespace Dali
 {
@@ -43,10 +43,14 @@ BaseHandle Create()
 
   if ( !handle && Adaptor::IsAvailable() )
   {
-    Adaptor& adaptorImpl( Adaptor::GetImplementation( Adaptor::Get() ) );
-    Dali::StyleMonitor styleMonitor = Dali::StyleMonitor( new StyleMonitor( adaptorImpl.GetPlatformAbstraction() ) );
-    adaptorImpl.RegisterSingleton( typeid( styleMonitor ), styleMonitor );
-    handle = styleMonitor;
+    Dali::SingletonService service( SingletonService::Get() );
+    if ( service )
+    {
+      Adaptor& adaptorImpl( Adaptor::GetImplementation( Adaptor::Get() ) );
+      Dali::StyleMonitor styleMonitor = Dali::StyleMonitor( new StyleMonitor( adaptorImpl.GetPlatformAbstraction() ) );
+      service.Register( typeid( styleMonitor ), styleMonitor );
+      handle = styleMonitor;
+    }
   }
 
   return handle;
@@ -59,10 +63,11 @@ Dali::StyleMonitor StyleMonitor::Get()
 {
   Dali::StyleMonitor styleMonitor;
 
-  if ( Adaptor::IsAvailable() )
+  Dali::SingletonService service( SingletonService::Get() );
+  if ( service )
   {
     // Check whether the singleton is already created
-    Dali::BaseHandle handle = Dali::Adaptor::Get().GetSingleton( typeid( Dali::StyleMonitor ) );
+    Dali::BaseHandle handle = service.GetSingleton( typeid( Dali::StyleMonitor ) );
     if(handle)
     {
       // If so, downcast the handle
@@ -74,8 +79,11 @@ Dali::StyleMonitor StyleMonitor::Get()
 }
 
 StyleMonitor::StyleMonitor(Integration::PlatformAbstraction& platformAbstraction)
-: mPlatformAbstraction(platformAbstraction)
+: mPlatformAbstraction(platformAbstraction),
+  mDefaultFontSize(-1)
 {
+  mPlatformAbstraction.GetDefaultFontDescription( mDefaultFontFamily, mDefaultFontStyle );
+  mDefaultFontSize = mPlatformAbstraction.GetDefaultFontSize();
 }
 
 StyleMonitor::~StyleMonitor()
@@ -84,9 +92,13 @@ StyleMonitor::~StyleMonitor()
 
 void StyleMonitor::StyleChanged(StyleChange styleChange)
 {
-  if (styleChange.defaultFontChange || styleChange.defaultFontSizeChange)
+  if ( styleChange.defaultFontChange )
   {
-    mPlatformAbstraction.UpdateDefaultsFromDevice();
+    mPlatformAbstraction.GetDefaultFontDescription( mDefaultFontFamily, mDefaultFontStyle );
+  }
+  if ( styleChange.defaultFontSizeChange )
+  {
+    mDefaultFontSize = mPlatformAbstraction.GetDefaultFontSize();
   }
 
   EmitStyleChangeSignal(styleChange);
@@ -94,12 +106,17 @@ void StyleMonitor::StyleChanged(StyleChange styleChange)
 
 std::string StyleMonitor::GetDefaultFontFamily() const
 {
-  return mPlatformAbstraction.GetDefaultFontFamily();
+  return mDefaultFontFamily;
+}
+
+std::string StyleMonitor::GetDefaultFontStyle() const
+{
+  return mDefaultFontStyle;
 }
 
-float StyleMonitor::GetDefaultFontSize() const
+int StyleMonitor::GetDefaultFontSize() const
 {
-  return mPlatformAbstraction.GetDefaultFontSize();
+  return mDefaultFontSize;
 }
 
 const std::string& StyleMonitor::GetTheme() const
@@ -117,17 +134,17 @@ void StyleMonitor::SetTheme(const std::string& path)
   EmitStyleChangeSignal(styleChange);
 }
 
-Dali::StyleMonitor::StyleChangeSignalV2& StyleMonitor::StyleChangeSignal()
+Dali::StyleMonitor::StyleChangeSignalType& StyleMonitor::StyleChangeSignal()
 {
-  return mStyleChangeSignalV2;
+  return mStyleChangeSignal;
 }
 
 void StyleMonitor::EmitStyleChangeSignal(StyleChange styleChange)
 {
-  if( !mStyleChangeSignalV2.Empty() )
+  if( !mStyleChangeSignal.Empty() )
   {
     Dali::StyleMonitor handle( this );
-    mStyleChangeSignalV2.Emit( handle, styleChange );
+    mStyleChangeSignal.Emit( handle, styleChange );
   }
 }