mThemeBuilderConstants[ PACKAGE_PATH_KEY ] = DEFAULT_PACKAGE_PATH;
RequestDefaultTheme();
+
+ if( Adaptor::IsAvailable() )
+ {
+ StyleMonitor::Get().StyleChangeSignal().Connect( this, &StyleManager::StyleMonitorChange );
+ }
}
StyleManager::~StyleManager()
return false;
}
-Toolkit::StyleManager::ThemeChangeSignalType& StyleManager::ThemeChangeSignal()
+Toolkit::StyleManager::StyleChangeSignalType& StyleManager::StyleChangeSignal()
{
- return mThemeChangeSignal;
-}
-
-void StyleManager::EmitThemeChangeSignal()
-{
- if( !mThemeChangeSignal.Empty() )
- {
- mThemeChangeSignal.Emit( Toolkit::StyleManager::Get() );
- }
+ return mStyleChangeSignal;
}
void StyleManager::RequestThemeChange( const std::string& themeFile )
mSetThemeConnection = false;
- EmitThemeChangeSignal();
+ StyleChange change;
+ change.themeChange = true;
+ mStyleChangeSignal.Emit( Toolkit::StyleManager::Get(), change );
}
Toolkit::Builder StyleManager::FindCachedBuilder( const std::string& key )
mBuilderCache[ key ] = builder;
}
+void StyleManager::StyleMonitorChange( StyleMonitor styleMonitor, StyleChange styleChange )
+{
+ mStyleChangeSignal.Emit( Toolkit::StyleManager::Get(), styleChange );
+}
+
} // namespace Internal
} // namespace Toolkit