}
}
+void CLinuxTimezone::OnSettingsLoaded()
+{
+ SetTimezone(CSettings::Get().GetString("locale.timezone"));
+ CDateTime::ResetTimezoneBias();
+}
+
vector<CStdString> CLinuxTimezone::GetCounties()
{
return m_counties;
*/
#include "settings/lib/ISettingCallback.h"
+#include "settings/lib/ISettingsHandler.h"
#include "utils/StdString.h"
#include <vector>
#include <map>
class CSetting;
-class CLinuxTimezone : public ISettingCallback
+class CLinuxTimezone : public ISettingCallback, public ISettingsHandler
{
public:
CLinuxTimezone();
virtual void OnSettingChanged(const CSetting *setting);
+ virtual void OnSettingsLoaded();
+
CStdString GetOSConfiguredTimezone();
std::vector<CStdString> GetCounties();
m_settingsManager->UnregisterSettingsHandler(&CWakeOnAccess::Get());
m_settingsManager->UnregisterSettingsHandler(&CRssManager::Get());
m_settingsManager->UnregisterSettingsHandler(&g_application);
+#if defined(TARGET_LINUX)
+ m_settingsManager->UnregisterSettingsHandler(&g_timezone);
+#endif
m_initialized = false;
}
m_settingsManager->RegisterSettingsHandler(&CWakeOnAccess::Get());
m_settingsManager->RegisterSettingsHandler(&CRssManager::Get());
m_settingsManager->RegisterSettingsHandler(&g_application);
+#if defined(TARGET_LINUX)
+ m_settingsManager->RegisterSettingsHandler(&g_timezone);
+#endif
}
void CSettings::InitializeISubSettings()