예제 #1
0
void CSetDialogs3::LoadDataImpl(git_config * config)
{
	{
		CString value;
		if (GetConfigValue(config, PROJECTPROPNAME_PROJECTLANGUAGE, value) == GIT_ENOTFOUND && m_iConfigSource != 0)
			m_langCombo.SetCurSel(0);
		else if (value == _T("-1"))
			m_langCombo.SetCurSel(2);
		else if (!value.IsEmpty())
		{
			LPTSTR strEnd;
			long longValue = _tcstol(value, &strEnd, 0);
			if (longValue == 0)
			{
				if (m_iConfigSource == 0)
					SelectLanguage(m_langCombo, CRegDWORD(_T("Software\\TortoiseGit\\LanguageID"), 1033));
				else
					m_langCombo.SetCurSel(1);
			}
			else
				SelectLanguage(m_langCombo, longValue);
		}
		else if (m_iConfigSource == 0)
			SelectLanguage(m_langCombo, CRegDWORD(_T("Software\\TortoiseGit\\LanguageID"), 1033));
		else
			m_langCombo.SetCurSel(1);
	}

	{
		m_LogMinSize = _T("");
		CString value;
		m_bInheritLogMinSize = (GetConfigValue(config, PROJECTPROPNAME_LOGMINSIZE, value) == GIT_ENOTFOUND);
		if (!value.IsEmpty() || m_iConfigSource == 0)
		{
			int nMinLogSize = _ttoi(value);
			m_LogMinSize.Format(L"%d", nMinLogSize);
			m_bInheritLogMinSize = FALSE;
		}
	}

	{
		m_Border = _T("");
		CString value;
		m_bInheritBorder = (GetConfigValue(config, PROJECTPROPNAME_LOGWIDTHLINE, value) == GIT_ENOTFOUND);
		if (!value.IsEmpty() || m_iConfigSource == 0)
		{
			int nLogWidthMarker = _ttoi(value);
			m_Border.Format(L"%d", nLogWidthMarker);
			m_bInheritBorder = FALSE;
		}
	}

	GetBoolConfigValueComboBox(config, PROJECTPROPNAME_WARNNOSIGNEDOFFBY, m_cWarnNoSignedOffBy);

	m_bInheritIconFile = (GetConfigValue(config, PROJECTPROPNAME_ICON, m_iconFile) == GIT_ENOTFOUND);

	m_bNeedSave = false;
	SetModified(FALSE);
	UpdateData(FALSE);
}
void CSettingsBugtraqConfig::LoadDataImpl(CAutoConfig& config)
{
	if (m_iConfigSource == 0)
	{
		// use project properties here, so that we correctly get the default values
		ProjectProperties props;
		props.ReadProps();
		m_URL = props.sUrl;
		m_Logregex = props.sCheckRe + _T("\n") + props.sBugIDRe;
		m_Label = props.sLabel;
		m_Message = props.sMessage;
		m_UUID32 = props.sProviderUuid;
		m_UUID64 = props.sProviderUuid64;
		m_Params = props.sProviderParams;
		// read legacy registry values
		CBugTraqAssociations bugtraq_associations;
		bugtraq_associations.Load(props.GetProviderUUID(), props.sProviderParams);
		CBugTraqAssociation bugtraq_association;
		if (bugtraq_associations.FindProvider(g_Git.m_CurrentDir, &bugtraq_association))
		{
#if _WIN64
			m_UUID64 = bugtraq_association.GetProviderClassAsString();
#else
			m_UUID32 = bugtraq_association.GetProviderClassAsString();
			if (m_UUID64.IsEmpty())
				m_UUID64 = m_UUID32;
#endif
			m_Params = bugtraq_association.GetParameters();
		}

		if (props.bAppend)
			m_cAppend.SetCurSel(1);
		else
			m_cAppend.SetCurSel(2);

		if (props.bNumber)
			m_cNumber.SetCurSel(1);
		else
			m_cNumber.SetCurSel(2);

		if (props.bWarnIfNoIssue)
			m_cWarningifnoissue.SetCurSel(1);
		else
			m_cWarningifnoissue.SetCurSel(2);

		m_bInheritURL = FALSE;
		m_bInheritMessage = FALSE;
		m_bInheritLabel = FALSE;
		m_bInheritLogregex = FALSE;
		m_bInheritParams = FALSE;
		m_bInheritUUID32 = FALSE;
		m_bInheritUUID64 = FALSE;
	}
	else
	{
		m_bInheritURL = (config.GetString(BUGTRAQPROPNAME_URL, m_URL) == GIT_ENOTFOUND);
		m_bInheritMessage = (config.GetString(BUGTRAQPROPNAME_MESSAGE, m_Message) == GIT_ENOTFOUND);
		m_bInheritLabel = (config.GetString(BUGTRAQPROPNAME_LABEL, m_Label) == GIT_ENOTFOUND);
		GetBoolConfigValueComboBox(config, BUGTRAQPROPNAME_NUMBER, m_cNumber);
		GetBoolConfigValueComboBox(config, BUGTRAQPROPNAME_APPEND, m_cAppend);
		GetBoolConfigValueComboBox(config, BUGTRAQPROPNAME_WARNIFNOISSUE, m_cWarningifnoissue);
		m_bInheritLogregex = (config.GetString(BUGTRAQPROPNAME_LOGREGEX, m_Logregex) == GIT_ENOTFOUND);
		m_bInheritParams = (config.GetString(BUGTRAQPROPNAME_PROVIDERPARAMS, m_Params) == GIT_ENOTFOUND);
		m_bInheritUUID32 = (config.GetString(BUGTRAQPROPNAME_PROVIDERUUID, m_UUID32) == GIT_ENOTFOUND);
		m_bInheritUUID64 = (config.GetString(BUGTRAQPROPNAME_PROVIDERUUID64, m_UUID64) == GIT_ENOTFOUND);
	}

	m_Logregex.Trim();
	m_Logregex.Replace(_T("\n"), _T("\r\n"));

	m_bNeedSave = false;
	SetModified(FALSE);
	UpdateData(FALSE);
}