OSDN Git Service

Map union code name to cp code
[tortoisegit/TortoiseGitJp.git] / src / TortoiseGitBlame / TortoiseGitBlameAppUtils.h
1 // TortoiseSVN - a Windows shell extension for easy version control\r
2 \r
3 // Copyright (C) 2003-2008 - TortoiseSVN\r
4 \r
5 // This program is free software; you can redistribute it and/or\r
6 // modify it under the terms of the GNU General Public License\r
7 // as published by the Free Software Foundation; either version 2\r
8 // of the License, or (at your option) any later version.\r
9 \r
10 // This program is distributed in the hope that it will be useful,\r
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 // GNU General Public License for more details.\r
14 \r
15 // You should have received a copy of the GNU General Public License\r
16 // along with this program; if not, write to the Free Software Foundation,\r
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
18 //\r
19 #pragma once\r
20 /**\r
21  * \ingroup TortoiseGitBlame\r
22  * An utility class with static functions.\r
23  */\r
24 class CAppUtils\r
25 {\r
26 public:\r
27         CAppUtils(void);\r
28         ~CAppUtils(void);\r
29 \r
30         /**\r
31          * FUNCTION    :   FormatDateAndTime\r
32          * DESCRIPTION :   Generates a displayable string from a CTime object in\r
33          *                 system short or long format  or as a relative value\r
34          *                                 cTime - the time\r
35          *                                 option - DATE_SHORTDATE or DATE_LONGDATE\r
36          *                                 bIncluedeTime - whether to show time as well as date\r
37          *                                 bRelative - if true then relative time is shown if reasonable \r
38          *                                 If HKCU\Software\TortoiseGit\UseSystemLocaleForDates is 0 then use fixed format\r
39          *                                 rather than locale\r
40          * RETURN      :   CString containing date/time\r
41          */\r
42         static CString FormatDateAndTime( const CTime& cTime, DWORD option, bool bIncludeTime=true,\r
43                 bool bRelative=false );\r
44         /**\r
45          *      Converts a given time to a relative display string (relative to current time)\r
46          *      Given time must be in local timezone\r
47          */\r
48         static CString ToRelativeTimeString(CTime time);\r
49 \r
50         \r
51 private:\r
52         /**\r
53          *      Generates a display string showing the relative time between the two given times as COleDateTimes\r
54          */\r
55         static CString ToRelativeTimeString(COleDateTime time,COleDateTime RelativeTo);\r
56         static CString ExpandRelativeTime( int count, UINT format_1, UINT format_n );\r
57 };\r