Clone
ixen <ixen@copyhandler.com>
committed
on 04 Dec 16
Removed unnecessary includes. Sorted member initialization in constructors. (CH-318)
ch-1.40 + 2 more
src/ch/FeedbackReplaceDlg.cpp (+18 -17)
1 1 // FeedbackReplaceDlg.cpp : implementation file
2 2 //
3 3
4 4 #include "stdafx.h"
5 5 #include "ch.h"
6 6 #include "FeedbackReplaceDlg.h"
7 7 #include "../libictranslate/ResourceManager.h"
8 8 #include "FeedbackHandler.h"
9 9 #include "resource.h"
10 10 #include "../libchengine/TFileInfo.h"
11 11 #include "StringHelpers.h"
12 12 #include "../libchengine/FeedbackPredefinedRules.h"
13 13
14 14 using namespace chengine;
15 15 using namespace string;
16 16
17 17 IMPLEMENT_DYNAMIC(CFeedbackReplaceDlg, ictranslate::CLanguageDialog)
18 18
19   CFeedbackReplaceDlg::CFeedbackReplaceDlg(const chengine::TFileInfo& spSrcFile, const chengine::TFileInfo& spDstFile, const TString& strSuggestedName, CWnd* pParent /*=nullptr*/)
  19 CFeedbackReplaceDlg::CFeedbackReplaceDlg(chengine::FeedbackRules& currentRules, const chengine::TFileInfo& spSrcFile, const chengine::TFileInfo& spDstFile, const TString& strSuggestedName, CWnd* pParent /*=nullptr*/)
20 20         : ictranslate::CLanguageDialog(IDD_FEEDBACK_REPLACE_DIALOG, pParent),
  21         m_rules(currentRules),
21 22         m_rSrcFile(spSrcFile),
22 23         m_rDstFile(spDstFile),
23 24         m_strNewName(strSuggestedName)
24 25 {
25 26 }
26 27
27 28 CFeedbackReplaceDlg::~CFeedbackReplaceDlg()
28 29 {
29 30 }
30 31
31 32 void CFeedbackReplaceDlg::DoDataExchange(CDataExchange* pDX)
32 33 {
33 34         ictranslate::CLanguageDialog::DoDataExchange(pDX);
34 35         DDX_Control(pDX, IDC_SRC_ICON_STATIC, m_ctlSrcIcon);
35 36         DDX_Control(pDX, IDC_DST_ICON_STATIC, m_ctlDstIcon);
36 37
37 38         DDX_Control(pDX, IDC_SRC_FILENAME_EDIT, m_ctlSrcName);
38 39         DDX_Control(pDX, IDC_SRC_PATH_EDIT, m_ctlSrcPath);
39 40         DDX_Control(pDX, IDC_SRC_MODIFIEDDATE_EDIT, m_ctlSrcDate);
40 41         DDX_Control(pDX, IDC_SRC_FILESIZE_EDIT, m_ctlSrcSize);
 
192 193
193 194 void CFeedbackReplaceDlg::RefreshImages()
194 195 {
195 196         SHFILEINFO shfi;
196 197         DWORD_PTR dwRes = SHGetFileInfo(m_rSrcFile.GetFullFilePath().ToString(), 0, &shfi, sizeof(shfi), SHGFI_ICON);
197 198         if(dwRes)
198 199                 m_ctlSrcIcon.SetIcon(shfi.hIcon);
199 200
200 201         dwRes = SHGetFileInfo(m_rDstFile.GetFullFilePath().ToString(), 0, &shfi, sizeof(shfi), SHGFI_ICON);
201 202         if(dwRes)
202 203                 m_ctlDstIcon.SetIcon(shfi.hIcon);
203 204 }
204 205
205 206 void CFeedbackReplaceDlg::OnBnClickedReplaceButton()
206 207 {
207 208         UpdateData(TRUE);
208 209
209 210         switch(m_btnReplace.m_nMenuResult)
210 211         {
211 212         case ID_FEEDBACK_REPLACE_ALLEXISTINGFILES:
212                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_ApplyToAll, eResult_Overwrite);
  213                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_ApplyToAll, eResult_Overwrite));
213 214                 break;
214 215         case ID_FEEDBACK_REPLACE_FILESWITHDIFFERENTDATESORSIZES:
215                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenDifferentDateOrSize, eResult_Overwrite);
  216                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenDifferentDateOrSize, eResult_Overwrite));
216 217                 break;
217 218         case ID_FEEDBACK_REPLACE_OLDERFILESWITHNEWERVERSIONS:
218                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenNewerThanDst, eResult_Overwrite);
  219                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenNewerThanDst, eResult_Overwrite));
219 220                 break;
220 221         case ID_FEEDBACK_REPLACE_NEWERFILESWITHOLDERVERSIONS:
221                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenOlderThanDst, eResult_Overwrite);
  222                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenOlderThanDst, eResult_Overwrite));
222 223                 break;
223 224         }
224 225
225 226         EndDialog(chengine::EFeedbackResult::eResult_Overwrite);
226 227 }
227 228
228 229 void CFeedbackReplaceDlg::OnBnClickedRenameButton()
229 230 {
230 231         UpdateData(TRUE);
231 232
232 233         switch(m_btnRename.m_nMenuResult)
233 234         {
234 235         case ID_FEEDBACK_RENAME_WHENDESTIONATIONFILEEXISTS:
235                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_ApplyToAll, eResult_Rename);
  236                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_ApplyToAll, eResult_Rename));
236 237                 break;
237 238         case ID_FEEDBACK_RENAME_WHENDATEORSIZEDIFFERS:
238                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenDifferentDateOrSize, eResult_Rename);
  239                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenDifferentDateOrSize, eResult_Rename));
239 240                 break;
240 241         case ID_FEEDBACK_RENAME_WHENDATEANDSZEARESAME:
241                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenSameDateAndSize, eResult_Rename);
  242                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenSameDateAndSize, eResult_Rename));
242 243                 break;
243 244         case ID_FEEDBACK_RENAME_WHENNEWERTHANDESTINATION:
244                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenNewerThanDst, eResult_Rename);
  245                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenNewerThanDst, eResult_Rename));
245 246                 break;
246 247         case ID_FEEDBACK_RENAME_WHENOLDERTHANDESTINATION:
247                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenOlderThanDst, eResult_Rename);
  248                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenOlderThanDst, eResult_Rename));
248 249                 break;
249 250         default:
250 251         {
251 252                 CString strText;
252 253                 m_ctlDstRename.GetWindowText(strText);
253 254                 m_strNewName = strText;
254 255         }
255 256         }
256 257
257 258         EndDialog(chengine::EFeedbackResult::eResult_Rename);
258 259 }
259 260
260 261 void CFeedbackReplaceDlg::OnBnClickedCopyRestButton()
261 262 {
262 263         UpdateData(TRUE);
263 264         switch(m_btnResume.m_nMenuResult)
264 265         {
265 266         case ID_FEEDBACK_RESUME_WHENFILEBIGGERTHANDESTINATION:
266                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenBiggerThanDst, eResult_CopyRest);
  267                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenBiggerThanDst, eResult_CopyRest));
267 268                 break;
268 269         }
269 270
270 271         EndDialog(chengine::EFeedbackResult::eResult_CopyRest);
271 272 }
272 273
273 274 void CFeedbackReplaceDlg::OnBnClickedSkipButton()
274 275 {
275 276         UpdateData(TRUE);
276 277         switch(m_btnSkip.m_nMenuResult)
277 278         {
278 279         case ID_FEEDBACK_SKIP_ALLEXISTINGDESTINATIONFILES:
279                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_ApplyToAll, eResult_Skip);
  280                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_ApplyToAll, eResult_Skip));
280 281                 break;
281 282         case ID_FEEDBACK_SKIP_ALLFILESWITHSAMEDATESANDSIZES:
282                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenSameDateAndSize, eResult_Skip);
  283                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenSameDateAndSize, eResult_Skip));
283 284                 break;
284 285         case ID_FEEDBACK_SKIP_FILESTHATAREOLDERTHANDESTINATION:
285                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenOlderThanDst, eResult_Skip);
  286                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenOlderThanDst, eResult_Skip));
286 287                 break;
287 288         case ID_FEEDBACK_SKIP_FILESTHATARENEWERTHANDESTINATION:
288                   m_feedbackRules = FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenNewerThanDst, eResult_Skip);
  289                 m_rules.GetAlreadyExistsRules().Merge(FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition::eCondition_WhenNewerThanDst, eResult_Skip));
289 290                 break;
290 291         }
291 292
292 293         EndDialog(chengine::EFeedbackResult::eResult_Skip);
293 294 }
294 295
295 296 void CFeedbackReplaceDlg::OnBnClickedPauseButton()
296 297 {
297 298         UpdateData(TRUE);
298 299         EndDialog(chengine::EFeedbackResult::eResult_Pause);
299 300 }
300 301
301 302 void CFeedbackReplaceDlg::OnBnClickedCancelButton()
302 303 {
303 304         UpdateData(TRUE);
304 305         EndDialog(chengine::EFeedbackResult::eResult_Cancel);
305 306 }
306 307
307 308 void CFeedbackReplaceDlg::OnCancel()
308 309 {
309 310         UpdateData(TRUE);
310 311         EndDialog(chengine::EFeedbackResult::eResult_Cancel);
311 312 }
312 313
313   const chengine::FeedbackAlreadyExistsRuleList& CFeedbackReplaceDlg::GetRules() const
  314 const chengine::FeedbackRules& CFeedbackReplaceDlg::GetRules() const
314 315 {
315           return m_feedbackRules;
  316         return m_rules;
316 317 }
317 318
318 319 void CFeedbackReplaceDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
319 320 {
320 321         if (m_rcInitial.Width() != 0 && m_rcInitial.Height() != 0)
321 322         {
322 323                 lpMMI->ptMinTrackSize.y = m_rcInitial.Height();
323 324                 lpMMI->ptMaxTrackSize.y = m_rcInitial.Height();
324 325         }
325 326 }