OSDN Git Service

Enable Sync Dialog Resize
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / LogCacheStatisticsDlg.cpp
1 // TortoiseSVN - a Windows shell extension for easy version control\r
2 \r
3 // Copyright (C) 2007-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 #include "stdafx.h"\r
20 #include "TortoiseProc.h"\r
21 #include "LogCacheStatisticsDlg.h"\r
22 #include "LogCacheStatistics.h"\r
23 #include "RepositoryInfo.h"\r
24 #include "SVN.h"\r
25 \r
26 // CLogCacheStatisticsDlg-Dialogfeld\r
27 \r
28 IMPLEMENT_DYNAMIC(CLogCacheStatisticsDlg, CDialog)\r
29 \r
30 CLogCacheStatisticsDlg::CLogCacheStatisticsDlg \r
31     ( const LogCache::CLogCacheStatisticsData& data, CWnd * pParentWnd)\r
32         : CDialog(CLogCacheStatisticsDlg::IDD, pParentWnd)\r
33 {\r
34     sizeRAM = ToString (data.ramSize / 1024);\r
35     sizeDisk = ToString (data.fileSize / 1024);\r
36 \r
37     switch (data.connectionState)\r
38     {\r
39     case LogCache::CRepositoryInfo::online:\r
40         connectionState.LoadString (IDS_CONNECTIONSTATE_ONLINE);\r
41         break;\r
42     case LogCache::CRepositoryInfo::tempOffline:\r
43         connectionState.LoadString (IDS_CONNECTIONSTATE_TEMPOFFLINE);\r
44         break;\r
45     case LogCache::CRepositoryInfo::offline:\r
46         connectionState.LoadString (IDS_CONNECTIONSTATE_OFFLINE);\r
47         break;\r
48     }\r
49 \r
50     lastRead = DateToString (data.lastReadAccess);\r
51     lastWrite = DateToString (data.lastWriteAccess);\r
52     lastHeadUpdate = DateToString (data.headTimeStamp);\r
53 \r
54     authors = ToString (data.authorCount);\r
55     paths = ToString (data.pathCount);\r
56         pathElements = ToString (data.pathElementCount);\r
57     skipRanges = ToString (data.skipDeltaCount);\r
58     wordTokens = ToString (data.wordTokenCount);\r
59     pairTokens = ToString (data.pairTokenCount);\r
60     textSize = ToString (data.textSize);\r
61         uncompressedSize = ToString (data.uncompressedSize);\r
62 \r
63     maxRevision = ToString (data.maxRevision);\r
64     revisionCount = ToString (data.revisionCount);\r
65 \r
66     changesTotal = ToString (data.changesCount);\r
67     changedRevisions = ToString (data.changesRevisionCount);\r
68     changesMissing = ToString (data.changesMissingRevisionCount);\r
69     mergesTotal = ToString (data.mergeInfoCount);\r
70     mergesRevisions = ToString (data.mergeInfoRevisionCount);\r
71     mergesMissing = ToString (data.mergeInfoMissingRevisionCount);\r
72     userRevpropsTotal = ToString (data.userRevPropCount);\r
73     userRevpropsRevisions = ToString (data.userRevPropRevisionCount);\r
74     userRevpropsMissing = ToString (data.userRevPropMissingRevisionCount);\r
75 }\r
76 \r
77 CLogCacheStatisticsDlg::~CLogCacheStatisticsDlg()\r
78 {\r
79 }\r
80 \r
81 void CLogCacheStatisticsDlg::DoDataExchange(CDataExchange* pDX)\r
82 {\r
83     CDialog::DoDataExchange(pDX);\r
84     DDX_Text(pDX, IDC_SIZERAM, sizeRAM);\r
85     DDX_Text(pDX, IDC_SIZEDISK, sizeDisk);\r
86     DDX_Text(pDX, IDC_CONNECTIONSTATE, connectionState);\r
87     DDX_Text(pDX, IDC_LASTREAD, lastRead);\r
88     DDX_Text(pDX, IDC_LASTWRITE, lastWrite);\r
89     DDX_Text(pDX, IDC_LASTHEADUPDATE, lastHeadUpdate);\r
90     DDX_Text(pDX, IDC_AUTHORS, authors);\r
91     DDX_Text(pDX, IDC_PATHELEMENTS, pathElements);\r
92     DDX_Text(pDX, IDC_PATHS, paths);\r
93     DDX_Text(pDX, IDC_SKIPRANGES, skipRanges);\r
94     DDX_Text(pDX, IDC_WORDTOKENS, wordTokens);\r
95     DDX_Text(pDX, IDC_PAIRTOKENS, pairTokens);\r
96     DDX_Text(pDX, IDC_TEXTSIZE, textSize);\r
97     DDX_Text(pDX, IDC_UNCOMPRESSEDSIZE, uncompressedSize);\r
98     DDX_Text(pDX, IDC_MAXREVISION, maxRevision);\r
99     DDX_Text(pDX, IDC_REVISIONCOUNT, revisionCount);\r
100     DDX_Text(pDX, IDC_CHANGESTOTAL, changesTotal);\r
101     DDX_Text(pDX, IDC_CHANGEDREVISIONS, changedRevisions);\r
102     DDX_Text(pDX, IDC_CHANGESMISSING, changesMissing);\r
103     DDX_Text(pDX, IDC_MERGESTOTAL, mergesTotal);\r
104     DDX_Text(pDX, IDC_MERGESREVISIONS, mergesRevisions);\r
105     DDX_Text(pDX, IDC_MERGESMISSING, mergesMissing);\r
106     DDX_Text(pDX, IDC_USERREVPROPSTOTAL, userRevpropsTotal);\r
107     DDX_Text(pDX, IDC_USERREVPROPSREVISISONS, userRevpropsRevisions);\r
108     DDX_Text(pDX, IDC_USERREVPROPSMISSING, userRevpropsMissing);\r
109 }\r
110 \r
111 \r
112 BEGIN_MESSAGE_MAP(CLogCacheStatisticsDlg, CDialog)\r
113 END_MESSAGE_MAP()\r
114 \r
115 CString CLogCacheStatisticsDlg::DateToString (__time64_t time)\r
116 {\r
117     // transform to 1-second base\r
118 \r
119     __time64_t systime = time / 1000000L;\r
120     __time64_t now = CTime::GetCurrentTime().GetTime();\r
121 \r
122     // return time when younger than 1 day\r
123     // return date otherwise\r
124 \r
125     return (now - systime >= 0) && (now - systime < 86400)\r
126         ? SVN::formatTime (time)\r
127         : SVN::formatDate (time);\r
128 }\r
129 \r
130 CString CLogCacheStatisticsDlg::ToString (__int64 value)\r
131 {\r
132     TCHAR buffer[20];\r
133     _i64tot_s (value, buffer, sizeof (buffer) / sizeof (TCHAR), 10); \r
134     return buffer;\r
135 }\r
136 BOOL CLogCacheStatisticsDlg::OnInitDialog()\r
137 {\r
138         CDialog::OnInitDialog();\r
139 \r
140         m_tooltips.Create(this);\r
141 \r
142         m_tooltips.AddTool(IDC_SIZERAM, IDS_SETTINGS_LOGCACHESTATS_RAM);\r
143         m_tooltips.AddTool(IDC_SIZEDISK, IDS_SETTINGS_LOGCACHESTATS_DISK);\r
144         m_tooltips.AddTool(IDC_CONNECTIONSTATE, IDS_SETTINGS_LOGCACHESTATS_CONNECTION);\r
145         m_tooltips.AddTool(IDC_LASTREAD, IDS_SETTINGS_LOGCACHESTATS_LASTREAD);\r
146         m_tooltips.AddTool(IDC_LASTWRITE, IDS_SETTINGS_LOGCACHESTATS_LASTWRITE);\r
147         m_tooltips.AddTool(IDC_LASTHEADUPDATE, IDS_SETTINGS_LOGCACHESTATS_LASTHEADUPDATE);\r
148         m_tooltips.AddTool(IDC_AUTHORS, IDS_SETTINGS_LOGCACHESTATS_AUTHORS);\r
149         m_tooltips.AddTool(IDC_PATHELEMENTS, IDS_SETTINGS_LOGCACHESTATS_PATHELEMENTS);\r
150         m_tooltips.AddTool(IDC_PATHS, IDS_SETTINGS_LOGCACHESTATS_PATHS);\r
151         m_tooltips.AddTool(IDC_SKIPRANGES, IDS_SETTINGS_LOGCACHESTATS_SKIPRANGES);\r
152         m_tooltips.AddTool(IDC_WORDTOKENS, IDS_SETTINGS_LOGCACHESTATS_WORDTOKENS);\r
153         m_tooltips.AddTool(IDC_PAIRTOKENS, IDS_SETTINGS_LOGCACHESTATS_PAIRTOKENS);\r
154         m_tooltips.AddTool(IDC_TEXTSIZE, IDS_SETTINGS_LOGCACHESTATS_TEXTSIZE);\r
155         m_tooltips.AddTool(IDC_UNCOMPRESSEDSIZE, IDS_SETTINGS_LOGCACHESTATS_UNCOMPRESSEDSIZE);\r
156         m_tooltips.AddTool(IDC_MAXREVISION, IDS_SETTINGS_LOGCACHESTATS_MAXREVISION);\r
157         m_tooltips.AddTool(IDC_REVISIONCOUNT, IDS_SETTINGS_LOGCACHESTATS_REVISIONCOUNT);\r
158         m_tooltips.AddTool(IDC_CHANGESTOTAL, IDS_SETTINGS_LOGCACHESTATS_CHANGESTOTAL);\r
159         m_tooltips.AddTool(IDC_CHANGEDREVISIONS, IDS_SETTINGS_LOGCACHESTATS_CHANGEDREVISIONS);\r
160         m_tooltips.AddTool(IDC_CHANGESMISSING, IDS_SETTINGS_LOGCACHESTATS_CHANGESMISSING);\r
161         m_tooltips.AddTool(IDC_MERGESTOTAL, IDS_SETTINGS_LOGCACHESTATS_MERGESTOTAL);\r
162         m_tooltips.AddTool(IDC_MERGESREVISIONS, IDS_SETTINGS_LOGCACHESTATS_MERGESREVISIONS);\r
163         m_tooltips.AddTool(IDC_MERGESMISSING, IDS_SETTINGS_LOGCACHESTATS_MERGESMISSING);\r
164         m_tooltips.AddTool(IDC_USERREVPROPSTOTAL, IDS_SETTINGS_LOGCACHESTATS_USERREVPROPSTOTAL);\r
165         m_tooltips.AddTool(IDC_USERREVPROPSREVISISONS, IDS_SETTINGS_LOGCACHESTATS_USERREVPROPSREVISIONS);\r
166         m_tooltips.AddTool(IDC_USERREVPROPSMISSING, IDS_SETTINGS_LOGCACHESTATS_USERREVPROPSMISSING);\r
167 \r
168 \r
169         return TRUE;\r
170 }\r
171 \r
172 BOOL CLogCacheStatisticsDlg::PreTranslateMessage(MSG* pMsg)\r
173 {\r
174         m_tooltips.RelayEvent(pMsg);\r
175         return CDialog::PreTranslateMessage(pMsg);\r
176 }\r