Esempio n. 1
0
CBrowseRefsDlg::CBrowseRefsDlg(CString cmdPath, CWnd* pParent /*=NULL*/)
:	CResizableStandAloneDialog(CBrowseRefsDlg::IDD, pParent),
	m_cmdPath(cmdPath),
	m_currSortCol(0),
	m_currSortDesc(false),
	m_initialRef(L"HEAD"),
	m_pickRef_Kind(gPickRef_All),
	m_pListCtrlRoot(NULL),
	m_bHasWC(true),
	m_SelectedFilters(LOGFILTER_ALL),
	m_ColumnManager(&m_ListRefLeafs),
	m_bPickOne(false),
	m_bIncludeNestedRefs(TRUE),
	m_bPickedRefSet(false)
{
	// get short/long datetime setting from registry
	DWORD RegUseShortDateFormat = CRegDWORD(_T("Software\\TortoiseGit\\LogDateFormat"), TRUE);
	if (RegUseShortDateFormat)
		m_DateFormat = DATE_SHORTDATE;
	else
		m_DateFormat = DATE_LONGDATE;
	// get relative time display setting from registry
	DWORD regRelativeTimes = CRegDWORD(_T("Software\\TortoiseGit\\RelativeTimes"), FALSE);
	m_bRelativeTimes = (regRelativeTimes != 0);

	m_regIncludeNestedRefs = CRegDWORD(_T("Software\\TortoiseGit\\RefBrowserIncludeNestedRefs"), TRUE);
}
Esempio n. 2
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;
}
Esempio n. 3
0
CGitIndexList::CGitIndexList()
{
	this->m_LastModifyTime = 0;
	m_critRepoSec.Init();
	m_bCheckContent = !!(CRegDWORD(_T("Software\\TortoiseGit\\TGitCacheCheckContent"), TRUE) == TRUE);
	m_iMaxCheckSize = (__int64)CRegDWORD(_T("Software\\TortoiseGit\\TGitCacheCheckContentMaxSize"), 10 * 1024) * 1024; // stored in KiB
}
Esempio n. 4
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);
}
Esempio n. 5
0
bool CopyCommand::Execute()
{
	bool bRet = false;
	CString msg;
	if (parser.HasKey(_T("logmsg")))
	{
		msg = parser.GetVal(_T("logmsg"));
	}
	if (parser.HasKey(_T("logmsgfile")))
	{
		CString logmsgfile = parser.GetVal(_T("logmsgfile"));
		CStringUtils::ReadStringFromTextFile(logmsgfile, msg);
	}

	BOOL repeat = FALSE;
	CCopyDlg dlg;
	dlg.m_sLogMessage = msg;

	dlg.m_path = cmdLinePath;
	CString url = parser.GetVal(_T("url"));
	CString logmessage;
	SVNRev copyRev = SVNRev::REV_HEAD;
	BOOL doSwitch = FALSE;
	do
	{
		repeat = FALSE;
		dlg.m_URL = url;
		dlg.m_sLogMessage = logmessage;
		dlg.m_CopyRev = copyRev;
		dlg.m_bDoSwitch = doSwitch;
		if (dlg.DoModal() == IDOK)
		{
			theApp.m_pMainWnd = NULL;
			TRACE(_T("copy %s to %s\n"), (LPCTSTR)cmdLinePath.GetWinPathString(), (LPCTSTR)dlg.m_URL);
			CSVNProgressDlg progDlg;
			progDlg.SetCommand(CSVNProgressDlg::SVNProgress_Copy);
			if (parser.HasVal(_T("closeonend")))
				progDlg.SetAutoClose(parser.GetLongVal(_T("closeonend")));
			progDlg.SetOptions(dlg.m_bDoSwitch ? ProgOptSwitchAfterCopy : ProgOptNone);
			progDlg.SetPathList(pathList);
			progDlg.SetUrl(dlg.m_URL);
			progDlg.SetCommitMessage(dlg.m_sLogMessage);
			progDlg.SetRevision(dlg.m_CopyRev);
			url = dlg.m_URL;
			logmessage = dlg.m_sLogMessage;
			copyRev = dlg.m_CopyRev;
			doSwitch = dlg.m_bDoSwitch;
			progDlg.DoModal();
			CRegDWORD err = CRegDWORD(_T("Software\\TortoiseGit\\ErrorOccurred"), FALSE);
			err = (DWORD)progDlg.DidErrorsOccur();
			bRet = !progDlg.DidErrorsOccur();
			repeat = progDlg.DidErrorsOccur();
			CRegDWORD bFailRepeat = CRegDWORD(_T("Software\\TortoiseGit\\CommitReopen"), FALSE);
			if (DWORD(bFailRepeat) == FALSE)
				repeat = false;		// do not repeat if the user chose not to in the settings.
		}
	} while(repeat);
	return bRet;
}
Esempio n. 6
0
BOOL CChangedDlg::OnInitDialog()
{
	CResizableStandAloneDialog::OnInitDialog();

	m_tooltips.Create(this);

	m_regAddBeforeCommit = CRegDWORD(_T("Software\\TortoiseGit\\AddBeforeCommit"), TRUE);
	m_bShowUnversioned = m_regAddBeforeCommit;

	CString regPath(g_Git.m_CurrentDir);
	regPath.Replace(_T(":"), _T("_"));
	m_regShowWholeProject = CRegDWORD(_T("Software\\TortoiseGit\\TortoiseProc\\ShowWholeProject\\") + regPath, FALSE);
	m_bWholeProject = m_regShowWholeProject;
	SetDlgTitle();

	UpdateData(FALSE);

	m_FileListCtrl.Init(GITSLC_COLEXT | GITSLC_COLSTATUS | GITSLC_COLADD| GITSLC_COLDEL | GITSLC_COLMODIFICATIONDATE, _T("ChangedDlg"),
						(GITSLC_POPALL ^ (GITSLC_POPSAVEAS|GITSLC_POPRESTORE)), false);
	m_FileListCtrl.SetCancelBool(&m_bCanceled);
	m_FileListCtrl.SetBackgroundImage(IDI_CFM_BKG);
	m_FileListCtrl.SetEmptyString(IDS_REPOSTATUS_EMPTYFILELIST);

	AdjustControlSize(IDC_SHOWUNVERSIONED);
	AdjustControlSize(IDC_SHOWUNMODIFIED);
	AdjustControlSize(IDC_SHOWLOCALCHANGESIGNORED);
	AdjustControlSize(IDC_SHOWIGNORED);
	AdjustControlSize(IDC_WHOLE_PROJECT);

	AddAnchor(IDC_CHANGEDLIST, TOP_LEFT, BOTTOM_RIGHT);
	AddAnchor(IDC_SUMMARYTEXT, BOTTOM_LEFT, BOTTOM_RIGHT);
	AddAnchor(IDC_SHOWUNVERSIONED, BOTTOM_LEFT);
	AddAnchor(IDC_SHOWUNMODIFIED, BOTTOM_LEFT);
	AddAnchor(IDC_SHOWLOCALCHANGESIGNORED, BOTTOM_LEFT);
	AddAnchor(IDC_SHOWIGNORED, BOTTOM_LEFT);
	AddAnchor(IDC_WHOLE_PROJECT, BOTTOM_LEFT);
	AddAnchor(IDC_INFOLABEL, BOTTOM_RIGHT);
	AddAnchor(IDC_BUTTON_STASH, BOTTOM_RIGHT);
	AddAnchor(IDC_BUTTON_UNIFIEDDIFF, BOTTOM_RIGHT);
	AddAnchor(IDC_COMMIT, BOTTOM_RIGHT);
	AddAnchor(IDC_REFRESH, BOTTOM_RIGHT);
	AddAnchor(IDOK, BOTTOM_RIGHT);
//	SetPromptParentWindow(m_hWnd);
	if (hWndExplorer)
		CenterWindow(CWnd::FromHandle(hWndExplorer));
	EnableSaveRestore(_T("ChangedDlg"));

	m_bRemote = !!(DWORD)CRegDWORD(_T("Software\\TortoiseGit\\CheckRepo"), FALSE);

	// first start a thread to obtain the status without
	// blocking the dialog
	if (AfxBeginThread(ChangedStatusThreadEntry, this)==NULL)
	{
		CMessageBox::Show(NULL, IDS_ERR_THREADSTARTFAILED, IDS_APPNAME, MB_OK | MB_ICONERROR);
	}

	return TRUE;
}
Esempio n. 7
0
static CString GetProgramDataGitConfig()
{
	if (!((CRegDWORD(L"Software\\TortoiseGit\\CygwinHack", FALSE) == TRUE) || (CRegDWORD(L"Software\\TortoiseGit\\Msys2Hack", FALSE) == TRUE)))
	{
		CString programdataConfig;
		if (SHGetFolderPath(nullptr, CSIDL_COMMON_APPDATA, NULL, SHGFP_TYPE_CURRENT, CStrBuf(programdataConfig, MAX_PATH)) == S_OK && programdataConfig.GetLength() < MAX_PATH - 11) /* 11 = len("\\Git\\config") */
			return programdataConfig + L"\\Git\\config";
	}
	return L"";
}
Esempio n. 8
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);
}
Esempio n. 9
0
CSetMisc::CSetMisc()
	: ISettingsPropPage(CSetMisc::IDD)
	, m_bUnversionedRecurse(FALSE)
	, m_bAutocompletion(FALSE)
	, m_dwAutocompletionTimeout(0)
	, m_bSpell(TRUE)
	, m_bCheckRepo(FALSE)
	, m_dwMaxHistory(25)
	, m_bCommitReopen(FALSE)
	, m_bShowLockDlg(FALSE)
	, m_bAutoSelect(TRUE)
{
	m_regUnversionedRecurse = CRegDWORD(_T("Software\\TortoiseGit\\UnversionedRecurse"), TRUE);
	m_bUnversionedRecurse = (DWORD)m_regUnversionedRecurse;
	m_regAutocompletion = CRegDWORD(_T("Software\\TortoiseGit\\Autocompletion"), TRUE);
	m_bAutocompletion = (DWORD)m_regAutocompletion;
	m_regAutocompletionTimeout = CRegDWORD(_T("Software\\TortoiseGit\\AutocompleteParseTimeout"), 5);
	m_dwAutocompletionTimeout = (DWORD)m_regAutocompletionTimeout;
	m_regSpell = CRegDWORD(_T("Software\\TortoiseGit\\Spellchecker"), FALSE);
	m_bSpell = (DWORD)m_regSpell;
	m_regCheckRepo = CRegDWORD(_T("Software\\TortoiseGit\\CheckRepo"), FALSE);
	m_bCheckRepo = (DWORD)m_regCheckRepo;
	m_regMaxHistory = CRegDWORD(_T("Software\\TortoiseGit\\MaxHistoryItems"), 25);
	m_dwMaxHistory = (DWORD)m_regMaxHistory;
	m_regCommitReopen = CRegDWORD(_T("Software\\TortoiseGit\\CommitReopen"), FALSE);
	m_bCommitReopen = (BOOL)(DWORD)m_regCommitReopen;
	m_regShowLockDlg = CRegDWORD(_T("Software\\TortoiseGit\\ShowLockDlg"), TRUE);
	m_bShowLockDlg = (BOOL)(DWORD)m_regShowLockDlg;
	m_regAutoSelect = CRegDWORD(_T("Software\\TortoiseGit\\SelectFilesForCommit"), TRUE);
	m_bAutoSelect = (BOOL)(DWORD)m_regAutoSelect;
}
Esempio n. 10
0
CCleanTypeDlg::CCleanTypeDlg(CWnd* pParent /*=NULL*/)
	: CStandAloneDialog(CCleanTypeDlg::IDD, pParent)

{
	CString WorkingDir=g_Git.m_CurrentDir;
	WorkingDir.Replace(_T(':'),_T('_'));
	this->m_regDir  = CRegDWORD( CString(_T("Software\\TortoiseGit\\History\\CleanDir\\"))+WorkingDir, 1);
	this->m_regType = CRegDWORD( CString(_T("Software\\TortoiseGit\\History\\CleanType\\"))+WorkingDir, 0);

	this->m_bDir = this->m_regDir;
	this->m_CleanType = this->m_regType;
}
Esempio n. 11
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);
}
Esempio n. 12
0
CSettingsTBlame::CSettingsTBlame()
	: ISettingsPropPage(CSettingsTBlame::IDD)
	, m_dwFontSize(0)
	, m_sFontName(_T(""))
	, m_dwTabSize(4)
{
	m_regNewLinesColor = CRegDWORD(_T("Software\\TortoiseSVN\\BlameNewColor"), RGB(255, 230, 230));
	m_regOldLinesColor = CRegDWORD(_T("Software\\TortoiseSVN\\BlameOldColor"), RGB(230, 230, 255));
	m_regFontName = CRegString(_T("Software\\TortoiseSVN\\BlameFontName"), _T("Courier New"));
	m_regFontSize = CRegDWORD(_T("Software\\TortoiseSVN\\BlameFontSize"), 10);
	m_regTabSize = CRegDWORD(_T("Software\\TortoiseSVN\\BlameTabSize"), 4);
}
CSVNStatusListCtrl::CSorter::CSorter ( ColumnManager* columnManager
                                      , CSVNStatusListCtrl * listControl
                                      , int sortedColumn
                                      , bool ascending)
                                      : columnManager (columnManager)
                                      , control(listControl)
                                      , sortedColumn (sortedColumn)
                                      , ascending (ascending)
{
    s_bSortLogical = !CRegDWORD(L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoStrCmpLogical", 0, false, HKEY_CURRENT_USER);
    if (s_bSortLogical)
        s_bSortLogical = !CRegDWORD(L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoStrCmpLogical", 0, false, HKEY_LOCAL_MACHINE);
}
Esempio n. 14
0
BOOL CChangedDlg::OnInitDialog()
{
	CResizableStandAloneDialog::OnInitDialog();
	
	GetWindowText(m_sTitle);

	m_tooltips.Create(this);

	m_regAddBeforeCommit = CRegDWORD(_T("Software\\TortoiseGit\\AddBeforeCommit"), TRUE);
	m_bShowUnversioned = m_regAddBeforeCommit;
	UpdateData(FALSE);

	m_FileListCtrl.Init(SVNSLC_COLEXT | SVNSLC_COLSTATUS, _T("ChangedDlg"),
						SVNSLC_POPALL, false);
	m_FileListCtrl.SetCancelBool(&m_bCanceled);
	m_FileListCtrl.SetBackgroundImage(IDI_CFM_BKG);
	m_FileListCtrl.SetEmptyString(IDS_REPOSTATUS_EMPTYFILELIST);
	
	AdjustControlSize(IDC_SHOWUNVERSIONED);
	AdjustControlSize(IDC_SHOWUNMODIFIED);
	AdjustControlSize(IDC_SHOWIGNORED);
//	AdjustControlSize(IDC_SHOWEXTERNALS);
//    AdjustControlSize(IDC_SHOWUSERPROPS);

	AddAnchor(IDC_CHANGEDLIST, TOP_LEFT, BOTTOM_RIGHT);
	AddAnchor(IDC_SUMMARYTEXT, BOTTOM_LEFT, BOTTOM_RIGHT);
	AddAnchor(IDC_SHOWUNVERSIONED, BOTTOM_LEFT);
	AddAnchor(IDC_SHOWUNMODIFIED, BOTTOM_LEFT);
	AddAnchor(IDC_SHOWIGNORED, BOTTOM_LEFT);
//	AddAnchor(IDC_SHOWEXTERNALS, BOTTOM_LEFT);
//	AddAnchor(IDC_SHOWUSERPROPS, BOTTOM_LEFT);
	AddAnchor(IDC_INFOLABEL, BOTTOM_RIGHT);
	AddAnchor(IDC_REFRESH, BOTTOM_RIGHT);
	AddAnchor(IDC_CHECKREPO, BOTTOM_RIGHT);
	AddAnchor(IDOK, BOTTOM_RIGHT);
//	SetPromptParentWindow(m_hWnd);
	if (hWndExplorer)
		CenterWindow(CWnd::FromHandle(hWndExplorer));
	EnableSaveRestore(_T("ChangedDlg"));

	m_bRemote = !!(DWORD)CRegDWORD(_T("Software\\TortoiseGit\\CheckRepo"), FALSE);
	
	// first start a thread to obtain the status without
	// blocking the dialog
	if (AfxBeginThread(ChangedStatusThreadEntry, this)==NULL)
	{
		CMessageBox::Show(NULL, IDS_ERR_THREADSTARTFAILED, IDS_APPNAME, MB_OK | MB_ICONERROR);
	}

	return TRUE;
}
Esempio n. 15
0
CGitRefCompareList::CGitRefCompareList()
	: CHintListCtrl()
	, colRef(0)
	, colChange(0)
	, colOldHash(0)
	, colOldMessage(0)
	, colNewHash(0)
	, colNewMessage(0)
{
	m_bSortLogical = !CRegDWORD(L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoStrCmpLogical", 0, false, HKEY_CURRENT_USER);
	if (m_bSortLogical)
		m_bSortLogical = !CRegDWORD(L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoStrCmpLogical", 0, false, HKEY_LOCAL_MACHINE);
	m_bHideUnchanged = CRegDWORD(_T("Software\\TortoiseGit\\RefCompareHideUnchanged"), FALSE);
}
Esempio n. 16
0
CSubmoduleUpdateDlg::CSubmoduleUpdateDlg(CWnd* pParent /*=NULL*/)
	: CStandAloneDialog(CSubmoduleUpdateDlg::IDD, pParent)
	, m_bInit(TRUE)
	, m_bRecursive(FALSE)
	, m_bForce(FALSE)
	, m_bNoFetch(FALSE)
	, m_bMerge(FALSE)
	, m_bRebase(FALSE)
	, m_bRemote(FALSE)
	, m_bWholeProject(FALSE)
{
	s_bSortLogical = !CRegDWORD(L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoStrCmpLogical", 0, false, HKEY_CURRENT_USER);
	if (s_bSortLogical)
		s_bSortLogical = !CRegDWORD(L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoStrCmpLogical", 0, false, HKEY_LOCAL_MACHINE);
}
Esempio n. 17
0
CCleanTypeDlg::CCleanTypeDlg(CWnd* pParent /*=nullptr*/)
	: CStateStandAloneDialog(CCleanTypeDlg::IDD, pParent)

{
	CString WorkingDir=g_Git.m_CurrentDir;
	WorkingDir.Replace(_T(':'),_T('_'));
	this->m_regDir  = CRegDWORD( CString(_T("Software\\TortoiseGit\\History\\CleanDir\\"))+WorkingDir, 1);
	this->m_regType = CRegDWORD( CString(_T("Software\\TortoiseGit\\History\\CleanType\\"))+WorkingDir, 0);

	this->m_bDir = this->m_regDir;
	this->m_CleanType = this->m_regType;
	m_bNoRecycleBin = !CRegDWORD(_T("Software\\TortoiseGit\\RevertWithRecycleBin"), TRUE);
	m_bDryRun = FALSE;
	m_bSubmodules = FALSE;
}
Esempio n. 18
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);
}
Esempio n. 19
0
BOOL CSubmoduleUpdateDlg::OnInitDialog()
{
	CResizableStandAloneDialog::OnInitDialog();
	CAppUtils::MarkWindowAsUnpinnable(m_hWnd);

	AdjustControlSize(IDC_CHECK_SUBMODULE_INIT);
	AdjustControlSize(IDC_CHECK_SUBMODULE_RECURSIVE);
	AdjustControlSize(IDC_CHECK_SUBMODULE_NOFETCH);
	AdjustControlSize(IDC_CHECK_SUBMODULE_MERGE);
	AdjustControlSize(IDC_CHECK_SUBMODULE_REBASE);

	AddAnchor(IDOK, BOTTOM_RIGHT);
	AddAnchor(IDCANCEL, BOTTOM_RIGHT);
	AddAnchor(IDHELP, BOTTOM_RIGHT);
	AddAnchor((UINT)IDC_STATIC, TOP_LEFT);
	AddAnchor(IDC_LIST_PATH, TOP_LEFT, BOTTOM_RIGHT);
	AddAnchor(IDC_SELECTALL, BOTTOM_LEFT);
	AddAnchor(IDC_WHOLE_PROJECT, BOTTOM_LEFT);
	AddAnchor(IDC_GROUP_INFO, BOTTOM_LEFT, BOTTOM_RIGHT);
	AddAnchor(IDC_CHECK_SUBMODULE_INIT, BOTTOM_LEFT);
	AddAnchor(IDC_CHECK_SUBMODULE_RECURSIVE, BOTTOM_LEFT);
	AddAnchor(IDC_FORCE, BOTTOM_LEFT);
	AddAnchor(IDC_CHECK_SUBMODULE_REMOTE, BOTTOM_LEFT);
	AddAnchor(IDC_CHECK_SUBMODULE_NOFETCH, BOTTOM_RIGHT);
	AddAnchor(IDC_CHECK_SUBMODULE_MERGE, BOTTOM_RIGHT);
	AddAnchor(IDC_CHECK_SUBMODULE_REBASE, BOTTOM_RIGHT);

	CString str(g_Git.m_CurrentDir);
	str.Replace(L':', L'_');
	m_regShowWholeProject = CRegDWORD(L"Software\\TortoiseGit\\TortoiseProc\\ShowWholeProject\\" + str, FALSE);
	m_bWholeProject = m_regShowWholeProject;

	m_regInit = CRegDWORD(L"Software\\TortoiseGit\\TortoiseProc\\SubmoduleUpdate\\" + str + L"\\init", TRUE);
	m_bInit = m_regInit;
	m_regRecursive = CRegDWORD(L"Software\\TortoiseGit\\TortoiseProc\\SubmoduleUpdate\\" + str + L"\\recursive", FALSE);
	m_bRecursive = m_regRecursive;
	m_regForce = CRegDWORD(L"Software\\TortoiseGit\\TortoiseProc\\SubmoduleUpdate\\" + str + L"\\force", FALSE);
	m_bForce = m_regForce;
	m_regRemote = CRegDWORD(L"Software\\TortoiseGit\\TortoiseProc\\SubmoduleUpdate\\" + str + L"\\remote", FALSE);
	m_bRemote = m_regRemote;
	m_regNoFetch = CRegDWORD(L"Software\\TortoiseGit\\TortoiseProc\\SubmoduleUpdate\\" + str + L"\\nofetch", FALSE);
	m_bNoFetch = m_regNoFetch;
	m_regMerge = CRegDWORD(L"Software\\TortoiseGit\\TortoiseProc\\SubmoduleUpdate\\" + str + L"\\merge", FALSE);
	m_bMerge = m_regMerge;
	m_regRebase = CRegDWORD(L"Software\\TortoiseGit\\TortoiseProc\\SubmoduleUpdate\\" + str + L"\\rebase", FALSE);
	m_bRebase = m_regRebase;

	DialogEnableWindow(IDC_WHOLE_PROJECT, !(m_PathFilterList.empty() || (m_PathFilterList.size() == 1 && m_PathFilterList[0].IsEmpty())));

	SetDlgTitle();

	EnableSaveRestore(L"SubmoduleUpdateDlg");

	Refresh();
	UpdateData(FALSE);

	return TRUE;
}
Esempio n. 20
0
CGitIndexList::CGitIndexList()
{
    this->m_LastModifyTime = 0;
    m_critRepoSec.Init();
    repository = NULL;
    m_bCheckContent = !!(CRegDWORD(_T("Software\\TortoiseGit\\TGitCacheCheckContent"), TRUE) == TRUE);
}
Esempio n. 21
0
CProgressDlg::CProgressDlg(CWnd* pParent /*=nullptr*/)
	: CResizableStandAloneDialog(CProgressDlg::IDD, pParent)
	, m_bShowCommand(true)
	, m_bAbort(false)
	, m_bDone(false)
	, m_startTick(GetTickCount64())
	, m_BufStart(0)
	, m_Git(&g_Git)
	, m_hAccel(nullptr)
{
	m_pThread = nullptr;
	m_bBufferAll=false;
	m_GitStatus = (DWORD)-1;
	int autoClose = CRegDWORD(_T("Software\\TortoiseGit\\AutoCloseGitProgress"), 0);
	CCmdLineParser parser(AfxGetApp()->m_lpCmdLine);
	if (parser.HasKey(_T("closeonend")))
		autoClose = parser.GetLongVal(_T("closeonend"));
	switch (autoClose)
	{
	case 1:
		m_AutoClose = AUTOCLOSE_IF_NO_OPTIONS;
		break;
	case 2:
		m_AutoClose = AUTOCLOSE_IF_NO_ERRORS;
		break;
	default:
		m_AutoClose = AUTOCLOSE_NO;
		break;
	}
}
Esempio n. 22
0
CGitIndexList::CGitIndexList()
: m_bHasConflicts(FALSE)
{
	this->m_LastModifyTime = 0;
	m_critRepoSec.Init();
	m_iMaxCheckSize = (__int64)CRegDWORD(_T("Software\\TortoiseGit\\TGitCacheCheckContentMaxSize"), 10 * 1024) * 1024; // stored in KiB
}
Esempio n. 23
0
void CRepositoryBrowser::SaveDividerPosition()
{
	RECT rc;
	GetDlgItem(IDC_REPOTREE)->GetClientRect(&rc);
	CRegDWORD xPos = CRegDWORD(_T("Software\\TortoiseGit\\TortoiseProc\\ResizableState\\RepobrowserDivider"));
	xPos = rc.right - rc.left;
}
Esempio n. 24
0
CSetSavedDataPage::CSetSavedDataPage()
	: ISettingsPropPage(CSetSavedDataPage::IDD)
	, m_maxLines(0)
{
	m_regMaxLines = CRegDWORD(_T("Software\\TortoiseGit\\MaxLinesInLogfile"), 4000);
	m_maxLines = m_regMaxLines;
}
Esempio n. 25
0
BOOL CPromptDlg::OnInitDialog()
{
    CStandAloneDialog::OnInitDialog();

    ExtendFrameIntoClientArea(IDC_PASSEDIT);
    m_aeroControls.SubclassControl(this, IDC_SAVECHECK);
    m_aeroControls.SubclassOkCancel(this);

    BOOL bAllowAuthSave = (BOOL)(DWORD)CRegDWORD(L"Software\\TortoiseSVN\\AllowAuthSave", TRUE);
    DialogEnableWindow(IDC_SAVECHECK, bAllowAuthSave);
    if (bAllowAuthSave)
        CheckDlgButton(IDC_SAVECHECK, SVNConfig::Instance().ConfigGetBool(SVN_CONFIG_SECTION_AUTH, SVN_CONFIG_OPTION_STORE_PASSWORDS, true) ? BST_CHECKED : BST_UNCHECKED);

    if (m_hide)
    {
        m_pass.SetPasswordChar('*');
        GetDlgItem(IDC_SAVECHECK)->ShowWindow(SW_SHOW);
    }
    else
    {
        m_pass.SetPasswordChar('\0');
        GetDlgItem(IDC_SAVECHECK)->ShowWindow(SW_HIDE);
    }

    m_pass.SetFocus();
    if ((m_hParentWnd==NULL)&&(GetExplorerHWND()))
        CenterWindow(CWnd::FromHandle(m_hParentWnd));
    return FALSE;
}
Esempio n. 26
0
void CLogOrdering::OnOK()
{
	if (m_cLogOrdering.GetCurSel() != CB_ERR)
		CRegDWORD(L"Software\\TortoiseGit\\LogOrderBy") = (DWORD)m_cLogOrdering.GetItemData(m_cLogOrdering.GetCurSel());

	__super::OnOK();
}
Esempio n. 27
0
void CProgressDlg::OnCancel()
{
	CTraceToOutputDebugString::Instance()(_T(__FUNCTION__) _T(": User canceled\n"));
	m_bAbort = true;
	if(m_bDone)
	{
		CResizableStandAloneDialog::OnCancel();
		return;
	}

	if( m_Git->m_CurrentGitPi.hProcess )
	{
		DWORD dwConfirmKillProcess = CRegDWORD(_T("Software\\TortoiseGit\\ConfirmKillProcess"));
		if (dwConfirmKillProcess && CMessageBox::Show(m_hWnd, IDS_PROC_CONFIRMKILLPROCESS, IDS_APPNAME, MB_YESNO | MB_ICONQUESTION) != IDYES)
			return;
		if(::GenerateConsoleCtrlEvent(CTRL_C_EVENT,0))
		{
			::WaitForSingleObject(m_Git->m_CurrentGitPi.hProcess ,10000);
		}
		else
		{
			GetLastError();
		}

		KillProcessTree(m_Git->m_CurrentGitPi.dwProcessId);
	}

	::WaitForSingleObject(m_Git->m_CurrentGitPi.hProcess ,10000);
	CResizableStandAloneDialog::OnCancel();
}
Esempio n. 28
0
CResizableStandAloneDialog::CResizableStandAloneDialog(UINT nIDTemplate, CWnd* pParentWnd /*= NULL*/)
    : CStandAloneDialogTmpl<CResizableDialog>(nIDTemplate, pParentWnd)
    , m_bVertical(false)
    , m_bHorizontal(false)
    , m_stickySize(CRegDWORD(L"Software\\TortoiseSVN\\DlgStickySize", 3))
{
}
Esempio n. 29
0
void CGitProgressList::ReportError(const CString& sError)
{
	if (CRegDWORD(_T("Software\\TortoiseGit\\NoSounds"), FALSE) == FALSE)
		PlaySound((LPCTSTR)SND_ALIAS_SYSTEMEXCLAMATION, NULL, SND_ALIAS_ID | SND_ASYNC);
	ReportString(sError, CString(MAKEINTRESOURCE(IDS_ERR_ERROR)), m_Colors.GetColor(CColors::Conflict));
	m_bErrorsOccurred = true;
}
Esempio n. 30
0
void CSyncDlg::OnCancel()
{
	m_bAbort = true;
	if (m_bDone)
	{
		CResizableStandAloneDialog::OnCancel();
		return;
	}

	if (g_Git.m_CurrentGitPi.hProcess)
	{
		DWORD dwConfirmKillProcess = CRegDWORD(_T("Software\\TortoiseGit\\ConfirmKillProcess"));
		if (dwConfirmKillProcess && CMessageBox::Show(m_hWnd, IDS_PROC_CONFIRMKILLPROCESS, IDS_APPNAME, MB_YESNO | MB_ICONQUESTION) != IDYES)
			return;
		if (::GenerateConsoleCtrlEvent(CTRL_C_EVENT, 0))
		{
			::WaitForSingleObject(g_Git.m_CurrentGitPi.hProcess, 10000);
		}
		else
		{
			GetLastError();
		}

		CProgressDlg::KillProcessTree(g_Git.m_CurrentGitPi.dwProcessId);
	}

	::WaitForSingleObject(g_Git.m_CurrentGitPi.hProcess ,10000);
	m_tooltips.Pop();
	CResizableStandAloneDialog::OnCancel();
}