OSDN Git Service

Add support i18n.logOutputEncoding at log list
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / TortoiseProc.cpp
index 1966392..f1e4158 100644 (file)
@@ -42,6 +42,9 @@
 #include "Commands\Command.h"\r
 #include "CommonResource.h"\r
 #include "..\version.h"\r
+#include "..\Settings\Settings.h"\r
+#include "gitindex.h"\r
+\r
 #define STRUCT_IOVEC_DEFINED\r
 //#include "sasl.h"\r
 \r
@@ -56,16 +59,16 @@ BEGIN_MESSAGE_MAP(CTortoiseProcApp, CWinAppEx)
        ON_COMMAND(ID_HELP, CWinAppEx::OnHelp)\r
 END_MESSAGE_MAP()\r
 \r
-CString g_version;\r
+//CString g_version;\r
 //CString CGit::m_MsysGitPath;\r
 //////////////////////////////////////////////////////////////////////////\r
 \r
 CTortoiseProcApp::CTortoiseProcApp()\r
 {\r
        EnableHtmlHelp();\r
-       int argc = 0;\r
-       g_version=_T("abc");\r
-       const char* const * argv = NULL;\r
+//     int argc = 0;\r
+//     g_version=_T("abc");\r
+//     const char* const * argv = NULL;\r
 //     apr_app_initialize(&argc, &argv, NULL);\r
 //     svn_dso_initialize2();\r
        SYS_IMAGE_LIST();\r
@@ -74,8 +77,10 @@ CTortoiseProcApp::CTortoiseProcApp()
        m_bLoadUserToolbars = FALSE;\r
        m_bSaveState = FALSE;\r
        retSuccess = false;\r
-       CGit git;\r
-       git.GetUserName();\r
+       //CGit git;\r
+       //git.GetUserName();\r
+\r
+       \r
 }\r
 \r
 CTortoiseProcApp::~CTortoiseProcApp()\r
@@ -105,6 +110,11 @@ CString sOrigCWD;
 \r
 BOOL CTortoiseProcApp::CheckMsysGitDir()\r
 {\r
+       CGitIndexFileMap map;\r
+       //int status;\r
+       //CTGitPath path;\r
+       //path.SetFromGit(_T("src/gpl.txt"));\r
+       //map.GetFileStatus(_T("D:\\TortoiseGit"),&path, &status);\r
        return CGit::CheckMsysGitDir(); \r
 }\r
 CCrashReport crasher("tortoisegit-bug@googlegroups.com", "Crash Report for TortoiseGit " APP_X64_STRING " : " STRPRODUCTVER, TRUE);// crash\r
@@ -118,14 +128,24 @@ BOOL CTortoiseProcApp::InitInstance()
        CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));\r
        CMFCButton::EnableWindowsTheming();\r
 \r
+       Gdiplus::GdiplusStartupInput gdiplusStartupInput;\r
+       Gdiplus::GdiplusStartup(&m_gdiplusToken,&gdiplusStartupInput,NULL);\r
+\r
        if(!CheckMsysGitDir())\r
        {\r
                if(CMessageBox::Show(NULL,_T("MSysGit(http://code.google.com/p/msysgit) have not installed Correctly\n\\r
 or MSysGit Path setting error\n\\r
 Click Yes to open setting dialog to setup MSysGit Path"),\r
-                                                       _T("TortoiseGit"),MB_YESNO|MB_ICONERROR)==IDYES);\r
+                                                       _T("TortoiseGit"),MB_YESNO|MB_ICONERROR)==IDYES)\r
                {\r
-                       //todo open setting\r
+                       // open settings dialog\r
+                       CSettings dlg(IDS_PROC_SETTINGS_TITLE);\r
+                       dlg.SetTreeViewMode(TRUE, TRUE, TRUE);\r
+                       dlg.SetTreeWidth(220);\r
+                       \r
+                       dlg.DoModal();\r
+                       dlg.HandleRestart();\r
+                       return TRUE;\r
                }\r
                return FALSE;   \r
        }\r
@@ -176,7 +196,7 @@ Click Yes to open setting dialog to setup MSysGit Path"),
        sHelppath = sHelppath.MakeLower();\r
        // MFC uses a help file with the same name as the application by default,\r
        // which means we have to change that default to our language specific help files\r
-       sHelppath.Replace(_T("tortoiseproc.chm"), _T("TortoiseSVN_en.chm"));\r
+       sHelppath.Replace(_T("tortoiseproc.chm"), _T("TortoiseGit_en.chm"));\r
        free((void*)m_pszHelpFilePath);\r
        m_pszHelpFilePath=_tcsdup(sHelppath);\r
        sHelppath = CPathUtils::GetAppParentDirectory() + _T("Languages\\TortoiseGit_en.chm");\r
@@ -398,11 +418,13 @@ Click Yes to open setting dialog to setup MSysGit Path"),
                                        break;\r
                }\r
 \r
-               if(g_Git.m_CurrentDir)\r
+               if(!g_Git.m_CurrentDir.IsEmpty())\r
                        SetCurrentDirectory(g_Git.m_CurrentDir);\r
 \r
                cmd->SetParser(parser);\r
                cmd->SetPaths(pathList, cmdLinePath);\r
+               \r
+               CGit::m_LogEncode = CAppUtils::GetLogOutputEncode();\r
 \r
                retSuccess = cmd->Execute();\r
                delete cmd;\r
@@ -598,6 +620,8 @@ void CTortoiseProcApp::EnableCrashHandler()
 \r
 int CTortoiseProcApp::ExitInstance()\r
 {\r
+       Gdiplus::GdiplusShutdown(m_gdiplusToken);\r
+\r
        CWinAppEx::ExitInstance();\r
        if (retSuccess)\r
                return 0;\r