void CSettings::InitializeDefaults() { // set some default values if necessary #if defined(HAS_SKIN_TOUCHED) && defined(TARGET_DARWIN_IOS) && !defined(TARGET_DARWIN_IOS_ATV2) ((CSettingAddon*)m_settingsManager->GetSetting("lookandfeel.skin"))->SetDefault("skin.touched"); #endif #if defined(TARGET_POSIX) CSettingString* timezonecountry = (CSettingString*)m_settingsManager->GetSetting("locale.timezonecountry"); CSettingString* timezone = (CSettingString*)m_settingsManager->GetSetting("locale.timezone"); if (timezonecountry->IsVisible()) timezonecountry->SetDefault(g_timezone.GetCountryByTimezone(g_timezone.GetOSConfiguredTimezone())); if (timezone->IsVisible()) timezone->SetDefault(g_timezone.GetOSConfiguredTimezone()); #endif // defined(TARGET_POSIX) #if defined(TARGET_WINDOWS) #if defined(HAS_DX) ((CSettingString*)m_settingsManager->GetSetting("musicplayer.visualisation"))->SetDefault("visualization.milkdrop"); #endif #if !defined(HAS_GL) // We prefer a fake fullscreen mode (window covering the screen rather than dedicated fullscreen) // as it works nicer with switching to other applications. However on some systems vsync is broken // when we do this (eg non-Aero on ATI in particular) and on others (AppleTV) we can't get XBMC to // the front if (g_sysinfo.IsAeroDisabled()) ((CSettingBool*)m_settingsManager->GetSetting("videoscreen.fakefullscreen"))->SetDefault(false); #endif #endif #if defined(TARGET_DARWIN) #if !defined(TARGET_DARWIN_IOS) CStdString defaultAudioDeviceName; CCoreAudioHardware::GetOutputDeviceName(defaultAudioDeviceName); ((CSettingString*)m_settingsManager->GetSetting("audiooutput.audiodevice"))->SetDefault(defaultAudioDeviceName); ((CSettingString*)m_settingsManager->GetSetting("audiooutput.passthroughdevice"))->SetDefault(defaultAudioDeviceName); #endif #else ((CSettingString*)m_settingsManager->GetSetting("audiooutput.audiodevice"))->SetDefault(CAEFactory::GetDefaultDevice(false)); ((CSettingString*)m_settingsManager->GetSetting("audiooutput.passthroughdevice"))->SetDefault(CAEFactory::GetDefaultDevice(true)); #endif if (g_application.IsStandAlone()) ((CSettingInt*)m_settingsManager->GetSetting("powermanagement.shutdownstate"))->SetDefault(POWERSTATE_SHUTDOWN); #if defined(HAS_WEB_SERVER) if (CUtil::CanBindPrivileged()) ((CSettingInt*)m_settingsManager->GetSetting("services.webserverport"))->SetDefault(80); #endif }
void CSettings::InitializeVisibility() { // hide some settings if necessary #if defined(TARGET_LINUX) || defined(TARGET_DARWIN) CSettingString* timezonecountry = (CSettingString*)m_settingsManager->GetSetting("locale.timezonecountry"); CSettingString* timezone = (CSettingString*)m_settingsManager->GetSetting("locale.timezone"); #if defined(TARGET_DARWIN) if (!g_sysinfo.IsAppleTV2() || GetIOSVersion() >= 4.3) { timezonecountry->SetVisible(false); timezone->SetVisible(false); } #endif #if defined(TARGET_LINUX) if (timezonecountry->IsVisible()) timezonecountry->SetDefault(g_timezone.GetCountryByTimezone(g_timezone.GetOSConfiguredTimezone())); if (timezone->IsVisible()) timezone->SetDefault(g_timezone.GetOSConfiguredTimezone()); #endif #endif }