--- /dev/null
+// AddRemoteDlg.cpp : implementation file\r
+//\r
+\r
+#include "stdafx.h"\r
+#include "TortoiseProc.h"\r
+#include "AddRemoteDlg.h"\r
+\r
+\r
+// CAddRemoteDlg dialog\r
+\r
+IMPLEMENT_DYNAMIC(CAddRemoteDlg, CDialog)\r
+\r
+CAddRemoteDlg::CAddRemoteDlg(CWnd* pParent /*=NULL*/)\r
+ : CDialog(CAddRemoteDlg::IDD, pParent)\r
+ , m_Name(_T(""))\r
+ , m_Url(_T(""))\r
+{\r
+\r
+}\r
+\r
+CAddRemoteDlg::~CAddRemoteDlg()\r
+{\r
+}\r
+\r
+void CAddRemoteDlg::DoDataExchange(CDataExchange* pDX)\r
+{\r
+ CDialog::DoDataExchange(pDX);\r
+ DDX_Text(pDX, IDC_EDIT_NAME, m_Name);\r
+ DDX_Text(pDX, IDC_EDIT_URL, m_Url);\r
+}\r
+\r
+\r
+BEGIN_MESSAGE_MAP(CAddRemoteDlg, CDialog)\r
+ ON_BN_CLICKED(IDOK, &CAddRemoteDlg::OnBnClickedOk)\r
+END_MESSAGE_MAP()\r
+\r
+\r
+// CAddRemoteDlg message handlers\r
+\r
+void CAddRemoteDlg::OnBnClickedOk()\r
+{\r
+ UpdateData();\r
+\r
+\r
+\r
+ OnOK();\r
+}\r
--- /dev/null
+#pragma once\r
+\r
+\r
+// CAddRemoteDlg dialog\r
+\r
+class CAddRemoteDlg : public CDialog\r
+{\r
+ DECLARE_DYNAMIC(CAddRemoteDlg)\r
+\r
+public:\r
+ CAddRemoteDlg(CWnd* pParent = NULL); // standard constructor\r
+ virtual ~CAddRemoteDlg();\r
+\r
+// Dialog Data\r
+ enum { IDD = IDD_ADD_REMOTE };\r
+\r
+protected:\r
+ virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support\r
+\r
+ DECLARE_MESSAGE_MAP()\r
+public:\r
+ CString m_Name;\r
+ CString m_Url;\r
+ afx_msg void OnBnClickedOk();\r
+};\r
#include "TortoiseProc.h"\r
#include "BrowseRefsDlg.h"\r
#include "LogDlg.h"\r
+#include "AddRemoteDlg.h"\r
\r
\r
// CBrowseRefsDlg dialog\r
BEGIN_MESSAGE_MAP(CBrowseRefsDlg, CResizableStandAloneDialog)\r
ON_BN_CLICKED(IDOK, &CBrowseRefsDlg::OnBnClickedOk)\r
ON_NOTIFY(TVN_SELCHANGED, IDC_TREE_REF, &CBrowseRefsDlg::OnTvnSelchangedTreeRef)\r
- ON_NOTIFY(NM_RCLICK, IDC_LIST_REF_LEAFS, &CBrowseRefsDlg::OnNMRClickListRefLeafs)\r
+ ON_WM_CONTEXTMENU()\r
END_MESSAGE_MAP()\r
\r
\r
return NULL;\r
\r
CShadowTree& nextNode=m_ShadowTree[nameSub];\r
- nextNode.m_csName=nameSub;\r
+ nextNode.m_csRefName=nameSub;\r
nextNode.m_pParent=this;\r
return &nextNode;\r
}\r
\r
m_RefTreeCtrl.DeleteAllItems();\r
m_TreeRoot.m_ShadowTree.clear();\r
- m_TreeRoot.m_csName="Refs";\r
+ m_TreeRoot.m_csRefName="refs";\r
+// m_TreeRoot.m_csShowName="Refs";\r
m_TreeRoot.m_hTree=m_RefTreeCtrl.InsertItem(L"Refs",NULL,NULL);\r
m_RefTreeCtrl.SetItemData(m_TreeRoot.m_hTree,(DWORD_PTR)&m_TreeRoot);\r
\r
CString values=iterRefMap->second;\r
\r
int valuePos=0;\r
- treeLeaf.m_csRef= values.Tokenize(L"\04",valuePos);\r
+ treeLeaf.m_csRefHash= values.Tokenize(L"\04",valuePos);\r
treeLeaf.m_csDate= values.Tokenize(L"\04",valuePos);\r
treeLeaf.m_csSubject= values.Tokenize(L"\04",valuePos);\r
treeLeaf.m_csAuthor= values.Tokenize(L"\04",valuePos);\r
if(pNextTree->m_hTree==NULL)\r
{\r
//New tree. Create node in control.\r
- pNextTree->m_hTree=m_RefTreeCtrl.InsertItem(pNextTree->m_csName,pTreePos->m_hTree,NULL);\r
+ pNextTree->m_hTree=m_RefTreeCtrl.InsertItem(pNextTree->m_csRefName,pTreePos->m_hTree,NULL);\r
m_RefTreeCtrl.SetItemData(pNextTree->m_hTree,(DWORD_PTR)pNextTree);\r
}\r
}\r
int indexItem=m_ListRefLeafs.InsertItem(m_ListRefLeafs.GetItemCount(),L"");\r
\r
m_ListRefLeafs.SetItemData(indexItem,(DWORD_PTR)pTree);\r
- m_ListRefLeafs.SetItemText(indexItem,0,refNamePrefix+pTree->m_csName);\r
+ m_ListRefLeafs.SetItemText(indexItem,0,refNamePrefix+pTree->m_csRefName);\r
m_ListRefLeafs.SetItemText(indexItem,1,pTree->m_csDate);\r
m_ListRefLeafs.SetItemText(indexItem,2,pTree->m_csSubject);\r
- m_ListRefLeafs.SetItemText(indexItem,3,pTree->m_csRef);\r
+ m_ListRefLeafs.SetItemText(indexItem,3,pTree->m_csRefHash);\r
}\r
else\r
{\r
\r
CString csThisName;\r
if(!isFirstLevel)\r
- csThisName=refNamePrefix+pTree->m_csName+L"/";\r
+ csThisName=refNamePrefix+pTree->m_csRefName+L"/";\r
for(CShadowTree::TShadowTreeMap::iterator itSubTree=pTree->m_ShadowTree.begin(); itSubTree!=pTree->m_ShadowTree.end(); ++itSubTree)\r
{\r
FillListCtrlForShadowTree(&itSubTree->second,csThisName,false);\r
}\r
}\r
\r
-void CBrowseRefsDlg::OnNMRClickListRefLeafs(NMHDR *pNMHDR, LRESULT *pResult)\r
+void CBrowseRefsDlg::OnContextMenu_ListRefLeafs(CPoint point)\r
{\r
-// LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);\r
- *pResult = 0;\r
+\r
+ CPoint clientPoint=point;\r
+ m_RefTreeCtrl.ScreenToClient(&clientPoint);\r
\r
int selectedItemCount=m_ListRefLeafs.GetSelectedCount();\r
\r
}\r
\r
\r
- const MSG* pCurrMsg=GetCurrentMessage();\r
- eCmd cmd=(eCmd)popupMenu.TrackPopupMenuEx(TPM_LEFTALIGN|TPM_RETURNCMD, pCurrMsg->pt.x, pCurrMsg->pt.y, this, 0);\r
+ eCmd cmd=(eCmd)popupMenu.TrackPopupMenuEx(TPM_LEFTALIGN|TPM_RETURNCMD, point.x, point.y, this, 0);\r
switch(cmd)\r
{\r
case eCmd_ViewLog:\r
{\r
CLogDlg dlg;\r
- dlg.SetStartRef(selectedTrees[0]->m_csRef);\r
+ dlg.SetStartRef(selectedTrees[0]->m_csRefHash);\r
dlg.DoModal();\r
}\r
break;\r
}\r
}\r
+\r
+void CBrowseRefsDlg::OnContextMenu(CWnd* pWndFrom, CPoint point)\r
+{\r
+ if(pWndFrom==&m_RefTreeCtrl) OnContextMenu_RefTreeCtrl(point);\r
+ else if(pWndFrom==&m_ListRefLeafs) OnContextMenu_ListRefLeafs(point);\r
+}\r
+\r
+void CBrowseRefsDlg::OnContextMenu_RefTreeCtrl(CPoint point)\r
+{\r
+ CMenu popupMenu;\r
+ popupMenu.CreatePopupMenu();\r
+\r
+ CPoint clientPoint=point;\r
+ m_RefTreeCtrl.ScreenToClient(&clientPoint);\r
+\r
+ HTREEITEM hTreeItem=m_RefTreeCtrl.HitTest(clientPoint);\r
+ if(hTreeItem!=NULL)\r
+ {\r
+ m_RefTreeCtrl.Select(hTreeItem,TVGN_CARET);\r
+ CShadowTree* pTree=(CShadowTree*)m_RefTreeCtrl.GetItemData(hTreeItem);\r
+ if(wcsncmp(pTree->GetRefName(),L"refs/remotes",12)==0)\r
+ popupMenu.AppendMenu(MF_STRING,eCmd_AddRemote,L"Add Remote");\r
+ }\r
+\r
+ eCmd cmd=(eCmd)popupMenu.TrackPopupMenuEx(TPM_LEFTALIGN|TPM_RETURNCMD, point.x, point.y, this, 0);\r
+ switch(cmd)\r
+ {\r
+ case eCmd_AddRemote:\r
+ {\r
+ CAddRemoteDlg(this).DoModal();\r
+ Refresh();\r
+ }\r
+ break;\r
+ }\r
+}\r
public:\r
typedef std::map<CString,CShadowTree> TShadowTreeMap;\r
\r
- CShadowTree():m_hTree(NULL){}\r
+ CShadowTree():m_hTree(NULL),m_pParent(NULL){}\r
\r
CShadowTree* GetNextSub(CString& nameLeft);\r
\r
bool IsLeaf()const {return m_ShadowTree.empty();}\r
+ CString GetRefName()const\r
+ {\r
+ if(m_pParent==NULL)\r
+ return m_csRefName;\r
+ return m_pParent->GetRefName()+"/"+m_csRefName;\r
+ }\r
\r
-\r
- CString m_csName;\r
- CString m_csRef;\r
+ CString m_csRefName;\r
+ CString m_csRefHash;\r
CString m_csDate;\r
CString m_csAuthor;\r
CString m_csSubject;\r
\r
enum eCmd\r
{\r
- eCmd_ViewLog = WM_APP\r
+ eCmd_ViewLog = WM_APP,\r
+ eCmd_AddRemote\r
};\r
\r
// Dialog Data\r
bool SelectRef(CString refName);\r
\r
private:\r
-// MAP_HASH_NAME m_RefMap;\r
\r
CShadowTree m_TreeRoot;\r
CTreeCtrl m_RefTreeCtrl;\r
CListCtrl m_ListRefLeafs;\r
afx_msg void OnTvnSelchangedTreeRef(NMHDR *pNMHDR, LRESULT *pResult);\r
public:\r
- afx_msg void OnNMRClickListRefLeafs(NMHDR *pNMHDR, LRESULT *pResult);\r
+\r
+ afx_msg void OnContextMenu(CWnd* pWndFrom, CPoint point);\r
+\r
+ void OnContextMenu_ListRefLeafs(CPoint point);\r
+ void OnContextMenu_RefTreeCtrl(CPoint point);\r
};\r
<?xml version="1.0" encoding="Windows-1252"?>\r
<VisualStudioProject\r
ProjectType="Visual C++"\r
- Version="9.00"\r
+ Version="9,00"\r
Name="TortoiseProc"\r
ProjectGUID="{50797F06-39C5-4802-8E2B-7B7A4EF03214}"\r
RootNamespace="TortoiseProc"\r
/>\r
</Configuration>\r
<Configuration\r
- Name="Debug|x64"\r
- OutputDirectory="..\..\bin\Debug64\bin"\r
- IntermediateDirectory="..\..\obj\TortoiseProc\Debug64"\r
+ Name="Release|Win32"\r
+ OutputDirectory="..\..\bin\$(ConfigurationName)\bin"\r
+ IntermediateDirectory="..\..\obj\TortoiseProc\$(ConfigurationName)"\r
ConfigurationType="1"\r
UseOfMFC="2"\r
- UseOfATL="0"\r
CharacterSet="1"\r
+ WholeProgramOptimization="1"\r
>\r
<Tool\r
Name="VCPreBuildEventTool"\r
/>\r
<Tool\r
Name="VCMIDLTool"\r
- PreprocessorDefinitions="_DEBUG"\r
+ PreprocessorDefinitions="NDEBUG"\r
MkTypLibCompatible="false"\r
- TargetEnvironment="3"\r
/>\r
<Tool\r
Name="VCCLCompilerTool"\r
- Optimization="0"\r
AdditionalIncludeDirectories="..\TortoiseProc;..\Resources;"$InputDir";../../ext/ResizableLib;../Git;"../../ext/apr-util/include";"../../ext/apr-util/xml/expat/lib";../../ext/Subversion/subversion/include;../../ext/Subversion/subversion/libsvn_client;../../ext/apr/include;../../ext/boost;..\Utils;..\SVN;..\..\ext\ResizableLib;..\crashrpt;"..\..\ext\libintl\libintl3-win32\inc";..\..\ext\hunspell;..\..\ext\scintilla\include;..\Utils\TreePropSheet;..\Utils\ColourPickerXP;..\Utils\NewMenu;..\Utils\MiscUI;..\LogCache;"../../ext/cyrus-sasl/include";../../../common/openssl/inc32;.\RevisionGraph;..\TortoiseShell"\r
- PreprocessorDefinitions="WIN64;_WINDOWS;_DEBUG;SVN_DEBUG;ENABLE_NLS;THESAURUS"\r
- MinimalRebuild="true"\r
+ PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;THESAURUS"\r
+ StringPooling="true"\r
+ MinimalRebuild="false"\r
ExceptionHandling="2"\r
- RuntimeLibrary="3"\r
+ RuntimeLibrary="2"\r
+ BufferSecurityCheck="false"\r
TreatWChar_tAsBuiltInType="true"\r
ForceConformanceInForLoopScope="true"\r
RuntimeTypeInfo="true"\r
UsePrecompiledHeader="2"\r
WarningLevel="4"\r
DebugInformationFormat="3"\r
+ DisableSpecificWarnings="4996,4018"\r
/>\r
<Tool\r
Name="VCManagedResourceCompilerTool"\r
/>\r
<Tool\r
Name="VCResourceCompilerTool"\r
- PreprocessorDefinitions="_DEBUG"\r
+ PreprocessorDefinitions="NDEBUG"\r
Culture="1033"\r
AdditionalIncludeDirectories=""$(IntDir)";..\TortoiseShell"\r
/>\r
<Tool\r
Name="VCLinkerTool"\r
AdditionalDependencies="Crypt32.lib gdiplus.lib shfolder.lib shell32.lib comctl32.lib ws2_32.lib rpcrt4.lib shlwapi.lib wininet.lib version.lib Dnsapi.lib"\r
- LinkIncremental="2"\r
+ LinkIncremental="1"\r
+ AdditionalLibraryDirectories="../../ext/wingit"\r
IgnoreDefaultLibraryNames=""\r
DelayLoadDLLs="gdiplus.dll"\r
GenerateDebugInformation="true"\r
SubSystem="2"\r
+ OptimizeReferences="2"\r
+ EnableCOMDATFolding="2"\r
+ OptimizeForWindows98="0"\r
RandomizedBaseAddress="1"\r
DataExecutionPrevention="0"\r
- TargetMachine="17"\r
+ TargetMachine="1"\r
+ Profile="true"\r
/>\r
<Tool\r
Name="VCALinkTool"\r
/>\r
</Configuration>\r
<Configuration\r
- Name="Release|Win32"\r
- OutputDirectory="..\..\bin\$(ConfigurationName)\bin"\r
- IntermediateDirectory="..\..\obj\TortoiseProc\$(ConfigurationName)"\r
+ Name="Debug|x64"\r
+ OutputDirectory="..\..\bin\Debug64\bin"\r
+ IntermediateDirectory="..\..\obj\TortoiseProc\Debug64"\r
ConfigurationType="1"\r
UseOfMFC="2"\r
+ UseOfATL="0"\r
CharacterSet="1"\r
- WholeProgramOptimization="1"\r
>\r
<Tool\r
Name="VCPreBuildEventTool"\r
/>\r
<Tool\r
Name="VCMIDLTool"\r
- PreprocessorDefinitions="NDEBUG"\r
+ PreprocessorDefinitions="_DEBUG"\r
MkTypLibCompatible="false"\r
+ TargetEnvironment="3"\r
/>\r
<Tool\r
Name="VCCLCompilerTool"\r
+ Optimization="0"\r
AdditionalIncludeDirectories="..\TortoiseProc;..\Resources;"$InputDir";../../ext/ResizableLib;../Git;"../../ext/apr-util/include";"../../ext/apr-util/xml/expat/lib";../../ext/Subversion/subversion/include;../../ext/Subversion/subversion/libsvn_client;../../ext/apr/include;../../ext/boost;..\Utils;..\SVN;..\..\ext\ResizableLib;..\crashrpt;"..\..\ext\libintl\libintl3-win32\inc";..\..\ext\hunspell;..\..\ext\scintilla\include;..\Utils\TreePropSheet;..\Utils\ColourPickerXP;..\Utils\NewMenu;..\Utils\MiscUI;..\LogCache;"../../ext/cyrus-sasl/include";../../../common/openssl/inc32;.\RevisionGraph;..\TortoiseShell"\r
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;THESAURUS"\r
- StringPooling="true"\r
- MinimalRebuild="false"\r
+ PreprocessorDefinitions="WIN64;_WINDOWS;_DEBUG;SVN_DEBUG;ENABLE_NLS;THESAURUS"\r
+ MinimalRebuild="true"\r
ExceptionHandling="2"\r
- RuntimeLibrary="2"\r
- BufferSecurityCheck="false"\r
+ RuntimeLibrary="3"\r
TreatWChar_tAsBuiltInType="true"\r
ForceConformanceInForLoopScope="true"\r
RuntimeTypeInfo="true"\r
UsePrecompiledHeader="2"\r
WarningLevel="4"\r
DebugInformationFormat="3"\r
- DisableSpecificWarnings="4996,4018"\r
/>\r
<Tool\r
Name="VCManagedResourceCompilerTool"\r
/>\r
<Tool\r
Name="VCResourceCompilerTool"\r
- PreprocessorDefinitions="NDEBUG"\r
+ PreprocessorDefinitions="_DEBUG"\r
Culture="1033"\r
AdditionalIncludeDirectories=""$(IntDir)";..\TortoiseShell"\r
/>\r
<Tool\r
Name="VCLinkerTool"\r
AdditionalDependencies="Crypt32.lib gdiplus.lib shfolder.lib shell32.lib comctl32.lib ws2_32.lib rpcrt4.lib shlwapi.lib wininet.lib version.lib Dnsapi.lib"\r
- LinkIncremental="1"\r
- AdditionalLibraryDirectories="../../ext/wingit"\r
+ LinkIncremental="2"\r
IgnoreDefaultLibraryNames=""\r
DelayLoadDLLs="gdiplus.dll"\r
GenerateDebugInformation="true"\r
SubSystem="2"\r
- OptimizeReferences="2"\r
- EnableCOMDATFolding="2"\r
- OptimizeForWindows98="0"\r
RandomizedBaseAddress="1"\r
DataExecutionPrevention="0"\r
- TargetMachine="1"\r
- Profile="true"\r
+ TargetMachine="17"\r
/>\r
<Tool\r
Name="VCALinkTool"\r
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;h;hpp;hxx;hm;inl;inc"\r
>\r
<File\r
+ RelativePath=".\AddRemoteDlg.cpp"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath=".\AddRemoteDlg.h"\r
+ >\r
+ </File>\r
+ <File\r
RelativePath=".\BrowseRefsDlg.cpp"\r
>\r
</File>\r
>\r
</File>\r
<File\r
- RelativePath=".\copy.ico"\r
+ RelativePath="..\Resources\copy.ico"\r
>\r
</File>\r
<File\r
- RelativePath="..\Resources\copy.ico"\r
+ RelativePath=".\copy.ico"\r
>\r
</File>\r
<File\r
>\r
</File>\r
<File\r
- RelativePath="..\Resources\explorer.ico"\r
+ RelativePath=".\explorer.ico"\r
>\r
</File>\r
<File\r
- RelativePath=".\explorer.ico"\r
+ RelativePath="..\Resources\explorer.ico"\r
>\r
</File>\r
<File\r
>\r
</File>\r
<File\r
- RelativePath=".\newfolder.ico"\r
+ RelativePath="..\Resources\newfolder.ico"\r
>\r
</File>\r
<File\r
- RelativePath="..\Resources\newfolder.ico"\r
+ RelativePath=".\newfolder.ico"\r
>\r
</File>\r
<File\r
>\r
</File>\r
<File\r
- RelativePath=".\refresh.ico"\r
+ RelativePath="..\Resources\refresh.ico"\r
>\r
</File>\r
<File\r
- RelativePath="..\Resources\refresh.ico"\r
+ RelativePath=".\refresh.ico"\r
>\r
</File>\r
<File\r
>\r
</File>\r
<File\r
- RelativePath="..\Resources\save.ico"\r
+ RelativePath=".\save.ico"\r
>\r
</File>\r
<File\r
- RelativePath=".\save.ico"\r
+ RelativePath="..\Resources\save.ico"\r
>\r
</File>\r
<File\r
>\r
</File>\r
<File\r
- RelativePath=".\up.ico"\r
+ RelativePath="..\Resources\up.ico"\r
>\r
</File>\r
<File\r
- RelativePath="..\Resources\up.ico"\r
+ RelativePath=".\up.ico"\r
>\r
</File>\r
<File\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|x64"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|x64"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r