Clone
ixen <ixen@copyhandler.com>
committed
on 13 Jul 14
Bugfix: different layout of shared memory between 64bit shell ext and 32bit application caused explorer to crash (CH-117).
LoggerImprovements + 5 more
src/ch/StatusDlg.cpp (+2 -2)
1060 1060         lvi.mask=LVIF_TEXT;
1061 1061         lvi.iSubItem = 1;
1062 1062         if(strCurrentPath.IsEmpty())
1063 1063                 strCurrentPath = GetResManager().LoadString(IDS_NONEINPUTFILE_STRING);
1064 1064
1065 1065         lvi.pszText = (PTSTR)strCurrentPath.c_str();;
1066 1066         lvi.cchTextMax = lstrlen(lvi.pszText);
1067 1067         m_ctlStatusList.SetItem(&lvi);
1068 1068
1069 1069         // destination path
1070 1070         lvi.iSubItem = 2;
1071 1071         chcore::TString strDestinationPath = spTaskStats->GetDestinationPath();
1072 1072         lvi.pszText = (PTSTR)strDestinationPath.c_str();
1073 1073         lvi.cchTextMax = lstrlen(lvi.pszText);
1074 1074         m_ctlStatusList.SetItem(&lvi);
1075 1075
1076 1076         // insert dest subitem
1077 1077         lvi.iSubItem=3;
1078 1078
1079 1079         CString strFmt;
1080           strFmt.Format(_T("%.0f %%"), spTaskStats->GetCombinedProgress() * 100.0);
  1080         strFmt.Format(_T("%.1f %%"), spTaskStats->GetCombinedProgress() * 100.0);
1081 1081
1082 1082         lvi.pszText = (PTSTR)(PCTSTR)strFmt;
1083 1083         lvi.cchTextMax = lstrlen(lvi.pszText);
1084 1084         m_ctlStatusList.SetItem(&lvi);
1085 1085 }
1086 1086
1087 1087 CString CStatusDlg::GetProcessedText(unsigned long long ullProcessedCount, unsigned long long ullTotalCount, unsigned long long ullProcessedSize, unsigned long long ullTotalSize)
1088 1088 {
1089 1089         CString strTemp;
1090 1090         _sntprintf(m_szData, _MAX_PATH, _T("%I64u/%I64u ("), ullProcessedCount, ullTotalCount);
1091 1091         strTemp = CString(m_szData);
1092 1092         strTemp += GetSizeString(ullProcessedSize, m_szData, _MAX_PATH) + CString(_T("/"));
1093 1093         strTemp += GetSizeString(ullTotalSize, m_szData, _MAX_PATH) + CString(_T(")"));
1094 1094         return strTemp;
1095 1095 }
1096 1096
1097 1097 CString CStatusDlg::GetSpeedString(double dSizeSpeed, double dAvgSizeSpeed, double dCountSpeed, double dAvgCountSpeed) const
1098 1098 {
1099 1099         TCHAR szData[_MAX_PATH];
1100 1100         CString strSpeedText = GetSizeString(dSizeSpeed, szData, _MAX_PATH);    // last avg
 
1203 1203         m_ctlTaskSizeProgress.SetProgress(spTaskStats->GetProcessedSize(), spTaskStats->GetTotalSize());
1204 1204
1205 1205         GetDlgItem(IDC_DESTINATIONOBJECT_STATIC)->SetWindowText(spTaskStats->GetDestinationPath().c_str());
1206 1206         GetDlgItem(IDC_THREADPRIORITY_STATIC)->SetWindowText(GetResManager().LoadString(IDS_PRIORITY0_STRING + PriorityToIndex(spTaskStats->GetThreadPriority())));
1207 1207         GetDlgItem(IDC_TASKID_STATIC)->SetWindowText(spTaskStats->GetTaskName().c_str());
1208 1208 }
1209 1209
1210 1210 void CStatusDlg::SetWindowTitle(PCTSTR pszText)
1211 1211 {
1212 1212         CString strCurrentTitle;
1213 1213         GetWindowText(strCurrentTitle);
1214 1214         if(strCurrentTitle != CString(pszText))
1215 1215                 SetWindowText(pszText);
1216 1216 }
1217 1217
1218 1218 CString CStatusDlg::GetProgressWindowTitleText() const
1219 1219 {
1220 1220         CString strTitleText;
1221 1221
1222 1222         if(m_spTaskMgrStats->GetTaskStatsCount() != 0)
1223                   strTitleText.Format(_T("%s [%.0f %%]"), GetResManager().LoadString(IDS_STATUSTITLE_STRING), m_spTaskMgrStats->GetCombinedProgress() * 100.0);
  1223                 strTitleText.Format(_T("%s [%.1f %%]"), GetResManager().LoadString(IDS_STATUSTITLE_STRING), m_spTaskMgrStats->GetCombinedProgress() * 100.0);
1224 1224         else
1225 1225                 strTitleText = GetResManager().LoadString(IDS_STATUSTITLE_STRING);
1226 1226
1227 1227         return strTitleText;
1228 1228 }