#include "SinglePropSheetDlg.h"\r
#include "MessageBox.h"\r
#include "RefLogDlg.h"\r
+#include "IconMenu.h"\r
\r
void SetSortArrow(CListCtrl * control, int nColumn, bool bAscending)\r
{\r
\r
Refresh(m_initialRef);\r
\r
+ EnableSaveRestore(L"BrowseRefs");\r
+\r
\r
m_ListRefLeafs.SetFocus();\r
return FALSE;\r
\r
void CBrowseRefsDlg::ShowContextMenu(CPoint point, HTREEITEM hTreePos, VectorPShadowTree& selectedLeafs)\r
{\r
- CMenu popupMenu;\r
+ CIconMenu popupMenu;\r
popupMenu.CreatePopupMenu();\r
\r
+ bool bAddSeparator = false;\r
if(selectedLeafs.size()==1)\r
{\r
+ bAddSeparator = true;\r
+\r
bool bShowReflogOption = false;\r
- popupMenu.AppendMenu(MF_STRING,eCmd_ViewLog,L"View log");\r
+ bool bShowDeleteBranchOption = false;\r
+ bool bShowDeleteTagOption = false;\r
+\r
if(selectedLeafs[0]->IsFrom(L"refs/heads"))\r
{\r
- popupMenu.AppendMenu(MF_STRING,eCmd_DeleteBranch,L"Delete Branch");\r
bShowReflogOption = true;\r
+ bShowDeleteBranchOption = true;\r
}\r
else if(selectedLeafs[0]->IsFrom(L"refs/remotes"))\r
{\r
}\r
else if(selectedLeafs[0]->IsFrom(L"refs/tags"))\r
{\r
- popupMenu.AppendMenu(MF_STRING,eCmd_DeleteTag,L"Delete Tag");\r
+ bShowDeleteTagOption = true;\r
}\r
\r
- if(bShowReflogOption)\r
- popupMenu.AppendMenu(MF_STRING, eCmd_ShowReflog, L"Show Reflog");\r
-\r
+ popupMenu.AppendMenuIcon(eCmd_ViewLog, L"Show Log", IDI_LOG);\r
+ if(bShowReflogOption) popupMenu.AppendMenuIcon(eCmd_ShowReflog, L"Show Reflog", IDI_LOG);\r
+ if(bShowDeleteTagOption) popupMenu.AppendMenuIcon(eCmd_DeleteTag, L"Delete Tag", IDI_DELETE);\r
+ if(bShowDeleteBranchOption) popupMenu.AppendMenuIcon(eCmd_DeleteBranch, L"Delete Branch", IDI_DELETE);\r
\r
\r
\r
// return;\r
}\r
\r
+ if(bAddSeparator) popupMenu.AppendMenu(MF_SEPARATOR);\r
+\r
if(hTreePos!=NULL)\r
{\r
CShadowTree* pTree=(CShadowTree*)m_RefTreeCtrl.GetItemData(hTreePos);\r
if(pTree->IsFrom(L"refs/remotes"))\r
{\r
// popupMenu.AppendMenu(MF_STRING,eCmd_AddRemote,L"Add Remote");\r
- if(!m_cmdPath.IsEmpty())\r
- popupMenu.AppendMenu(MF_STRING,eCmd_ManageRemotes,L"Manage Remotes");\r
+ popupMenu.AppendMenuIcon(eCmd_ManageRemotes, L"Manage Remotes", IDI_SETTINGS);\r
}\r
else if(pTree->IsFrom(L"refs/heads"))\r
- popupMenu.AppendMenu(MF_STRING,eCmd_CreateBranch,L"Create Branch");\r
+ popupMenu.AppendMenuIcon(eCmd_CreateBranch, L"Create Branch", IDI_COPY);\r
else if(pTree->IsFrom(L"refs/tags"))\r
- popupMenu.AppendMenu(MF_STRING,eCmd_CreateTag,L"Create Tag");\r
+ popupMenu.AppendMenuIcon(eCmd_CreateTag, L"Create Tag", IDI_TAG);\r
}\r
\r
\r
break;\r
case eCmd_ManageRemotes:\r
{\r
- CSinglePropSheetDlg(L"Git Remote Settings",new CSettingGitRemote(m_cmdPath),this).DoModal();\r
+ CSinglePropSheetDlg(L"Git Remote Settings",new CSettingGitRemote(g_Git.m_CurrentDir),this).DoModal();\r
// CSettingGitRemote W_Remotes(m_cmdPath);\r
// W_Remotes.DoModal();\r
Refresh();\r