BOOL CBrowseRefsDlg::OnInitDialog() { CResizableStandAloneDialog::OnInitDialog(); CAppUtils::MarkWindowAsUnpinnable(m_hWnd); // the filter control has a 'cancel' button (the red 'X'), we need to load its bitmap m_ctrlFilter.SetCancelBitmaps(IDI_CANCELNORMAL, IDI_CANCELPRESSED); m_ctrlFilter.SetInfoIcon(IDI_FILTEREDIT); SetFilterCueText(); AddAnchor(IDC_TREE_REF, TOP_LEFT, BOTTOM_LEFT); AddAnchor(IDC_LIST_REF_LEAFS, TOP_LEFT, BOTTOM_RIGHT); AddAnchor(IDC_BROWSEREFS_STATIC_FILTER, TOP_LEFT); AddAnchor(IDC_BROWSEREFS_EDIT_FILTER, TOP_LEFT, TOP_RIGHT); AddAnchor(IDC_INFOLABEL, BOTTOM_LEFT, BOTTOM_RIGHT); AddAnchor(IDC_INCLUDENESTEDREFS, BOTTOM_LEFT); AddAnchor(IDHELP, BOTTOM_RIGHT); CRegDWORD regFullRowSelect(_T("Software\\TortoiseGit\\FullRowSelect"), TRUE); DWORD exStyle = LVS_EX_INFOTIP; if (DWORD(regFullRowSelect)) exStyle |= LVS_EX_FULLROWSELECT; m_ListRefLeafs.SetExtendedStyle(m_ListRefLeafs.GetExtendedStyle() | exStyle); static UINT columnNames[] = { IDS_BRANCHNAME, IDS_TRACKEDBRANCH, IDS_DATELASTCOMMIT, IDS_LASTCOMMIT, IDS_LASTAUTHOR, IDS_HASH, IDS_DESCRIPTION }; static int columnWidths[] = { 150, 100, 100, 300, 100, 80, 80 }; DWORD dwDefaultColumns = (1 << eCol_Name) | (1 << eCol_Upstream ) | (1 << eCol_Date) | (1 << eCol_Msg) | (1 << eCol_LastAuthor) | (1 << eCol_Hash) | (1 << eCol_Description); m_ColumnManager.SetNames(columnNames, _countof(columnNames)); m_ColumnManager.ReadSettings(dwDefaultColumns, 0, _T("BrowseRefs"), _countof(columnNames), columnWidths); m_bPickedRefSet = false; AddAnchor(IDOK,BOTTOM_RIGHT); AddAnchor(IDCANCEL,BOTTOM_RIGHT); AddAnchor(IDC_CURRENTBRANCH, BOTTOM_RIGHT); m_bIncludeNestedRefs = !!m_regIncludeNestedRefs; UpdateData(); Refresh(m_initialRef); EnableSaveRestore(L"BrowseRefs"); CString sWindowTitle; GetWindowText(sWindowTitle); CAppUtils::SetWindowTitle(m_hWnd, g_Git.m_CurrentDir, sWindowTitle); m_bHasWC = !GitAdminDir::IsBareRepo(g_Git.m_CurrentDir); if (m_bPickOne) m_ListRefLeafs.ModifyStyle(0, LVS_SINGLESEL); m_ListRefLeafs.SetFocus(); return FALSE; }
void CRefLogList::InsertRefLogColumn() { CString temp; CRegDWORD regFullRowSelect(_T("Software\\TortoiseGit\\FullRowSelect"), TRUE); DWORD exStyle = LVS_EX_HEADERDRAGDROP | LVS_EX_DOUBLEBUFFER | LVS_EX_INFOTIP | LVS_EX_SUBITEMIMAGES; if (DWORD(regFullRowSelect)) exStyle |= LVS_EX_FULLROWSELECT; SetExtendedStyle(exStyle); static UINT normal[] = { IDS_HASH, IDS_REF, IDS_ACTION, IDS_MESSAGE, IDS_STATUSLIST_COLDATE, }; static int with[] = { ICONITEMBORDER+16*4, ICONITEMBORDER+16*4, ICONITEMBORDER+16*4, LOGLIST_MESSAGE_MIN, ICONITEMBORDER+16*4, }; m_dwDefaultColumns = 0xFFFF; SetRedraw(false); m_ColumnManager.SetNames(normal, _countof(normal)); m_ColumnManager.ReadSettings(m_dwDefaultColumns,0, m_ColumnRegKey+_T("loglist"), _countof(normal), with); SetRedraw(true); }
BOOL CRepositoryBrowser::OnInitDialog() { CResizableStandAloneDialog::OnInitDialog(); CAppUtils::MarkWindowAsUnpinnable(m_hWnd); AddAnchor(IDC_STATIC_REPOURL, TOP_LEFT); AddAnchor(IDC_REPOBROWSER_URL, TOP_LEFT, TOP_RIGHT); AddAnchor(IDC_STATIC_REF, TOP_RIGHT); AddAnchor(IDC_BUTTON_REVISION, TOP_RIGHT); AddAnchor(IDC_REPOTREE, TOP_LEFT, BOTTOM_LEFT); AddAnchor(IDC_REPOLIST, TOP_LEFT, BOTTOM_RIGHT); AddAnchor(IDHELP, BOTTOM_RIGHT); AddAnchor(IDC_INFOLABEL, BOTTOM_LEFT, BOTTOM_RIGHT); AddAnchor(IDOK, BOTTOM_RIGHT); AddAnchor(IDCANCEL, BOTTOM_RIGHT); CRepositoryBrowser::s_bSortLogical = !CRegDWORD(L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoStrCmpLogical", 0, false, HKEY_CURRENT_USER); if (CRepositoryBrowser::s_bSortLogical) CRepositoryBrowser::s_bSortLogical = !CRegDWORD(L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoStrCmpLogical", 0, false, HKEY_LOCAL_MACHINE); static UINT columnNames[] = { IDS_STATUSLIST_COLFILENAME, IDS_STATUSLIST_COLEXT, IDS_LOG_SIZE }; static int columnWidths[] = { 150, 100, 100 }; DWORD dwDefaultColumns = (1 << eCol_Name) | (1 << eCol_Extension) | (1 << eCol_FileSize); m_ColumnManager.SetNames(columnNames, _countof(columnNames)); m_ColumnManager.ReadSettings(dwDefaultColumns, 0, _T("RepoBrowser"), _countof(columnNames), columnWidths); // set up the list control // set the extended style of the list control // the style LVS_EX_FULLROWSELECT interferes with the background watermark image but it's more important to be able to select in the whole row. CRegDWORD regFullRowSelect(_T("Software\\TortoiseGit\\FullRowSelect"), TRUE); DWORD exStyle = LVS_EX_HEADERDRAGDROP | LVS_EX_DOUBLEBUFFER | LVS_EX_INFOTIP | LVS_EX_SUBITEMIMAGES; if (DWORD(regFullRowSelect)) exStyle |= LVS_EX_FULLROWSELECT; m_RepoList.SetExtendedStyle(exStyle); m_RepoList.SetImageList(&SYS_IMAGE_LIST(), LVSIL_SMALL); CAppUtils::SetListCtrlBackgroundImage(m_RepoList.GetSafeHwnd(), IDI_REPOBROWSER_BKG); m_RepoTree.SetImageList(&SYS_IMAGE_LIST(), TVSIL_NORMAL); if (SysInfo::Instance().IsVistaOrLater()) { DWORD exStyle = TVS_EX_FADEINOUTEXPANDOS | TVS_EX_AUTOHSCROLL | TVS_EX_DOUBLEBUFFER; m_RepoTree.SetExtendedStyle(exStyle, exStyle); } m_nExternalOvl = SYS_IMAGE_LIST().AddIcon((HICON)LoadImage(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_EXTERNALOVL), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE)); // set externaloverlay in SYS_IMAGE_LIST() in Refresh method, so that it is updated after every launch of the logdialog SetWindowTheme(m_RepoTree.GetSafeHwnd(), L"Explorer", NULL); SetWindowTheme(m_RepoList.GetSafeHwnd(), L"Explorer", NULL); m_nIconFolder = SYS_IMAGE_LIST().GetDirIconIndex(); m_nOpenIconFolder = SYS_IMAGE_LIST().GetDirOpenIconIndex(); EnableSaveRestore(L"Reposbrowser"); DWORD xPos = CRegDWORD(_T("Software\\TortoiseGit\\TortoiseProc\\ResizableState\\RepobrowserDivider"), 0); if (xPos == 0) { RECT rc; GetDlgItem(IDC_REPOTREE)->GetClientRect(&rc); xPos = rc.right - rc.left; } HandleDividerMove(CPoint(xPos + 20, 10), false); CString sWindowTitle; GetWindowText(sWindowTitle); CAppUtils::SetWindowTitle(m_hWnd, g_Git.m_CurrentDir, sWindowTitle); m_bHasWC = !g_GitAdminDir.IsBareRepo(g_Git.m_CurrentDir); Refresh(); m_RepoList.SetFocus(); return FALSE; }
BOOL CRepositoryBrowser::OnInitDialog() { CResizableStandAloneDialog::OnInitDialog(); CAppUtils::MarkWindowAsUnpinnable(m_hWnd); AddAnchor(IDC_STATIC_REPOURL, TOP_LEFT); AddAnchor(IDC_REPOBROWSER_URL, TOP_LEFT, TOP_RIGHT); AddAnchor(IDC_STATIC_REF, TOP_RIGHT); AddAnchor(IDC_BUTTON_REVISION, TOP_RIGHT); AddAnchor(IDC_REPOTREE, TOP_LEFT, BOTTOM_LEFT); AddAnchor(IDC_REPOLIST, TOP_LEFT, BOTTOM_RIGHT); AddAnchor(IDHELP, BOTTOM_RIGHT); AddAnchor(IDOK, BOTTOM_RIGHT); AddAnchor(IDCANCEL, BOTTOM_RIGHT); CRepositoryBrowser::s_bSortLogical = !CRegDWORD(L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoStrCmpLogical", 0, false, HKEY_CURRENT_USER); if (CRepositoryBrowser::s_bSortLogical) CRepositoryBrowser::s_bSortLogical = !CRegDWORD(L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoStrCmpLogical", 0, false, HKEY_LOCAL_MACHINE); CString temp; temp.LoadString(IDS_STATUSLIST_COLFILENAME); m_RepoList.InsertColumn(eCol_Name, temp, 0, 150); temp.LoadString(IDS_STATUSLIST_COLEXT); m_RepoList.InsertColumn(eCol_Extension, temp, 0, 100); temp.LoadString(IDS_LOG_SIZE); m_RepoList.InsertColumn(eCol_FileSize, temp, 0, 100); // set up the list control // set the extended style of the list control // the style LVS_EX_FULLROWSELECT interferes with the background watermark image but it's more important to be able to select in the whole row. CRegDWORD regFullRowSelect(_T("Software\\TortoiseGit\\FullRowSelect"), TRUE); DWORD exStyle = LVS_EX_HEADERDRAGDROP | LVS_EX_DOUBLEBUFFER | LVS_EX_INFOTIP | LVS_EX_SUBITEMIMAGES; if (DWORD(regFullRowSelect)) exStyle |= LVS_EX_FULLROWSELECT; m_RepoList.SetExtendedStyle(exStyle); m_RepoList.SetImageList(&SYS_IMAGE_LIST(), LVSIL_SMALL); CAppUtils::SetListCtrlBackgroundImage(m_RepoList.GetSafeHwnd(), IDI_REPOBROWSER_BKG); m_RepoTree.SetImageList(&SYS_IMAGE_LIST(), TVSIL_NORMAL); if (SysInfo::Instance().IsVistaOrLater()) { DWORD exStyle = TVS_EX_FADEINOUTEXPANDOS | TVS_EX_AUTOHSCROLL | TVS_EX_DOUBLEBUFFER; m_RepoTree.SetExtendedStyle(exStyle, exStyle); } SetWindowTheme(m_RepoTree.GetSafeHwnd(), L"Explorer", NULL); SetWindowTheme(m_RepoList.GetSafeHwnd(), L"Explorer", NULL); m_nIconFolder = SYS_IMAGE_LIST().GetDirIconIndex(); m_nOpenIconFolder = SYS_IMAGE_LIST().GetDirOpenIconIndex(); EnableSaveRestore(L"Reposbrowser"); DWORD xPos = CRegDWORD(_T("Software\\TortoiseGit\\TortoiseProc\\ResizableState\\RepobrowserDivider"), 0); if (xPos == 0) { RECT rc; GetDlgItem(IDC_REPOTREE)->GetClientRect(&rc); xPos = rc.right - rc.left; } bDragMode = false; HandleDividerMove(CPoint(xPos + 20, 10), false); CString sWindowTitle; GetWindowText(sWindowTitle); CAppUtils::SetWindowTitle(m_hWnd, g_Git.m_CurrentDir, sWindowTitle); m_bHasWC = !g_GitAdminDir.IsBareRepo(g_Git.m_CurrentDir); Refresh(); m_RepoList.SetFocus(); return FALSE; }