Exemple #1
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;
}
Exemple #2
0
Options::Options (int argc, char** argv)
	:iVersion (false),
	iHelpFlag (false),
	iPkgUIDSpecified (false),
	iRegistryEntrySpecified (false)
	{
	int argCount = argc;
	const char* buffer = getenv("DUMPSWIREGISTRY");
	if(buffer)
		{
		string regPath(buffer);
		iRegistryFilePath = regPath;
		}
	
	++argv;
	//check whether the first argument is a registry path
	if((**argv != '-') && (**argv != '/'))
		{
		iRegistryFilePath = *argv;
		++argv;
		--argc;
		} 

	if(*argv != NULL)
		{
		if ((**argv != '-') && (**argv != '/'))
			{
			throw EInvalidOption;
			}

		switch ((*argv)[1])
			{
			case 'h':
			case 'H':
			case '?':
				{
				iHelpFlag = true;
				DisplayUsage();
				break;
				}
			case 'v':
			case 'V':
				{
				iVersion = true;
				DisplayVersion();
				break;
				}

			case 'p':
			case 'P':
				{
				iPkgUIDSpecified = true;
				if(iRegistryFilePath.length() == 0)
					{
					throw ESetEnvironmentVariable;
					}
			
				if(argc !=3)
					{
					throw EInvalidOption;
					}
			
				iPkgUID = *++argv;
				break;
				}

			case 'r':
			case 'R':
				{
				iRegistryEntrySpecified = true;
				if(iRegistryFilePath.length() == 0)
					{
					throw ESetEnvironmentVariable;
					}

				if(argc != 5)
					{
					throw EInvalidOption;
					}
			
			iPkgUID = *++argv;
			iPkgName = *++argv;
			iVendorName = *++argv;
			break;
			}
					
			default:
				{
				throw EInvalidOption;
				}
			}
		}

	else
		{
		throw EInvalidOption;
		}

	CheckCmdLineExceptions();
	}