#include "MainFrm.h"\r
#include "Balloon.h"\r
#include "EditGotoDlg.h"\r
+#include "AppUtils.h"\r
\r
#ifdef _DEBUG\r
#define new DEBUG_NEW\r
\r
m_FindDialogMessage = ::RegisterWindowMessage(FINDMSGSTRING); \r
m_pFindDialog = NULL;\r
+ // get short/long datetime setting from registry\r
+ DWORD RegUseShortDateFormat = CRegDWORD(_T("Software\\TortoiseGit\\LogDateFormat"), FALSE);\r
+ if ( RegUseShortDateFormat )\r
+ {\r
+ m_DateFormat = DATE_SHORTDATE;\r
+ }\r
+ else\r
+ {\r
+ m_DateFormat = DATE_LONGDATE;\r
+ }\r
}\r
\r
CTortoiseGitBlameView::~CTortoiseGitBlameView()\r
CString str;\r
str.Format(_T("%s\n<b>%s</b>\n%s\n%s"),pRev->m_CommitHash,\r
pRev->m_Subject,\r
- pRev->m_AuthorDate.Format(_T("%Y-%m-%d %H:%M")),\r
+ CAppUtils::FormatDateAndTime( pRev->m_AuthorDate, m_DateFormat ), \r
pRev->m_Body);\r
m_ToolTip.AddTool(this,str);\r
m_ToolTip.DisplayToolTip(&point);\r
\r
CFindReplaceDialog *m_pFindDialog;\r
\r
+ DWORD m_DateFormat; // DATE_SHORTDATE or DATE_LONGDATE\r
};\r
\r
#ifndef _DEBUG // debug version in TortoiseGitBlameView.cpp\r
}\r
#endif\r
return bRet;\r
-}
\ No newline at end of file
+}\r
+\r
+/**\r
+ * FUNCTION : FormatDateAndTime\r
+ * DESCRIPTION : Generates a displayable string from a CTime object in\r
+ * system short or long format dependant on setting of option\r
+ * as DATE_SHORTDATE or DATE_LONGDATE \r
+ * RETURN : CString containing date/time\r
+ */\r
+CString CAppUtils::FormatDateAndTime( const CTime& cTime, DWORD option, bool bIncludeTime /*=true*/ )\r
+{\r
+ SYSTEMTIME sysTime;\r
+ cTime.GetAsSystemTime( sysTime );\r
+ CString datetime;\r
+\r
+ TCHAR buf[100];\r
+\r
+ GetDateFormat(LOCALE_USER_DEFAULT, option, &sysTime, NULL, buf, \r
+ sizeof(buf)/sizeof(TCHAR)-1);\r
+ datetime = buf;\r
+ if ( bIncludeTime )\r
+ {\r
+ datetime += _T(" ");\r
+ GetTimeFormat(LOCALE_USER_DEFAULT, 0, &sysTime, NULL, buf, sizeof(buf)/sizeof(TCHAR)-1);\r
+ datetime += buf;\r
+ }\r
+ return datetime;\r
+}\r
static bool IgnoreFile(CTGitPath &file, bool IsMask);\r
static bool GitReset(CString *CommitHash,int type=1);\r
static bool ConflictEdit(CTGitPath &file,bool bAlternativeTool=false);\r
+ /**\r
+ * FUNCTION : FormatDateAndTime\r
+ * DESCRIPTION : Generates a displayable string from a CTime object in\r
+ * system short or long format dependant on setting of option\r
+ * as DATE_SHORTDATE or DATE_LONGDATE. bIncludeTime (optional) includes time.\r
+ * RETURN : CString containing date/time\r
+ */\r
+ static CString FormatDateAndTime( const CTime& cTime, DWORD option, bool bIncludeTime=true );\r
+\r
+ \r
private:\r
static CString PickDiffTool(const CTGitPath& file1, const CTGitPath& file2);\r
static bool GetMimeType(const CTGitPath& file, CString& mimetype);\r
SetDlgItemText(IDC_FIRSTURL, m_rev1.m_Subject+CString(_T("\r\n"))+m_rev1.m_CommitHash);\r
SetDlgItemText(IDC_SECONDURL,m_rev2.m_Subject+CString(_T("\r\n"))+m_rev2.m_CommitHash);\r
\r
- m_tooltips.AddTool(IDC_FIRSTURL, m_rev1.m_AuthorDate.Format(_T("%Y-%m-%d "))+m_rev1.m_AuthorName);\r
- m_tooltips.AddTool(IDC_SECONDURL, m_rev2.m_AuthorDate.Format(_T("%Y-%m-%d "))+m_rev2.m_AuthorName);\r
+ m_tooltips.AddTool(IDC_FIRSTURL, \r
+ CAppUtils::FormatDateAndTime( m_rev1.m_AuthorDate, DATE_SHORTDATE, false )+_T(" ")+m_rev1.m_AuthorName);\r
+ m_tooltips.AddTool(IDC_SECONDURL, \r
+ CAppUtils::FormatDateAndTime( m_rev2.m_AuthorDate, DATE_SHORTDATE, false )+_T(" ")+m_rev2.m_AuthorName);\r
\r
}\r
\r
if(rev2 != GIT_REV_ZERO)\r
{\r
\r
- file2.Format(_T("%s\\%s_%s%s"),\r
+ file2.Format(_T("%s%s_%s%s"),\r
temppath, \r
pPath2->GetBaseFilename(),\r
rev2.Left(6),\r
#include "..\\TortoiseShell\\Resource.h"\r
\r
\r
-\r
IMPLEMENT_DYNAMIC(CGitLogListBase, CHintListCtrl)\r
\r
CGitLogListBase::CGitLogListBase():CHintListCtrl()\r
{\r
m_LineColors[i] = m_Colors.GetColor((CColors::Colors)(CColors::BranchLine1+i));\r
}\r
+ // get short/long datetime setting from registry\r
+ DWORD RegUseShortDateFormat = CRegDWORD(_T("Software\\TortoiseGit\\LogDateFormat"), FALSE);\r
+ if ( RegUseShortDateFormat )\r
+ {\r
+ m_DateFormat = DATE_SHORTDATE;\r
+ }\r
+ else\r
+ {\r
+ m_DateFormat = DATE_LONGDATE;\r
+ }\r
}\r
\r
CGitLogListBase::~CGitLogListBase()\r
break;\r
case this->LOGLIST_DATE: //Date\r
if (pLogEntry)\r
- lstrcpyn(pItem->pszText, (LPCTSTR)pLogEntry->m_AuthorDate.Format(_T("%Y-%m-%d %H:%M")), pItem->cchTextMax);\r
+ lstrcpyn(pItem->pszText,\r
+ CAppUtils::FormatDateAndTime( pLogEntry->m_AuthorDate, m_DateFormat ), \r
+ pItem->cchTextMax);\r
break;\r
\r
case 5:\r
sLogCopyText.Format(_T("%s: %s\r\n%s: %s\r\n%s: %s\r\n%s:\r\n%s\r\n----\r\n%s\r\n\r\n"),\r
(LPCTSTR)sRev, pLogEntry->m_CommitHash,\r
(LPCTSTR)sAuthor, (LPCTSTR)pLogEntry->m_AuthorName,\r
- (LPCTSTR)sDate, (LPCTSTR)pLogEntry->m_AuthorDate.Format(_T("%Y-%m-%d %H:%M")),\r
+ (LPCTSTR)sDate, (LPCTSTR)CAppUtils::FormatDateAndTime( pLogEntry->m_AuthorDate, m_DateFormat ),\r
(LPCTSTR)sMessage, pLogEntry->m_Subject+_T("\r\n")+pLogEntry->m_Body,\r
(LPCTSTR)sPaths);\r
sClipdata += sLogCopyText;\r
CString m_CurrentBranch;\r
\r
COLORREF m_LineColors[Lanes::COLORS_NUM];\r
+ DWORD m_DateFormat; // DATE_SHORTDATE or DATE_LONGDATE\r
};\r
\r
\r