Example #1
0
void CHistoryCombo::SaveHistory()
{
	if (m_sSection.IsEmpty())
		return;

	//add the current item to the history
	CString sCurItem;
	GetWindowText(sCurItem);
	if (m_bTrim)
		sCurItem.Trim();
	if (!sCurItem.IsEmpty())
		AddString(sCurItem, 0);
	//save history to registry/inifile
	int nMax = min(GetCount(), m_nMaxHistoryItems + 1);
	for (int n = 0; n < nMax; n++)
	{
		CString sKey;
		sKey.Format(_T("%s\\%s%d"), (LPCTSTR)m_sSection, (LPCTSTR)m_sKeyPrefix, n);
		CRegString regkey = CRegString(sKey);
		regkey = m_arEntries.GetAt(n);
	}
	//remove items exceeding the max number of history items
	for (int n = nMax; ; n++)
	{
		CString sKey;
		sKey.Format(_T("%s\\%s%d"), (LPCTSTR)m_sSection, (LPCTSTR)m_sKeyPrefix, n);
		CRegString regkey = CRegString(sKey);
		CString sText = regkey;
		if (sText.IsEmpty())
			break;
		regkey.removeValue(); // remove entry
	}
}
Example #2
0
CSetDialogs::CSetDialogs()
    : ISettingsPropPage(CSetDialogs::IDD)
    , m_sDefaultLogs(L"")
    , m_bShortDateFormat(FALSE)
    , m_dwFontSize(0)
    , m_sFontName(L"")
    , m_bUseWCURL(FALSE)
    , m_sDefaultCheckoutPath(L"")
    , m_sDefaultCheckoutUrl(L"")
    , m_bDiffByDoubleClick(FALSE)
    , m_bUseSystemLocaleForDates(FALSE)
    , m_bUseRecycleBin(TRUE)
    , m_bAutoCloseLocal(FALSE)
    , m_dwAutoClose(0)
{
    m_regAutoClose = CRegDWORD(L"Software\\TortoiseSVN\\AutoClose");
    m_regAutoCloseLocal = CRegDWORD(L"Software\\TortoiseSVN\\AutoCloseLocal");
    m_regDefaultLogs = CRegDWORD(L"Software\\TortoiseSVN\\NumberOfLogs", 100);
    m_regShortDateFormat = CRegDWORD(L"Software\\TortoiseSVN\\LogDateFormat", FALSE);
    m_regUseSystemLocaleForDates = CRegDWORD(L"Software\\TortoiseSVN\\UseSystemLocaleForDates", TRUE);
    m_regFontName = CRegString(L"Software\\TortoiseSVN\\LogFontName", L"Courier New");
    m_regFontSize = CRegDWORD(L"Software\\TortoiseSVN\\LogFontSize", 8);
    m_regUseWCURL = CRegDWORD(L"Software\\TortoiseSVN\\MergeWCURL", FALSE);
    m_regDefaultCheckoutPath = CRegString(L"Software\\TortoiseSVN\\DefaultCheckoutPath");
    m_regDefaultCheckoutUrl = CRegString(L"Software\\TortoiseSVN\\DefaultCheckoutUrl");
    m_regDiffByDoubleClick = CRegDWORD(L"Software\\TortoiseSVN\\DiffByDoubleClickInLog", FALSE);
    m_regUseRecycleBin = CRegDWORD(L"Software\\TortoiseSVN\\RevertWithRecycleBin", TRUE);
}
Example #3
0
BOOL CRequestPullDlg::OnInitDialog()
{
	CHorizontalResizableStandAloneDialog::OnInitDialog();
	CAppUtils::MarkWindowAsUnpinnable(m_hWnd);

	AddAnchor(IDOK,BOTTOM_RIGHT);
	AddAnchor(IDCANCEL,BOTTOM_RIGHT);
	AddAnchor(IDHELP,BOTTOM_RIGHT);

	AddAnchor(IDC_BUTTON_LOCAL_BRANCH, TOP_RIGHT);
	AddAnchor(IDC_COMBOBOXEX_LOCAL_BRANCH, TOP_LEFT,TOP_RIGHT);
	AddAnchor(IDC_COMBOBOXEX_URL, TOP_LEFT,TOP_RIGHT);
	AddAnchor(IDC_REMOTE_BRANCH, TOP_LEFT,TOP_RIGHT);

	EnableSaveRestore(_T("RequestPullDlg"));

	CString sWindowTitle;
	GetWindowText(sWindowTitle);
	CAppUtils::SetWindowTitle(m_hWnd, g_Git.m_CurrentDir, sWindowTitle);

	STRING_VECTOR list;
	int current;
	g_Git.GetBranchList(list, &current, CGit::BRANCH_ALL);
	m_cStartRevision.SetMaxHistoryItems(0x7FFFFFFF);
	for (unsigned int i = 0; i < list.size(); i++)
	{
		m_cStartRevision.AddString(list[i]);
	}

	CString WorkingDir=g_Git.m_CurrentDir;
	WorkingDir.Replace(_T(':'), _T('_'));

	m_RegStartRevision = CRegString(_T("Software\\TortoiseGit\\History\\RequestPull\\")+WorkingDir+_T("\\startrevision"));
	if(m_StartRevision.IsEmpty()) {
		m_StartRevision = m_RegStartRevision;
	}
	m_cStartRevision.SetWindowTextW(m_StartRevision);

	// store URLs in global history, but save last used local url separately,
	// because one normally has only one writable repository
	m_cRepositoryURL.SetURLHistory(TRUE);
	m_cRepositoryURL.LoadHistory(_T("Software\\TortoiseGit\\History\\RequestPull"), _T("url"));
	m_RegRepositoryURL = CRegString(_T("Software\\TortoiseGit\\History\\RequestPull\\")+WorkingDir+_T("\\repositoryurl"));
	if(m_RepositoryURL.IsEmpty())
	{
		m_RepositoryURL = m_RegRepositoryURL;
	}
	m_cRepositoryURL.SetWindowTextW(m_RepositoryURL);

	m_RegEndRevision = CRegString(_T("Software\\TortoiseGit\\History\\RequestPull\\")+WorkingDir+_T("\\endrevision"), _T("HEAD"));
	if(m_EndRevision.IsEmpty()) {
		m_EndRevision = m_RegEndRevision;
	}
	m_cEndRevision.SetWindowTextW(m_EndRevision);

	this->UpdateData(FALSE);

	return TRUE;
}
CodeCollaboratorSettingsDlg::CodeCollaboratorSettingsDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CodeCollaboratorSettingsDlg::IDD, pParent),
{
    m_regCollabUser     = CRegString(L"Software\\TortoiseSVN\\CodeCollaborator\\CollabUser", L"");
    m_regCollabPassword = CRegString(L"Software\\TortoiseSVN\\CodeCollaborator\\CollabPassword", L"");
    m_regSvnUser        = CRegString(L"Software\\TortoiseSVN\\CodeCollaborator\\SvnUser", L"");
    m_regSvnPassword    = CRegString(L"Software\\TortoiseSVN\\CodeCollaborator\\SvnPassword", L"");
}
Example #5
0
CSettingsProgsDiff::CSettingsProgsDiff()
	: ISettingsPropPage(CSettingsProgsDiff::IDD)
	, m_dlgAdvDiff(_T("Diff"))
	, m_iExtDiff(0)
	, m_iDiffViewer(0)
{
	m_regDiffPath = CRegString(_T("Software\\TortoiseGit\\Diff"));
	m_regDiffViewerPath = CRegString(_T("Software\\TortoiseGit\\DiffViewer"));
}
Example #6
0
CSetMainPage::CSetMainPage()
    : ISettingsPropPage(CSetMainPage::IDD)
    , m_bLastCommitTime(FALSE)
    , m_bUseAero(TRUE)
    , m_dwLanguage(0)
{
    m_regLanguage = CRegDWORD(L"Software\\TortoiseSVN\\LanguageID", 1033);
    CString temp(SVN_CONFIG_DEFAULT_GLOBAL_IGNORES);
    m_regExtensions = CRegString(L"Software\\Tigris.org\\Subversion\\Config\\miscellany\\global-ignores", temp);
    m_regLastCommitTime = CRegString(L"Software\\Tigris.org\\Subversion\\Config\\miscellany\\use-commit-times", L"");
    m_regUseAero = CRegDWORD(L"Software\\TortoiseSVN\\EnableDWMFrame", TRUE);
}
Example #7
0
CSetMainPage::CSetMainPage()
	: ISettingsPropPage(CSetMainPage::IDD)
	, m_bCheckNewer(TRUE)
	, m_dwLanguage(0)
{
	m_regLanguage = CRegDWORD(L"Software\\TortoiseGit\\LanguageID", 1033);

	m_regMsysGitPath = CRegString(REG_MSYSGIT_PATH);
	m_regMsysGitExtranPath =CRegString(REG_MSYSGIT_EXTRA_PATH);

	m_sMsysGitPath = m_regMsysGitPath;
	m_sMsysGitExtranPath = m_regMsysGitExtranPath;

	m_regCheckNewer = CRegDWORD(L"Software\\TortoiseGit\\VersionCheck", TRUE);
}
Example #8
0
CSetOverlayPage::CSetOverlayPage()
    : ISettingsPropPage(CSetOverlayPage::IDD)
    , m_bRemovable(FALSE)
    , m_bNetwork(FALSE)
    , m_bFixed(FALSE)
    , m_bCDROM(FALSE)
    , m_bRAM(FALSE)
    , m_bUnknown(FALSE)
    , m_bOnlyExplorer(FALSE)
    , m_sExcludePaths(_T(""))
    , m_sIncludePaths(_T(""))
    , m_bUnversionedAsModified(FALSE)
    , m_bIgnoreOnCommitIgnored(TRUE)
    , m_bFloppy(FALSE)
    , m_bShowExcludedAsNormal(TRUE)
{
    m_regOnlyExplorer = CRegDWORD(_T("Software\\TortoiseSVN\\LoadDllOnlyInExplorer"), FALSE);
    m_regDriveMaskRemovable = CRegDWORD(_T("Software\\TortoiseSVN\\DriveMaskRemovable"));
    m_regDriveMaskFloppy = CRegDWORD(_T("Software\\TortoiseSVN\\DriveMaskFloppy"));
    m_regDriveMaskRemote = CRegDWORD(_T("Software\\TortoiseSVN\\DriveMaskRemote"));
    m_regDriveMaskFixed = CRegDWORD(_T("Software\\TortoiseSVN\\DriveMaskFixed"), TRUE);
    m_regDriveMaskCDROM = CRegDWORD(_T("Software\\TortoiseSVN\\DriveMaskCDROM"));
    m_regDriveMaskRAM = CRegDWORD(_T("Software\\TortoiseSVN\\DriveMaskRAM"));
    m_regDriveMaskUnknown = CRegDWORD(_T("Software\\TortoiseSVN\\DriveMaskUnknown"));
    m_regExcludePaths = CRegString(_T("Software\\TortoiseSVN\\OverlayExcludeList"));
    m_regIncludePaths = CRegString(_T("Software\\TortoiseSVN\\OverlayIncludeList"));
    m_regCacheType = CRegDWORD(_T("Software\\TortoiseSVN\\CacheType"), GetSystemMetrics(SM_REMOTESESSION) ? 2 : 1);
    m_regUnversionedAsModified = CRegDWORD(_T("Software\\TortoiseSVN\\UnversionedAsModified"), FALSE);
    m_regIgnoreOnCommitIgnored = CRegDWORD(L"Software\\TortoiseSVN\\IgnoreOnCommitIgnored", TRUE);
    m_regShowExcludedAsNormal = CRegDWORD(_T("Software\\TortoiseSVN\\ShowExcludedFoldersAsNormal"), FALSE);

    m_bOnlyExplorer = m_regOnlyExplorer;
    m_bRemovable = m_regDriveMaskRemovable;
    m_bFloppy = m_regDriveMaskFloppy;
    m_bNetwork = m_regDriveMaskRemote;
    m_bFixed = m_regDriveMaskFixed;
    m_bCDROM = m_regDriveMaskCDROM;
    m_bRAM = m_regDriveMaskRAM;
    m_bUnknown = m_regDriveMaskUnknown;
    m_bUnversionedAsModified = m_regUnversionedAsModified;
    m_bIgnoreOnCommitIgnored = m_regIgnoreOnCommitIgnored;
    m_bShowExcludedAsNormal = m_regShowExcludedAsNormal;
    m_sExcludePaths = m_regExcludePaths;
    m_sExcludePaths.Replace(_T("\n"), _T("\r\n"));
    m_sIncludePaths = m_regIncludePaths;
    m_sIncludePaths.Replace(_T("\n"), _T("\r\n"));
    m_dwCacheType = m_regCacheType;
}
BOOL CBugtraqRegexTestDlg::OnInitDialog()
{
    CResizableStandAloneDialog::OnInitDialog();
    CAppUtils::MarkWindowAsUnpinnable(m_hWnd);

    ExtendFrameIntoClientArea(IDC_DWM);
    m_aeroControls.SubclassControl(this, IDC_PROPRECURSIVE);
    m_aeroControls.SubclassOkCancelHelp(this);

    ProjectProperties projectprops;
    projectprops.lProjectLanguage = -1;
    projectprops.SetBugIDRe(m_sBugtraqRegex1);
    projectprops.SetCheckRe(m_sBugtraqRegex2);

    m_cLogMessage.Init(projectprops);
    m_cLogMessage.SetFont((CString)CRegString(L"Software\\TortoiseSVN\\LogFontName", L"Courier New"), (DWORD)CRegDWORD(L"Software\\TortoiseSVN\\LogFontSize", 8));

    CAppUtils::SetAccProperty(m_cLogMessage.GetSafeHwnd(), PROPID_ACC_ROLE, ROLE_SYSTEM_TEXT);
    CAppUtils::SetAccProperty(m_cLogMessage.GetSafeHwnd(), PROPID_ACC_HELP, CString(MAKEINTRESOURCE(IDS_INPUT_ENTERLOG)));

    m_cLogMessage.SetText(CString(MAKEINTRESOURCE(IDS_SAMPLEBUGTRAQTESTMSG)));

    AddAnchor(IDC_SAMPLELABEL, TOP_LEFT, TOP_RIGHT);
    AddAnchor(IDC_LOGMESSAGE, TOP_LEFT, BOTTOM_RIGHT);
    AddAnchor(IDC_REGEXIDLABEL, BOTTOM_LEFT);
    AddAnchor(IDC_BUGTRAQLOGREGEX1, BOTTOM_LEFT, BOTTOM_RIGHT);
    AddAnchor(IDC_REGEXMSGLABEL, BOTTOM_LEFT);
    AddAnchor(IDC_BUGTRAQLOGREGEX2, BOTTOM_LEFT, BOTTOM_RIGHT);
    AddAnchor(IDC_DWM, BOTTOM_LEFT);
    AddAnchor(IDOK, BOTTOM_RIGHT);
    AddAnchor(IDCANCEL, BOTTOM_RIGHT);

    return TRUE;
}
CSettingsProgsDiff::CSettingsProgsDiff()
    : ISettingsPropPage(CSettingsProgsDiff::IDD)
    , m_dlgAdvDiff(L"Diff")
    , m_iExtDiff(0)
    , m_sDiffPath(L"")
    , m_iExtDiffProps(0)
    , m_sDiffPropsPath(L"")
    , m_regConvertBase(L"Software\\TortoiseSVN\\ConvertBase", TRUE)
    , m_bConvertBase(false)
    , m_sDiffViewerPath(L"")
    , m_iDiffViewer(0)
{
    m_regDiffPath = CRegString(L"Software\\TortoiseSVN\\Diff");
    m_regDiffPropsPath = CRegString(L"Software\\TortoiseSVN\\DiffProps");
    m_regDiffViewerPath = CRegString(L"Software\\TortoiseSVN\\DiffViewer");
}
Example #11
0
CSettingsTBlame::CSettingsTBlame()
    : ISettingsPropPage(CSettingsTBlame::IDD)
    , m_dwFontSize(0)
    , m_sFontName(L"")
    , m_dwTabSize(4)
{
    m_regNewLinesColor = CRegDWORD(L"Software\\TortoiseSVN\\BlameNewColor", BLAMENEWCOLOR);
    m_regOldLinesColor = CRegDWORD(L"Software\\TortoiseSVN\\BlameOldColor", BLAMEOLDCOLOR);
    m_regNewLinesColorBar = CRegDWORD(L"Software\\TortoiseSVN\\BlameLocatorNewColor", BLAMENEWCOLORBAR);
    m_regOldLinesColorBar = CRegDWORD(L"Software\\TortoiseSVN\\BlameLocatorOldColor", BLAMEOLDCOLORBAR);
    m_regFontName = CRegString(L"Software\\TortoiseSVN\\BlameFontName", L"Courier New");
    m_regFontSize = CRegDWORD(L"Software\\TortoiseSVN\\BlameFontSize", 10);
    m_regTabSize = CRegDWORD(L"Software\\TortoiseSVN\\BlameTabSize", 4);

    m_regIndexColors[0] =  CRegDWORD(L"Software\\TortoiseSVN\\BlameIndexColor1", BLAMEINDEXCOLOR1);
    m_regIndexColors[1] =  CRegDWORD(L"Software\\TortoiseSVN\\BlameIndexColor2", BLAMEINDEXCOLOR2);
    m_regIndexColors[2] =  CRegDWORD(L"Software\\TortoiseSVN\\BlameIndexColor3", BLAMEINDEXCOLOR3);
    m_regIndexColors[3] =  CRegDWORD(L"Software\\TortoiseSVN\\BlameIndexColor4", BLAMEINDEXCOLOR4);
    m_regIndexColors[4] =  CRegDWORD(L"Software\\TortoiseSVN\\BlameIndexColor5", BLAMEINDEXCOLOR5);
    m_regIndexColors[5] =  CRegDWORD(L"Software\\TortoiseSVN\\BlameIndexColor6", BLAMEINDEXCOLOR6);
    m_regIndexColors[6] =  CRegDWORD(L"Software\\TortoiseSVN\\BlameIndexColor7", BLAMEINDEXCOLOR7);
    m_regIndexColors[7] =  CRegDWORD(L"Software\\TortoiseSVN\\BlameIndexColor8", BLAMEINDEXCOLOR8);
    m_regIndexColors[8] =  CRegDWORD(L"Software\\TortoiseSVN\\BlameIndexColor9", BLAMEINDEXCOLOR9);
    m_regIndexColors[9] =  CRegDWORD(L"Software\\TortoiseSVN\\BlameIndexColor10", BLAMEINDEXCOLOR10);
    m_regIndexColors[10] = CRegDWORD(L"Software\\TortoiseSVN\\BlameIndexColor11", BLAMEINDEXCOLOR11);
    m_regIndexColors[11] = CRegDWORD(L"Software\\TortoiseSVN\\BlameIndexColor12", BLAMEINDEXCOLOR12);
}
BOOL CBugtraqRegexTestDlg::OnInitDialog()
{
	CResizableStandAloneDialog::OnInitDialog();
	CAppUtils::MarkWindowAsUnpinnable(m_hWnd);

	ProjectProperties projectprops;
	projectprops.lProjectLanguage = -1;
	projectprops.SetBugIDRe(m_sBugtraqRegex1);
	projectprops.SetCheckRe(m_sBugtraqRegex2);

	m_cLogMessage.Init(projectprops);
	m_cLogMessage.SetFont((CString)CRegString(_T("Software\\TortoiseGit\\LogFontName"), _T("Courier New")), (DWORD)CRegDWORD(_T("Software\\TortoiseGit\\LogFontSize"), 8));

	m_cLogMessage.SetText(CString(MAKEINTRESOURCE(IDS_SAMPLEBUGTRAQTESTMSG)));
	m_cLogMessage.Call(SCI_SETCURRENTPOS, 0);
	m_cLogMessage.Call(SCI_SETSEL, 0, 0);

	AddAnchor(IDC_SAMPLELABEL, TOP_LEFT, TOP_RIGHT);
	AddAnchor(IDC_LOGMESSAGE, TOP_LEFT, BOTTOM_RIGHT);
	AddAnchor(IDC_REGEXIDLABEL, BOTTOM_LEFT);
	AddAnchor(IDC_BUGTRAQLOGREGEX1, BOTTOM_LEFT, BOTTOM_RIGHT);
	AddAnchor(IDC_REGEXMSGLABEL, BOTTOM_LEFT);
	AddAnchor(IDC_BUGTRAQLOGREGEX2, BOTTOM_LEFT, BOTTOM_RIGHT);
	AddAnchor(IDOK, BOTTOM_RIGHT);
	AddAnchor(IDCANCEL, BOTTOM_RIGHT);

	return TRUE;
}
Example #13
0
CSettingsProgsUniDiff::CSettingsProgsUniDiff()
	: ISettingsPropPage(CSettingsProgsUniDiff::IDD)
	, m_sDiffViewerPath(_T(""))
	, m_iDiffViewer(0)
{
	m_regDiffViewerPath = CRegString(_T("Software\\TortoiseGit\\DiffViewer"));
}
CSettingsProgsAlternativeEditor::CSettingsProgsAlternativeEditor()
	: ISettingsPropPage(CSettingsProgsAlternativeEditor::IDD)
	, m_sAlternativeEditorPath(_T(""))
	, m_iAlternativeEditor(0)
{
	m_regAlternativeEditorPath = CRegString(_T("Software\\TortoiseGit\\AlternativeEditor"));
}
Example #15
0
CCloneDlg::CCloneDlg(CWnd* pParent /*=NULL*/)
	: CHorizontalResizableStandAloneDialog(CCloneDlg::IDD, pParent)
{
	m_bRecursive = FALSE;
	m_bBare = FALSE;
	m_bBranch = FALSE;
	m_bOrigin = FALSE;
	m_bNoCheckout = FALSE;
	m_bSVN = FALSE;
	m_bSVNTrunk = FALSE;
	m_bSVNTags = FALSE;
	m_bSVNBranch = FALSE;
	m_bSVNFrom = FALSE;
	m_bSVNUserName = FALSE;
	m_bExactPath = FALSE;

	m_strSVNTrunk = _T("trunk");
	m_strSVNTags = _T("tags");
	m_strSVNBranchs = _T("branches");

	m_regBrowseUrl = CRegDWORD(_T("Software\\TortoiseGit\\TortoiseProc\\CloneBrowse"),0);
	m_regCloneDir = CRegString(_T("Software\\TortoiseGit\\TortoiseProc\\CloneDir"));
	m_regUseSSHKey = CRegDWORD(_T("Software\\TortoiseGit\\TortoiseProc\\CloneUseSSHKey"), TRUE);
	m_nSVNFrom = 0;

	m_bAutoloadPuttyKeyFile = m_regUseSSHKey && CAppUtils::IsSSHPutty();

	m_nDepth = 1;
	m_bDepth = false;
	m_bSaving = false;
}
Example #16
0
CString CHistoryCombo::LoadHistory(LPCTSTR lpszSection, LPCTSTR lpszKeyPrefix)
{
	if (!lpszSection || !lpszKeyPrefix || *lpszSection == '\0')
		return L"";

	m_sSection = lpszSection;
	m_sKeyPrefix = lpszKeyPrefix;

	int n = 0;
	CString sText;
	do
	{
		//keys are of form <lpszKeyPrefix><entrynumber>
		CString sKey;
		sKey.Format(L"%s\\%s%d", (LPCTSTR)m_sSection, (LPCTSTR)m_sKeyPrefix, n++);
		sText = CRegString(sKey);
		if (!sText.IsEmpty())
			AddString(sText);
	} while (!sText.IsEmpty() && n < m_nMaxHistoryItems);

	SetCurSel(-1);

	ModifyStyleEx(WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE, 0);

	// need to resize the control for correct display
	CRect rect;
	GetWindowRect(rect);
	GetParent()->ScreenToClient(rect);
	MoveWindow(rect.left, rect.top, rect.Width(),100);

	return sText;
}
BOOL CMergeWizardRevRange::OnInitDialog()
{
    CMergeWizardBasePage::OnInitDialog();

    CMergeWizard * pWizard = (CMergeWizard*)GetParent();

    CString sRegKey = L"Software\\TortoiseSVN\\History\\repoURLS\\MergeURLFor" + ((CMergeWizard*)GetParent())->wcPath.GetSVNPathString();
    CString sMergeUrlForWC = CRegString(sRegKey);

    CString sUUID = pWizard->sUUID;
    m_URLCombo.SetURLHistory(true, false);
    m_URLCombo.LoadHistory(L"Software\\TortoiseSVN\\History\\repoURLS\\"+sUUID, L"url");
    if (!(DWORD)CRegDWORD(L"Software\\TortoiseSVN\\MergeWCURL", FALSE))
        m_URLCombo.SetCurSel(0);
    else if (!sMergeUrlForWC.IsEmpty())
        m_URLCombo.SetWindowText(CPathUtils::PathUnescape(sMergeUrlForWC));
    else if (!pWizard->url.IsEmpty())
        m_URLCombo.SetWindowText(CPathUtils::PathUnescape(pWizard->url));

    if (m_URLCombo.GetString().IsEmpty())
        m_URLCombo.SetWindowText(CPathUtils::PathUnescape(pWizard->url));
    if (!pWizard->URL1.IsEmpty())
        m_URLCombo.SetWindowText(CPathUtils::PathUnescape(pWizard->URL1));
    if (pWizard->revRangeArray.GetCount())
    {
        m_sRevRange = pWizard->revRangeArray.ToListString();
        if (pWizard->pegRev.IsValid())
            m_sRevRange = m_sRevRange + L"@" + pWizard->pegRev.ToString();
        SetDlgItemText(IDC_REVISION_RANGE, m_sRevRange);
    }

    CheckRadioButton(IDC_MERGERADIO_ALL, IDC_MERGERADIO_SPECIFIC, IDC_MERGERADIO_SPECIFIC);

    CString sLabel;
    sLabel.LoadString(IDS_MERGEWIZARD_REVRANGESTRING);
    SetDlgItemText(IDC_REVRANGELABEL, sLabel);

    SetDlgItemText(IDC_WCEDIT, ((CMergeWizard*)GetParent())->wcPath.GetWinPath());

    AdjustControlSize(IDC_REVERSEMERGE);

    AddAnchor(IDC_MERGEREVRANGEFROMGROUP, TOP_LEFT, TOP_RIGHT);
    AddAnchor(IDC_URLCOMBO, TOP_LEFT, TOP_RIGHT);
    AddAnchor(IDC_BROWSE, TOP_RIGHT);
    AddAnchor(IDC_MERGEREVRANGERANGEGROUP, TOP_LEFT, TOP_RIGHT);
    AddAnchor(IDC_MERGERADIO_ALL, TOP_LEFT);
    AddAnchor(IDC_MERGERADIO_SPECIFIC, TOP_LEFT);
    AddAnchor(IDC_REVISION_RANGE, TOP_LEFT, TOP_RIGHT);
    AddAnchor(IDC_SELLOG, TOP_RIGHT);
    AddAnchor(IDC_REVERSEMERGE, TOP_LEFT);
    AddAnchor(IDC_REVRANGELABEL, TOP_LEFT, TOP_RIGHT);
    AddAnchor(IDC_MERGEREVRANGEWCGROUP, TOP_LEFT, TOP_RIGHT);
    AddAnchor(IDC_WCEDIT, TOP_LEFT, TOP_RIGHT);
    AddAnchor(IDC_SHOWLOGWC, TOP_RIGHT);

    StartWCCheckThread(((CMergeWizard*)GetParent())->wcPath);

    return TRUE;
}
Example #18
0
CSettingsProgsMerge::CSettingsProgsMerge()
	: ISettingsPropPage(CSettingsProgsMerge::IDD)
	, m_sMergePath(_T(""))
	, m_iExtMerge(0)
	, m_dlgAdvMerge(_T("Merge"))
{
	m_regMergePath = CRegString(_T("Software\\TortoiseGit\\Merge"));
}
Example #19
0
CSetMainPage::CSetMainPage()
	: ISettingsPropPage(CSetMainPage::IDD)
	, m_sTempExtensions(_T(""))
	, m_bLastCommitTime(FALSE)
	, m_bUseDotNetHack(FALSE)
	, m_bUseAero(TRUE)
{
	m_regLanguage = CRegDWORD(_T("Software\\TortoiseSVN\\LanguageID"), 1033);
	CString temp(SVN_CONFIG_DEFAULT_GLOBAL_IGNORES);
	m_regExtensions = CRegString(_T("Software\\Tigris.org\\Subversion\\Config\\miscellany\\global-ignores"), temp);
	m_regLastCommitTime = CRegString(_T("Software\\Tigris.org\\Subversion\\Config\\miscellany\\use-commit-times"), _T(""));
	if ((GetEnvironmentVariable(_T("SVN_ASP_DOT_NET_HACK"), NULL, 0)==0)&&(GetLastError()==ERROR_ENVVAR_NOT_FOUND))
		m_bUseDotNetHack = false;
	else
		m_bUseDotNetHack = true;
	m_regUseAero = CRegDWORD(_T("Software\\TortoiseSVN\\EnableDWMFrame"), TRUE);
}
Example #20
0
CSetProxyPage::CSetProxyPage()
	: ISettingsPropPage(CSetProxyPage::IDD)
	, m_serveraddress(_T(""))
	, m_serverport(0)
	, m_username(_T(""))
	, m_password(_T(""))
	, m_isEnabled(FALSE)
	, m_SSHClient(_T(""))
{
	m_regServeraddress = CRegString(_T("Software\\TortoiseGit\\Git\\Servers\\global\\http-proxy-host"), _T(""));
	m_regServerport = CRegString(_T("Software\\TortoiseGit\\Git\\Servers\\global\\http-proxy-port"), _T(""));
	m_regUsername = CRegString(_T("Software\\TortoiseGit\\Git\\Servers\\global\\http-proxy-username"), _T(""));
	m_regPassword = CRegString(_T("Software\\TortoiseGit\\Git\\Servers\\global\\http-proxy-password"), _T(""));
	m_regSSHClient = CRegString(_T("Software\\TortoiseGit\\SSH"));
	m_SSHClient = m_regSSHClient;

}
CodeCollaboratorInfo::CodeCollaboratorInfo(CString revisions, CString repoUrl)
{
    CollabUser = CRegString(L"Software\\TortoiseSVN\\CodeCollaborator\\CollabUser", L"");
    CString encrypted = CRegString(L"Software\\TortoiseSVN\\CodeCollaborator\\CollabPassword", L"");
    if (encrypted.IsEmpty())
        CollabPassword = L"";
    else
        CollabPassword = CStringUtils::Decrypt((LPCWSTR)encrypted).get();
    SvnUser = CRegString(L"Software\\TortoiseSVN\\CodeCollaborator\\SvnUser", L"");
    encrypted = CRegString(L"Software\\TortoiseSVN\\CodeCollaborator\\SvnPassword", L"");
    if (encrypted.IsEmpty())
        SvnPassword = L"";
    else
        SvnPassword = CStringUtils::Decrypt((LPCWSTR)encrypted).get();
    RepoUrl = repoUrl;
    m_Revisions = revisions;
}
Example #22
0
int CGitIndexList::ReadIndex(CString dgitdir)
{
	this->clear();

	m_critRepoSec.Lock();
	if (repository.Open(dgitdir))
	{
		m_critRepoSec.Unlock();
		return -1;
	}

	// add config files
	CAutoConfig config(true);

	CString projectConfig = dgitdir + _T("config");
	CString globalConfig = g_Git.GetGitGlobalConfig();
	CString globalXDGConfig = g_Git.GetGitGlobalXDGConfig();
	CString systemConfig(CRegString(REG_SYSTEM_GITCONFIGPATH, _T(""), FALSE));

	git_config_add_file_ondisk(config, CGit::GetGitPathStringA(projectConfig), GIT_CONFIG_LEVEL_LOCAL, FALSE);
	git_config_add_file_ondisk(config, CGit::GetGitPathStringA(globalConfig), GIT_CONFIG_LEVEL_GLOBAL, FALSE);
	git_config_add_file_ondisk(config, CGit::GetGitPathStringA(globalXDGConfig), GIT_CONFIG_LEVEL_XDG, FALSE);
	if (!systemConfig.IsEmpty())
		git_config_add_file_ondisk(config, CGit::GetGitPathStringA(systemConfig), GIT_CONFIG_LEVEL_SYSTEM, FALSE);

	git_repository_set_config(repository, config);

	CAutoIndex index;
	// load index in order to enumerate files
	if (git_repository_index(index.GetPointer(), repository))
	{
		repository.Free();
		m_critRepoSec.Unlock();
		return -1;
	}

	size_t ecount = git_index_entrycount(index);
	resize(ecount);
	for (size_t i = 0; i < ecount; ++i)
	{
		const git_index_entry *e = git_index_get_byindex(index, i);

		this->at(i).m_FileName.Empty();
		this->at(i).m_FileName = CUnicodeUtils::GetUnicode(e->path);
		this->at(i).m_FileName.MakeLower();
		this->at(i).m_ModifyTime = e->mtime.seconds;
		this->at(i).m_Flags = e->flags | e->flags_extended;
		this->at(i).m_IndexHash = e->id.id;
		this->at(i).m_Size = e->file_size;
	}

	g_Git.GetFileModifyTime(dgitdir + _T("index"), &this->m_LastModifyTime);
	std::sort(this->begin(), this->end(), SortIndex);

	m_critRepoSec.Unlock();

	return 0;
}
Example #23
0
CSetOverlayIcons::CSetOverlayIcons()
	: ISettingsPropPage(CSetOverlayIcons::IDD)
{
	m_regNormal = CRegString(_T("Software\\TortoiseOverlays\\NormalIcon"));
	m_regModified = CRegString(_T("Software\\TortoiseOverlays\\ModifiedIcon"));
	m_regConflicted = CRegString(_T("Software\\TortoiseOverlays\\ConflictIcon"));
	m_regReadOnly = CRegString(_T("Software\\TortoiseOverlays\\ReadOnlyIcon"));
	m_regDeleted = CRegString(_T("Software\\TortoiseOverlays\\DeletedIcon"));
	m_regLocked = CRegString(_T("Software\\TortoiseOverlays\\LockedIcon"));
	m_regAdded = CRegString(_T("Software\\TortoiseOverlays\\AddedIcon"));
	m_regIgnored = CRegString(_T("Software\\TortoiseOverlays\\IgnoredIcon"));
	m_regUnversioned = CRegString(_T("Software\\TortoiseOverlays\\UnversionedIcon"));
	m_selIndex = CB_ERR;
}
Example #24
0
CSetMainPage::CSetMainPage()
	: ISettingsPropPage(CSetMainPage::IDD)
	, m_sMsysGitPath(_T(""))
	, m_bCheckNewer(TRUE)
{
	m_regLanguage = CRegDWORD(_T("Software\\TortoiseGit\\LanguageID"), 1033);
	CString temp=CRegString(REG_MSYSGIT_INSTALL,_T(""),FALSE,HKEY_LOCAL_MACHINE);;
	if(!temp.IsEmpty())
		temp+=_T("bin");
	m_regMsysGitPath = CRegString(REG_MSYSGIT_PATH,temp,FALSE);

	m_regMsysGitExtranPath =CRegString(REG_MSYSGIT_EXTRA_PATH);

	m_sMsysGitPath = m_regMsysGitPath;
	m_sMsysGitExtranPath = m_regMsysGitExtranPath;

	m_regCheckNewer = CRegDWORD(_T("Software\\TortoiseGit\\VersionCheck"), TRUE);
}
Example #25
0
CSetDialogs::CSetDialogs()
	: ISettingsPropPage(CSetDialogs::IDD)
	, m_bShortDateFormat(FALSE)
	, m_bRelativeTimes(FALSE)
	, m_bAsteriskLogPrefix(TRUE)
	, m_dwFontSize(0)
	, m_bDiffByDoubleClick(FALSE)
	, m_bUseSystemLocaleForDates(FALSE)
	, m_bAbbreviateRenamings(FALSE)
	, m_bSymbolizeRefNames(FALSE)
	, m_bEnableLogCache(TRUE)
	, m_bDrawBranchesTagsOnRightSide(FALSE)
	, m_bEnableGravatar(FALSE)
	, m_bShowDescribe(FALSE)
	, m_bShowBranchRevNo(FALSE)
	, m_DescribeStrategy(GIT_DESCRIBE_DEFAULT)
	, m_DescribeAbbreviatedSize(GIT_DESCRIBE_DEFAULT_ABBREVIATED_SIZE)
	, m_bDescribeAlwaysLong(FALSE)
	, m_bFullCommitMessageOnLogLine(FALSE)
	, m_bMailmapOnLog(FALSE)
{
	m_regDefaultLogs = CRegDWORD(L"Software\\TortoiseGit\\LogDialog\\NumberOfLogs", 1);
	m_regDefaultLogsScale = CRegDWORD(L"Software\\TortoiseGit\\LogDialog\\NumberOfLogsScale", CFilterData::SHOW_NO_LIMIT);
	m_regShortDateFormat = CRegDWORD(L"Software\\TortoiseGit\\LogDateFormat", TRUE);
	m_regRelativeTimes = CRegDWORD(L"Software\\TortoiseGit\\RelativeTimes", FALSE);
	m_regAsteriskLogPrefix = CRegDWORD(L"Software\\TortoiseGit\\AsteriskLogPrefix", TRUE);
	m_regUseSystemLocaleForDates = CRegDWORD(L"Software\\TortoiseGit\\UseSystemLocaleForDates", TRUE);
	m_regFontName = CRegString(L"Software\\TortoiseGit\\LogFontName", L"Consolas");
	m_regFontSize = CRegDWORD(L"Software\\TortoiseGit\\LogFontSize", 9);
	m_regDiffByDoubleClick = CRegDWORD(L"Software\\TortoiseGit\\DiffByDoubleClickInLog", FALSE);
	m_regAbbreviateRenamings = CRegDWORD(L"Software\\TortoiseGit\\AbbreviateRenamings", FALSE);
	m_regSymbolizeRefNames = CRegDWORD(L"Software\\TortoiseGit\\SymbolizeRefNames", FALSE);
	m_regEnableLogCache = CRegDWORD(L"Software\\TortoiseGit\\EnableLogCache", TRUE);
	m_regEnableGravatar = CRegDWORD(L"Software\\TortoiseGit\\EnableGravatar", FALSE);
	m_regGravatarUrl = CRegString(L"Software\\TortoiseGit\\GravatarUrl", L"http://www.gravatar.com/avatar/%HASH%?d=identicon");
	m_regDrawBranchesTagsOnRightSide = CRegDWORD(L"Software\\TortoiseGit\\DrawTagsBranchesOnRightSide", FALSE);
	m_regShowDescribe = CRegDWORD(L"Software\\TortoiseGit\\ShowDescribe", FALSE);
	m_regShowBranchRevNo = CRegDWORD(L"Software\\TortoiseGit\\ShowBranchRevisionNumber", FALSE);
	m_regDescribeStrategy = CRegDWORD(L"Software\\TortoiseGit\\DescribeStrategy", GIT_DESCRIBE_DEFAULT);
	m_regDescribeAbbreviatedSize = CRegDWORD(L"Software\\TortoiseGit\\DescribeAbbreviatedSize", GIT_DESCRIBE_DEFAULT_ABBREVIATED_SIZE);
	m_regDescribeAlwaysLong = CRegDWORD(L"Software\\TortoiseGit\\DescribeAlwaysLong", FALSE);
	m_regFullCommitMessageOnLogLine = CRegDWORD(L"Software\\TortoiseGit\\FullCommitMessageOnLogLine", FALSE);
	m_regMailmapOnLog = CRegDWORD(L"Software\\TortoiseGit\\LogDialog\\UseMailmap", FALSE);
}
Example #26
0
CSetMainPage::CSetMainPage()
    : ISettingsPropPage(CSetMainPage::IDD)
    , m_sMsysGitPath(_T(""))
    , m_bCheckNewer(TRUE)
    , m_bLastCommitTime(FALSE)
    , m_bUseDotNetHack(FALSE)
{
    m_regLanguage = CRegDWORD(_T("Software\\TortoiseGit\\LanguageID"), 1033);
    CString temp=CRegString(REG_MSYSGIT_INSTALL,_T(""),FALSE,HKEY_LOCAL_MACHINE);;
    if(!temp.IsEmpty())
        temp+=_T("bin");
    m_regMsysGitPath = CRegString(REG_MSYSGIT_PATH,temp,FALSE,HKEY_LOCAL_MACHINE);
    m_regCheckNewer = CRegDWORD(_T("Software\\TortoiseGit\\CheckNewer"), TRUE);
    m_regLastCommitTime = CRegString(_T("Software\\Tigris.org\\Subversion\\Config\\miscellany\\use-commit-times"), _T(""));
    if ((GetEnvironmentVariable(_T("SVN_ASP_DOT_NET_HACK"), NULL, 0)==0)&&(GetLastError()==ERROR_ENVVAR_NOT_FOUND))
        m_bUseDotNetHack = false;
    else
        m_bUseDotNetHack = true;
}
Example #27
0
CSetMainPage::CSetMainPage()
    : CPropertyPage(CSetMainPage::IDD)
    , m_bBackup(FALSE)
    , m_bFirstDiffOnLoad(FALSE)
    , m_bFirstConflictOnLoad(FALSE)
    , m_bUseSpaces(FALSE)
    , m_bSmartTabChar(FALSE)
    , m_nTabSize(0)
    , m_bEnableEditorConfig(FALSE)
    , m_nContextLines(0)
    , m_bIgnoreEOL(FALSE)
    , m_bOnePane(FALSE)
    , m_bViewLinenumbers(FALSE)
    , m_bReloadNeeded(FALSE)
    , m_bCaseInsensitive(FALSE)
    , m_bUTF8Default(FALSE)
    , m_bAutoAdd(TRUE)
    , m_nMaxInline(3000)
    , m_dwFontSize(0)
{
    m_regBackup = CRegDWORD(L"Software\\TortoiseMerge\\Backup");
    m_regFirstDiffOnLoad = CRegDWORD(L"Software\\TortoiseMerge\\FirstDiffOnLoad", TRUE);
    m_regFirstConflictOnLoad = CRegDWORD(L"Software\\TortoiseMerge\\FirstConflictOnLoad", TRUE);
    m_regTabMode = CRegDWORD(_T("Software\\TortoiseMerge\\TabMode"), 0);
    m_regTabSize = CRegDWORD(L"Software\\TortoiseMerge\\TabSize", 4);
    m_regEnableEditorConfig = CRegDWORD(L"Software\\TortoiseMerge\\EnableEditorConfig", FALSE);
    m_regIgnoreEOL = CRegDWORD(L"Software\\TortoiseMerge\\IgnoreEOL", TRUE);
    m_regOnePane = CRegDWORD(L"Software\\TortoiseMerge\\OnePane");
    m_regViewLinenumbers = CRegDWORD(L"Software\\TortoiseMerge\\ViewLinenumbers", 1);
    m_regFontName = CRegString(L"Software\\TortoiseMerge\\FontName", L"Courier New");
    m_regFontSize = CRegDWORD(L"Software\\TortoiseMerge\\FontSize", 10);
    m_regCaseInsensitive = CRegDWORD(L"Software\\TortoiseMerge\\CaseInsensitive", FALSE);
    m_regUTF8Default = CRegDWORD(L"Software\\TortoiseMerge\\UseUTF8", FALSE);
    m_regAutoAdd = CRegDWORD(L"Software\\TortoiseMerge\\AutoAdd", TRUE);
    m_regMaxInline = CRegDWORD(L"Software\\TortoiseMerge\\InlineDiffMaxLineLength", 3000);
    m_regUseRibbons = CRegDWORD(L"Software\\TortoiseMerge\\UseRibbons", TRUE);
    m_regContextLines = CRegDWORD(L"Software\\TortoiseMerge\\ContextLines", 0);

    m_bBackup = m_regBackup;
    m_bFirstDiffOnLoad = m_regFirstDiffOnLoad;
    m_bFirstConflictOnLoad = m_regFirstConflictOnLoad;
    m_bUseSpaces = (m_regTabMode & TABMODE_USESPACES) ? TRUE : FALSE;
    m_bSmartTabChar = (m_regTabMode & TABMODE_SMARTINDENT) ? TRUE : FALSE;
    m_nTabSize = m_regTabSize;
    m_bEnableEditorConfig = m_regEnableEditorConfig;
    m_nContextLines = m_regContextLines;
    m_bIgnoreEOL = m_regIgnoreEOL;
    m_bOnePane = m_regOnePane;
    m_bViewLinenumbers = m_regViewLinenumbers;
    m_bCaseInsensitive = m_regCaseInsensitive;
    m_bUTF8Default = m_regUTF8Default;
    m_bAutoAdd = m_regAutoAdd;
    m_nMaxInline = m_regMaxInline;
    m_bUseRibbons = m_regUseRibbons;
}
BOOL CFirstStartWizardAuthentication::OnWizardFinish()
{
	UpdateData();

	CString sshclient = CRegString(L"Software\\TortoiseGit\\SSH");
	if (sshclient.IsEmpty())
		sshclient = CRegString(L"Software\\TortoiseGit\\SSH", L"", FALSE, HKEY_LOCAL_MACHINE);
	if (m_ctrlSSHClient.GetCurSel() == 0 && !(sshclient.IsEmpty() || IsTool(L"tortoisegitplink", sshclient) || IsTool(L"tortoiseplink", sshclient)))
		CRegString(L"Software\\TortoiseGit\\SSH") = CPathUtils::GetAppDirectory() + L"TortoiseGitPlink.exe";
	else if (m_ctrlSSHClient.GetCurSel() == 1 && !IsTool(L"ssh", sshclient))
		CRegString(L"Software\\TortoiseGit\\SSH") = L"ssh.exe";

	if (m_ctrlSimpleCredential.IsWindowEnabled() && !m_bNoSave && m_ctrlSimpleCredential.GetCurSel() != -1)
	{
		CAutoConfig config(true);
		int err = git_config_add_file_ondisk(config, CGit::GetGitPathStringA(g_Git.GetGitGlobalXDGConfig()), GIT_CONFIG_LEVEL_XDG, nullptr, FALSE);
		if (!err && (PathFileExists(g_Git.GetGitGlobalConfig()) || !PathFileExists(g_Git.GetGitGlobalXDGConfig())))
			err = git_config_add_file_ondisk(config, CGit::GetGitPathStringA(g_Git.GetGitGlobalConfig()), GIT_CONFIG_LEVEL_GLOBAL, nullptr, FALSE);
		if (err)
		{
			MessageBox(g_Git.GetLibGit2LastErr(), L"TortoiseGit", MB_ICONEXCLAMATION);
			return FALSE;
		}

		if (m_ctrlSimpleCredential.GetCurSel() == 0 && m_availableHelpers.at(0) == CString(MAKEINTRESOURCE(IDS_NONE)))
		{
			int ret = git_config_delete_entry(config, "credential.helper");
			if (ret != 0 && ret != GIT_ENOTFOUND)
			{
				MessageBox(g_Git.GetLibGit2LastErr(), L"TortoiseGit", MB_ICONEXCLAMATION);
				return FALSE;
			}
		}
		else if (git_config_set_string(config, "credential.helper", CUnicodeUtils::GetUTF8(m_availableHelpers.at(m_ctrlSimpleCredential.GetCurSel()))))
		{
			MessageBox(g_Git.GetLibGit2LastErr(), L"TortoiseGit", MB_ICONEXCLAMATION);
			return FALSE;
		}
	}

	return __super::OnWizardFinish();
}
Example #29
0
BOOL CAppUtils::GetVersionedFile(CString sPath, CString sVersion, CString sSavePath, CSysProgressDlg * progDlg, HWND hWnd /*=NULL*/)
{
	CString sSCMPath = CRegString(_T("Software\\TortoiseMerge\\SCMPath"), _T(""));
	if (sSCMPath.IsEmpty())
	{
		// no path set, so use TortoiseSVN as default
		sSCMPath = CPathUtils::GetAppDirectory() + _T("TortoiseProc.exe");
		sSCMPath += _T(" /command:cat /path:\"%1\" /revision:%2 /savepath:\"%3\" /hwnd:%4");
	}
	CString sTemp;
	sTemp.Format(_T("%d"), hWnd);
	sSCMPath.Replace(_T("%1"), sPath);
	sSCMPath.Replace(_T("%2"), sVersion);
	sSCMPath.Replace(_T("%3"), sSavePath);
	sSCMPath.Replace(_T("%4"), sTemp);
	// start the external SCM program to fetch the specific version of the file
	STARTUPINFO startup;
	PROCESS_INFORMATION process;
	memset(&startup, 0, sizeof(startup));
	startup.cb = sizeof(startup);
	memset(&process, 0, sizeof(process));
	if (CreateProcess(NULL, (LPTSTR)(LPCTSTR)sSCMPath, NULL, NULL, FALSE, 0, 0, 0, &startup, &process)==0)
	{
		LPVOID lpMsgBuf;
		FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | 
			FORMAT_MESSAGE_FROM_SYSTEM | 
			FORMAT_MESSAGE_IGNORE_INSERTS,
			NULL,
			GetLastError(),
			MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
			(LPTSTR) &lpMsgBuf,
			0,
			NULL 
			);
		MessageBox(NULL, (LPCTSTR)lpMsgBuf, _T("TortoiseMerge"), MB_OK | MB_ICONERROR);
		LocalFree( lpMsgBuf );
	}
	DWORD ret = 0;
	do
	{
		ret = WaitForSingleObject(process.hProcess, 100);
	} while ((ret == WAIT_TIMEOUT) && (!progDlg->HasUserCancelled()));
	CloseHandle(process.hThread);
	CloseHandle(process.hProcess);
	
	if (progDlg->HasUserCancelled())
	{
		return FALSE;
	}
	if (!PathFileExists(sSavePath))
		return FALSE;
	return TRUE;
}
Example #30
0
BOOL CPatchViewDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	m_ctrlPatchView.Init(*m_pProjectProperties);
	m_ctrlPatchView.SetFont((CString)CRegString(_T("Software\\TortoiseGit\\LogFontName"), _T("Courier New")), (DWORD)CRegDWORD(_T("Software\\TortoiseGit\\LogFontSize"), 8));

	m_ctrlPatchView.SetUDiffStyle();

	return TRUE;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}