OSDN Git Service

Use update GUID
authorFrank Li <lznuaa@gmail.com>
Thu, 6 Nov 2008 14:45:57 +0000 (22:45 +0800)
committerFrank Li <lznuaa@gmail.com>
Thu, 6 Nov 2008 14:45:57 +0000 (22:45 +0800)
TortoiseShell/Guids.h
TortoiseShell/RemoteCacheLink.h
TortoiseShell/SVNPropertyPage.cpp
TortoiseShell/SVNPropertyPage.h
TortoiseShell/ShellExt.cpp
TortoiseShell/TortoiseSVN.cpp
TortoiseShell/TortoiseShell.vcproj
Utils/ShellUpdater.h

index 0143e94..2fb0b8d 100644 (file)
 //          you MUST change the GUID below.  Simply run UUIDGEN.EXE\r
 //          to generate a new GUID.\r
 //\r
-\r
-DEFINE_GUID(CLSID_Tortoisegit_UPTODATE,0x30351346, 0x7b7d, 0x4fcc, 0x81, 0xb4, 0x1e, 0x39, 0x4c, 0xa2, 0x67, 0xeb);\r
-DEFINE_GUID(CLSID_Tortoisegit_MODIFIED,0x30351347, 0x7b7d, 0x4fcc, 0x81, 0xb4, 0x1e, 0x39, 0x4c, 0xa2, 0x67, 0xeb);\r
-DEFINE_GUID(CLSID_Tortoisegit_CONFLICTING,0x30351348, 0x7b7d, 0x4fcc, 0x81, 0xb4, 0x1e, 0x39, 0x4c, 0xa2, 0x67, 0xeb);\r
-DEFINE_GUID(CLSID_Tortoisegit_UNCONTROLLED,0x30351349, 0x7b7d, 0x4fcc, 0x81, 0xb4, 0x1e, 0x39, 0x4c, 0xa2, 0x67, 0xeb);\r
-DEFINE_GUID(CLSID_Tortoisegit_DROPHANDLER,0x3035134a, 0x7b7d, 0x4fcc, 0x81, 0xb4, 0x1e, 0x39, 0x4c, 0xa2, 0x67, 0xeb);\r
-DEFINE_GUID(CLSID_Tortoisegit_READONLY,0x3035134b, 0x7b7d, 0x4fcc, 0x81, 0xb4, 0x1e, 0x39, 0x4c, 0xa2, 0x67, 0xeb);\r
-DEFINE_GUID(CLSID_Tortoisegit_DELETED,0x3035134c, 0x7b7d, 0x4fcc, 0x81, 0xb4, 0x1e, 0x39, 0x4c, 0xa2, 0x67, 0xeb);\r
-DEFINE_GUID(CLSID_Tortoisegit_LOCKED,0x3035134d, 0x7b7d, 0x4fcc, 0x81, 0xb4, 0x1e, 0x39, 0x4c, 0xa2, 0x67, 0xeb);\r
-DEFINE_GUID(CLSID_Tortoisegit_ADDED,0x3035134e, 0x7b7d, 0x4fcc, 0x81, 0xb4, 0x1e, 0x39, 0x4c, 0xa2, 0x67, 0xeb);\r
-DEFINE_GUID(CLSID_Tortoisegit_IGNORED,0x3035134f, 0x7b7d, 0x4fcc, 0x81, 0xb4, 0x1e, 0x39, 0x4c, 0xa2, 0x67, 0xeb);\r
-DEFINE_GUID(CLSID_Tortoisegit_UNVERSIONED,0x30351350, 0x7b7d, 0x4fcc, 0x81, 0xb4, 0x1e, 0x39, 0x4c, 0xa2, 0x67, 0xeb);\r
-\r
+// {D5D59708-3617-47ce-B33D-EE90AA32E695}\r
+DEFINE_GUID(CLSID_Tortoisegit_UPTODATE, \r
+0xd5d59708, 0x3617, 0x47ce, 0xb3, 0x3d, 0xee, 0x90, 0xaa, 0x32, 0xe6, 0x95);\r
+// {C933681D-183F-4f4e-B89E-8A55961B30A3}\r
+DEFINE_GUID(CLSID_Tortoisegit_MODIFIED, \r
+0xc933681d, 0x183f, 0x4f4e, 0xb8, 0x9e, 0x8a, 0x55, 0x96, 0x1b, 0x30, 0xa3);\r
+// {345016EA-536E-470c-AE7B-E71C4772D307}\r
+DEFINE_GUID(CLSID_Tortoisegit_CONFLICTING, \r
+0x345016ea, 0x536e, 0x470c, 0xae, 0x7b, 0xe7, 0x1c, 0x47, 0x72, 0xd3, 0x7);\r
+// {EB6EFAC1-D893-4b2b-8344-8A759787F307}\r
+DEFINE_GUID(CLSID_Tortoisegit_UNCONTROLLED, \r
+0xeb6efac1, 0xd893, 0x4b2b, 0x83, 0x44, 0x8a, 0x75, 0x97, 0x87, 0xf3, 0x7);\r
+// {87678FDD-B442-4ca6-A97B-9DD24EA61C04}\r
+DEFINE_GUID(CLSID_Tortoisegit_DROPHANDLER, \r
+0x87678fdd, 0xb442, 0x4ca6, 0xa9, 0x7b, 0x9d, 0xd2, 0x4e, 0xa6, 0x1c, 0x4);\r
+// {FBE9C21C-72A4-40fa-953A-B291BE9EF5E6}\r
+DEFINE_GUID(CLSID_Tortoisegit_READONLY, \r
+0xfbe9c21c, 0x72a4, 0x40fa, 0x95, 0x3a, 0xb2, 0x91, 0xbe, 0x9e, 0xf5, 0xe6);\r
+// {5B3A0C83-9450-48be-8657-D18DC9741396}\r
+DEFINE_GUID(CLSID_Tortoisegit_DELETED, \r
+0x5b3a0c83, 0x9450, 0x48be, 0x86, 0x57, 0xd1, 0x8d, 0xc9, 0x74, 0x13, 0x96);\r
+// {BE7EBA87-DD97-48ea-A0EB-5DC949A310AE}\r
+DEFINE_GUID(CLSID_Tortoisegit_LOCKED, \r
+0xbe7eba87, 0xdd97, 0x48ea, 0xa0, 0xeb, 0x5d, 0xc9, 0x49, 0xa3, 0x10, 0xae);\r
+// {8F9EF5A9-93AD-4ba0-A139-116222ADDCC6}\r
+DEFINE_GUID(CLSID_Tortoisegit_ADDED, \r
+0x8f9ef5a9, 0x93ad, 0x4ba0, 0xa1, 0x39, 0x11, 0x62, 0x22, 0xad, 0xdc, 0xc6);\r
+// {179B603B-90F8-42ff-A5EB-FE364E3C23E5}\r
+DEFINE_GUID(CLSID_Tortoisegit_IGNORED, \r
+0x179b603b, 0x90f8, 0x42ff, 0xa5, 0xeb, 0xfe, 0x36, 0x4e, 0x3c, 0x23, 0xe5);\r
+// {EC9929CD-B045-4bd9-8E3D-6F7E805CD68A}\r
+DEFINE_GUID(CLSID_Tortoisegit_UNVERSIONED, \r
+0xec9929cd, 0xb045, 0x4bd9, 0x8e, 0x3d, 0x6f, 0x7e, 0x80, 0x5c, 0xd6, 0x8a);\r
 \r
index f8111e0..4677b5f 100644 (file)
@@ -28,8 +28,8 @@ class CTSVNPath;
 class CRemoteCacheLink\r
 {\r
 public:\r
-       CRemoteCacheLink(void);\r
-       ~CRemoteCacheLink(void);\r
+       CRemoteCacheLink(void){};\r
+       ~CRemoteCacheLink(void){};\r
 \r
 public:\r
        bool GetStatusFromRemoteCache(const CTSVNPath& Path, TSVNCacheResponse* pReturnedStatus, bool bRecursive);\r
index b29e9c0..cc87844 100644 (file)
@@ -1,6 +1,6 @@
-// TortoiseSVN - a Windows shell extension for easy version control\r
+// TortoiseGit - a Windows shell extension for easy version control\r
 \r
-// Copyright (C) 2003-2008 - TortoiseSVN\r
+// Copyright (C) 2003-2008 - TortoiseGit\r
 \r
 // This program is free software; you can redistribute it and/or\r
 // modify it under the terms of the GNU General Public License\r
@@ -22,7 +22,7 @@
 #include "svnpropertypage.h"\r
 #include "UnicodeUtils.h"\r
 #include "PathUtils.h"\r
-#include "SVNStatus.h"\r
+#include "GitStatus.h"\r
 \r
 #define MAX_STRING_LENGTH              4096                    //should be big enough\r
 \r
 BOOL CALLBACK PageProc (HWND, UINT, WPARAM, LPARAM);\r
 UINT CALLBACK PropPageCallbackProc ( HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp );\r
 \r
-// CShellExt member functions (needed for IShellPropSheetExt)\r
-STDMETHODIMP CShellExt::AddPages (LPFNADDPROPSHEETPAGE lpfnAddPage,\r
-                                  LPARAM lParam)\r
-{\r
-       for (std::vector<stdstring>::iterator I = files_.begin(); I != files_.end(); ++I)\r
-       {\r
-               SVNStatus svn = SVNStatus();\r
-               if (svn.GetStatus(CTSVNPath(I->c_str())) == (-2))\r
-                       return NOERROR;                 // file/directory not under version control\r
-\r
-               if (svn.status->entry == NULL)\r
-                       return NOERROR;\r
-       }\r
-\r
-       if (files_.size() == 0)\r
-               return NOERROR;\r
-\r
-       LoadLangDll();\r
-    PROPSHEETPAGE psp;\r
-       SecureZeroMemory(&psp, sizeof(PROPSHEETPAGE));\r
-       HPROPSHEETPAGE hPage;\r
-       CSVNPropertyPage *sheetpage = new CSVNPropertyPage(files_);\r
-\r
-    psp.dwSize = sizeof (psp);\r
-    psp.dwFlags = PSP_USEREFPARENT | PSP_USETITLE | PSP_USEICONID | PSP_USECALLBACK;   \r
-       psp.hInstance = g_hResInst;\r
-       psp.pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE);\r
-    psp.pszIcon = MAKEINTRESOURCE(IDI_APPSMALL);\r
-    psp.pszTitle = _T("Subversion");\r
-    psp.pfnDlgProc = (DLGPROC) PageProc;\r
-    psp.lParam = (LPARAM) sheetpage;\r
-    psp.pfnCallback = PropPageCallbackProc;\r
-    psp.pcRefParent = &g_cRefThisDll;\r
-\r
-    hPage = CreatePropertySheetPage (&psp);\r
-\r
-       if (hPage != NULL)\r
-       {\r
-        if (!lpfnAddPage (hPage, lParam))\r
-        {\r
-            delete sheetpage;\r
-            DestroyPropertySheetPage (hPage);\r
-        }\r
-       }\r
-\r
-    return NOERROR;\r
-}\r
-\r
-\r
-\r
-STDMETHODIMP CShellExt::ReplacePage (UINT /*uPageID*/, LPFNADDPROPSHEETPAGE /*lpfnReplaceWith*/, LPARAM /*lParam*/)\r
-{\r
-    return E_FAIL;\r
-}\r
-\r
 /////////////////////////////////////////////////////////////////////////////\r
 // Dialog procedures and other callback functions\r
 \r
 BOOL CALLBACK PageProc (HWND hwnd, UINT uMessage, WPARAM wParam, LPARAM lParam)\r
 {\r
-    CSVNPropertyPage * sheetpage;\r
+    CGitPropertyPage * sheetpage;\r
 \r
     if (uMessage == WM_INITDIALOG)\r
     {\r
-        sheetpage = (CSVNPropertyPage*) ((LPPROPSHEETPAGE) lParam)->lParam;\r
+        sheetpage = (CGitPropertyPage*) ((LPPROPSHEETPAGE) lParam)->lParam;\r
         SetWindowLongPtr (hwnd, GWLP_USERDATA, (LONG_PTR) sheetpage);\r
         sheetpage->SetHwnd(hwnd);\r
     }\r
     else\r
     {\r
-        sheetpage = (CSVNPropertyPage*) GetWindowLongPtr (hwnd, GWLP_USERDATA);\r
+        sheetpage = (CGitPropertyPage*) GetWindowLongPtr (hwnd, GWLP_USERDATA);\r
     }\r
 \r
     if (sheetpage != 0L)\r
@@ -114,30 +59,30 @@ UINT CALLBACK PropPageCallbackProc ( HWND /*hwnd*/, UINT uMsg, LPPROPSHEETPAGE p
     // Delete the page before closing.\r
     if (PSPCB_RELEASE == uMsg)\r
     {\r
-        CSVNPropertyPage* sheetpage = (CSVNPropertyPage*) ppsp->lParam;\r
+        CGitPropertyPage* sheetpage = (CGitPropertyPage*) ppsp->lParam;\r
         if (sheetpage != NULL)\r
             delete sheetpage;\r
     }\r
     return 1;\r
 }\r
 \r
-// *********************** CSVNPropertyPage *************************\r
+// *********************** CGitPropertyPage *************************\r
 \r
-CSVNPropertyPage::CSVNPropertyPage(const std::vector<stdstring> &newFilenames)\r
+CGitPropertyPage::CGitPropertyPage(const std::vector<stdstring> &newFilenames)\r
        :filenames(newFilenames)\r
 {\r
 }\r
 \r
-CSVNPropertyPage::~CSVNPropertyPage(void)\r
+CGitPropertyPage::~CGitPropertyPage(void)\r
 {\r
 }\r
 \r
-void CSVNPropertyPage::SetHwnd(HWND newHwnd)\r
+void CGitPropertyPage::SetHwnd(HWND newHwnd)\r
 {\r
     m_hwnd = newHwnd;\r
 }\r
 \r
-BOOL CSVNPropertyPage::PageProc (HWND /*hwnd*/, UINT uMessage, WPARAM wParam, LPARAM lParam)\r
+BOOL CGitPropertyPage::PageProc (HWND /*hwnd*/, UINT uMessage, WPARAM wParam, LPARAM lParam)\r
 {\r
        switch (uMessage)\r
        {\r
@@ -174,7 +119,7 @@ BOOL CSVNPropertyPage::PageProc (HWND /*hwnd*/, UINT uMessage, WPARAM wParam, LP
                                                memset(&startup, 0, sizeof(startup));\r
                                                startup.cb = sizeof(startup);\r
                                                memset(&process, 0, sizeof(process));\r
-                                               CRegStdString tortoiseProcPath(_T("Software\\TortoiseSVN\\ProcPath"), _T("TortoiseProc.exe"), false, HKEY_LOCAL_MACHINE);\r
+                                               CRegStdString tortoiseProcPath(_T("Software\\TortoiseGit\\ProcPath"), _T("TortoiseProc.exe"), false, HKEY_LOCAL_MACHINE);\r
                                                stdstring svnCmd = _T(" /command:");\r
                                                svnCmd += _T("log /path:\"");\r
                                                svnCmd += filenames.front().c_str();\r
@@ -219,7 +164,7 @@ BOOL CSVNPropertyPage::PageProc (HWND /*hwnd*/, UINT uMessage, WPARAM wParam, LP
                                                        memset(&startup, 0, sizeof(startup));\r
                                                        startup.cb = sizeof(startup);\r
                                                        memset(&process, 0, sizeof(process));\r
-                                                       CRegStdString tortoiseProcPath(_T("Software\\TortoiseSVN\\ProcPath"), _T("TortoiseProc.exe"), false, HKEY_LOCAL_MACHINE);\r
+                                                       CRegStdString tortoiseProcPath(_T("Software\\TortoiseGit\\ProcPath"), _T("TortoiseProc.exe"), false, HKEY_LOCAL_MACHINE);\r
                                                        stdstring svnCmd = _T(" /command:");\r
                                                        svnCmd += _T("properties /pathfile:\"");\r
                                                        svnCmd += retFilePath.c_str();\r
@@ -237,14 +182,14 @@ BOOL CSVNPropertyPage::PageProc (HWND /*hwnd*/, UINT uMessage, WPARAM wParam, LP
        } // switch (uMessage) \r
        return FALSE;\r
 }\r
-void CSVNPropertyPage::Time64ToTimeString(__time64_t time, TCHAR * buf, size_t buflen)\r
+void CGitPropertyPage::Time64ToTimeString(__time64_t time, TCHAR * buf, size_t buflen)\r
 {\r
        struct tm newtime;\r
        SYSTEMTIME systime;\r
        TCHAR timebuf[MAX_STRING_LENGTH];\r
        TCHAR datebuf[MAX_STRING_LENGTH];\r
 \r
-       LCID locale = (WORD)CRegStdWORD(_T("Software\\TortoiseSVN\\LanguageID"), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT));\r
+       LCID locale = (WORD)CRegStdWORD(_T("Software\\TortoiseGit\\LanguageID"), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT));\r
        locale = MAKELCID(locale, SORT_DEFAULT);\r
 \r
        *buf = '\0';\r
@@ -260,7 +205,7 @@ void CSVNPropertyPage::Time64ToTimeString(__time64_t time, TCHAR * buf, size_t b
                systime.wMonth = (WORD)newtime.tm_mon+1;\r
                systime.wSecond = (WORD)newtime.tm_sec;\r
                systime.wYear = (WORD)newtime.tm_year+1900;\r
-               if (CRegStdWORD(_T("Software\\TortoiseSVN\\LogDateFormat")) == 1)\r
+               if (CRegStdWORD(_T("Software\\TortoiseGit\\LogDateFormat")) == 1)\r
                        GetDateFormat(locale, DATE_SHORTDATE, &systime, NULL, datebuf, MAX_STRING_LENGTH);\r
                else\r
                        GetDateFormat(locale, DATE_LONGDATE, &systime, NULL, datebuf, MAX_STRING_LENGTH);\r
@@ -272,13 +217,13 @@ void CSVNPropertyPage::Time64ToTimeString(__time64_t time, TCHAR * buf, size_t b
        }\r
 }\r
 \r
-void CSVNPropertyPage::InitWorkfileView()\r
+void CGitPropertyPage::InitWorkfileView()\r
 {\r
-       SVNStatus svn = SVNStatus();\r
+       GitStatus svn = GitStatus();\r
        TCHAR tbuf[MAX_STRING_LENGTH];\r
        if (filenames.size() == 1)\r
        {\r
-               if (svn.GetStatus(CTSVNPath(filenames.front().c_str()))>(-2))\r
+               if (svn.GetStatus(CTGitPath(filenames.front().c_str()))>(-2))\r
                {\r
                        TCHAR buf[MAX_STRING_LENGTH];\r
                        __time64_t      time;\r
@@ -333,9 +278,9 @@ void CSVNPropertyPage::InitWorkfileView()
                                }\r
                                if (svn.status->entry->cmt_author)\r
                                        SetDlgItemText(m_hwnd, IDC_AUTHOR, UTF8ToWide(svn.status->entry->cmt_author).c_str());\r
-                               SVNStatus::GetStatusString(g_hResInst, svn.status->text_status, buf, sizeof(buf)/sizeof(TCHAR), (WORD)CRegStdWORD(_T("Software\\TortoiseSVN\\LanguageID"), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)));\r
+                               GitStatus::GetStatusString(g_hResInst, svn.status->text_status, buf, sizeof(buf)/sizeof(TCHAR), (WORD)CRegStdWORD(_T("Software\\TortoiseGit\\LanguageID"), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)));\r
                                SetDlgItemText(m_hwnd, IDC_TEXTSTATUS, buf);\r
-                               SVNStatus::GetStatusString(g_hResInst, svn.status->prop_status, buf, sizeof(buf)/sizeof(TCHAR), (WORD)CRegStdWORD(_T("Software\\TortoiseSVN\\LanguageID"), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)));\r
+                               GitStatus::GetStatusString(g_hResInst, svn.status->prop_status, buf, sizeof(buf)/sizeof(TCHAR), (WORD)CRegStdWORD(_T("Software\\TortoiseGit\\LanguageID"), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)));\r
                                SetDlgItemText(m_hwnd, IDC_PROPSTATUS, buf);\r
                                time = (__time64_t)svn.status->entry->text_time/1000000L;\r
                                Time64ToTimeString(time, buf, MAX_STRING_LENGTH);\r
@@ -354,7 +299,7 @@ void CSVNPropertyPage::InitWorkfileView()
                                        SetDlgItemText(m_hwnd, IDC_REPOUUID, UTF8ToWide(svn.status->entry->uuid).c_str());\r
                                if (svn.status->entry->changelist)\r
                                        SetDlgItemText(m_hwnd, IDC_CHANGELIST, UTF8ToWide(svn.status->entry->changelist).c_str());\r
-                               SVNStatus::GetDepthString(g_hResInst, svn.status->entry->depth, buf, sizeof(buf)/sizeof(TCHAR), (WORD)CRegStdWORD(_T("Software\\TortoiseSVN\\LanguageID"), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)));\r
+                               GitStatus::GetDepthString(g_hResInst, svn.status->entry->depth, buf, sizeof(buf)/sizeof(TCHAR), (WORD)CRegStdWORD(_T("Software\\TortoiseGit\\LanguageID"), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)));\r
                                SetDlgItemText(m_hwnd, IDC_DEPTHEDIT, buf);\r
 \r
                                if (svn.status->entry->checksum)\r
@@ -378,7 +323,7 @@ void CSVNPropertyPage::InitWorkfileView()
                                        MAKESTRING(IDS_NO);\r
                                SetDlgItemText(m_hwnd, IDC_SWITCHED, stringtablebuffer);\r
                        } // if (svn.status->entry != NULL)\r
-               } // if (svn.GetStatus(CTSVNPath(filenames.front().c_str()))>(-2))\r
+               } // if (svn.GetStatus(CTGitPath(filenames.front().c_str()))>(-2))\r
        } // if (filenames.size() == 1) \r
        else if (filenames.size() != 0)\r
        {\r
@@ -388,7 +333,7 @@ void CSVNPropertyPage::InitWorkfileView()
                        ::SendMessage(m_hwnd, WM_NEXTDLGCTL, 0, FALSE);\r
                ::EnableWindow(logwnd, FALSE);\r
                //get the handle of the list view\r
-               if (svn.GetStatus(CTSVNPath(filenames.front().c_str()))>(-2))\r
+               if (svn.GetStatus(CTGitPath(filenames.front().c_str()))>(-2))\r
                {\r
                        if (svn.status->entry != NULL)\r
                        {\r
index ef64017..57e101b 100644 (file)
@@ -1,4 +1,4 @@
-// TortoiseSVN - a Windows shell extension for easy version control\r
+// TortoiseGit - a Windows shell extension for easy version control\r
 \r
 // Copyright (C) 2003-2006 - Stefan Kueng\r
 \r
  * Displays and updates all controls on the property page. The property\r
  * page itself is shown by explorer.\r
  */\r
-class CSVNPropertyPage\r
+class CGitPropertyPage\r
 {\r
 public:\r
-       CSVNPropertyPage(const std::vector<stdstring> &filenames);\r
-       virtual ~CSVNPropertyPage();\r
+       CGitPropertyPage(const std::vector<stdstring> &filenames);\r
+       virtual ~CGitPropertyPage();\r
 \r
        /**\r
         * Sets the window handle.\r
index b3db310..bc81905 100644 (file)
@@ -290,3 +290,59 @@ UINT __stdcall CShellExt::CopyCallback(HWND /*hWnd*/, UINT wFunc, UINT /*wFlags*
        // will retry anyway, so we just leave here immediately.\r
        return IDYES;\r
 }\r
+// CShellExt member functions (needed for IShellPropSheetExt)\r
+STDMETHODIMP CShellExt::AddPages (LPFNADDPROPSHEETPAGE lpfnAddPage,\r
+                                  LPARAM lParam)\r
+{\r
+#if 0\r
+       for (std::vector<stdstring>::iterator I = files_.begin(); I != files_.end(); ++I)\r
+       {\r
+               GitStatus svn = GitStatus();\r
+               if (svn.GetStatus(CTGitPath(I->c_str())) == (-2))\r
+                       return NOERROR;                 // file/directory not under version control\r
+\r
+               if (svn.status->entry == NULL)\r
+                       return NOERROR;\r
+       }\r
+\r
+       if (files_.size() == 0)\r
+               return NOERROR;\r
+\r
+       LoadLangDll();\r
+    PROPSHEETPAGE psp;\r
+       SecureZeroMemory(&psp, sizeof(PROPSHEETPAGE));\r
+       HPROPSHEETPAGE hPage;\r
+       CGitPropertyPage *sheetpage = new CGitPropertyPage(files_);\r
+\r
+    psp.dwSize = sizeof (psp);\r
+    psp.dwFlags = PSP_USEREFPARENT | PSP_USETITLE | PSP_USEICONID | PSP_USECALLBACK;   \r
+       psp.hInstance = g_hResInst;\r
+       psp.pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE);\r
+    psp.pszIcon = MAKEINTRESOURCE(IDI_APPSMALL);\r
+    psp.pszTitle = _T("Subversion");\r
+    psp.pfnDlgProc = (DLGPROC) PageProc;\r
+    psp.lParam = (LPARAM) sheetpage;\r
+    psp.pfnCallback = PropPageCallbackProc;\r
+    psp.pcRefParent = &g_cRefThisDll;\r
+\r
+    hPage = CreatePropertySheetPage (&psp);\r
+\r
+       if (hPage != NULL)\r
+       {\r
+        if (!lpfnAddPage (hPage, lParam))\r
+        {\r
+            delete sheetpage;\r
+            DestroyPropertySheetPage (hPage);\r
+        }\r
+       }\r
+#endif\r
+    return NOERROR;\r
+}\r
+\r
+\r
+\r
+STDMETHODIMP CShellExt::ReplacePage (UINT /*uPageID*/, LPFNADDPROPSHEETPAGE /*lpfnReplaceWith*/, LPARAM /*lParam*/)\r
+{\r
+    return E_FAIL;\r
+}\r
+\r
index 40240ed..28d449d 100644 (file)
@@ -30,7 +30,7 @@ DWORD                         g_langid;
 DWORD                          g_langTimeout = 0;\r
 HINSTANCE                      g_hResInst = NULL;\r
 stdstring                      g_filepath;\r
-//git_wc_status_kind   g_filestatus = git_wc_status_none;      ///< holds the corresponding status to the file/dir above\r
+git_wc_status_kind     g_filestatus = git_wc_status_none;      ///< holds the corresponding status to the file/dir above\r
 bool                           g_readonlyoverlay = false;\r
 bool                           g_lockedoverlay = false;\r
 \r
index abb1460..69511c9 100644 (file)
@@ -82,8 +82,8 @@
                                Name="VCLinkerTool"\r
                                IgnoreImportLibrary="true"\r
                                AdditionalOptions="/MACHINE:I386"\r
-                               AdditionalDependencies="Crypt32.lib gdiplus.lib shfolder.lib shell32.lib comctl32.lib ws2_32.lib rpcrt4.lib shlwapi.lib wininet.lib version.lib ../../ext/Subversion\debug_win32\libsvn_diff-nonet.lib ../../ext/Subversion\debug_win32\libsvn_ra-nonet.lib ../../ext/Subversion\debug_win32\libsvn_wc-nonet.lib ../../ext/Subversion\debug_win32\\libsvn_subr-nonet.lib ../../ext/Subversion\debug_win32\libsvn_client-nonet.lib ../../ext/Subversion\debug_win32\libsvn_delta-nonet.lib ../../ext/apr\debug_win32\libapr_tsvn.lib ../../ext/apr-util\debug_win32\libaprutil_tsvn.lib ../../ext/apr-util\xml\expat\lib\debug_win32\xml.lib ../../ext/libintl/libintl3-win32/lib/intl3_tsvn.lib"\r
-                               OutputFile="$(OutDir)/TortoiseSVN.dll"\r
+                               AdditionalDependencies="Crypt32.lib gdiplus.lib shfolder.lib shell32.lib comctl32.lib ws2_32.lib rpcrt4.lib shlwapi.lib wininet.lib version.lib"\r
+                               OutputFile="$(OutDir)/TortoiseGit.dll"\r
                                LinkIncremental="0"\r
                                SuppressStartupBanner="true"\r
                                IgnoreAllDefaultLibraries="false"\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath=".\GitStatus.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath=".\IconOverlay.cpp"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath=".\SVNPropertyPage.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath=".\TGitPath.h"\r
                                >\r
                        </File>\r
index fe21830..ff9b386 100644 (file)
@@ -1,4 +1,4 @@
-// TortoiseSVN - a Windows shell extension for easy version control\r
+// TortoiseGit - a Windows shell extension for easy version control\r
 \r
 // Copyright (C) 2003-2006 - Stefan Kueng\r
 \r
 //\r
 #pragma once\r
 \r
-#include "TSVNPath.h"\r
+#include "TGitPath.h"\r
 \r
 /**\r
 * \ingroup Utils\r
 * This singleton class contains a list of items which require a shell-update notification\r
-* This update is done lazily at the end of a run of SVN operations\r
+* This update is done lazily at the end of a run of Git operations\r
 */\r
 class CShellUpdater\r
 {\r
@@ -38,12 +38,12 @@ public:
         * Add a single path for updating.\r
         * The update will happen at some suitable time in the future\r
         */\r
-       void AddPathForUpdate(const CTSVNPath& path);\r
+       void AddPathForUpdate(const CTGitPath& path);\r
        /** \r
         * Add a list of paths for updating.\r
         * The update will happen at some suitable time in the future\r
         */\r
-       void AddPathsForUpdate(const CTSVNPathList& pathList);\r
+       void AddPathsForUpdate(const CTGitPathList& pathList);\r
        /**\r
         * Do the update, and clear the list of items waiting\r
         */\r
@@ -56,7 +56,7 @@ private:
 \r
 private:\r
        // The list of paths which will need updating\r
-       CTSVNPathList m_pathsForUpdating;\r
+       CTGitPathList m_pathsForUpdating;\r
        // A handle to an event which, when set, tells the ShellExtension to purge its status cache\r
        HANDLE                  m_hInvalidationEvent;\r
 };\r