Changeset 1025 for trunk/dll/mainwnd.c
- Timestamp:
- Jun 20, 2008, 3:54:15 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/mainwnd.c
r1024 r1025 4591 4591 // Complain if attempting to use reserved name 4592 4592 if (stricmp(szStateName, GetPString(IDS_STATETEXT)) == 0 || 4593 stricmp(szStateName, GetPString(IDS_FM2TEMPTEXT)) == 0 || 4594 stricmp(szStateName, GetPString(IDS_SHUTDOWNSTATE)) == 0) 4593 // stricmp(szStateName, GetPString(IDS_FM2TEMPTEXT)) == 0 || 4594 // stricmp(szStateName, GetPString(IDS_SHUTDOWNSTATE)) == 0) 4595 stricmp(szStateName, GetPString(IDS_FM2TEMPTEXT)) == 0) 4595 4596 { 4596 4597 saymsg(MB_ENTER | MB_ICONASTERISK, hwnd, … … 4599 4600 } 4600 4601 // Ignore request if blank 4601 else if (*szStateName) { 4602 if (SHORT1FROMMP(mp1) == IDM_SAVEDIRCNRSTATE) { 4603 // Save 4604 INT nSaved = SaveDirCnrState(hwnd, szStateName); 4605 if (nSaved > 0) { 4606 INT ret = add_setup(szStateName); 4607 if (ret == 0) { 4608 WinSendMsg(hwndStatelist, LM_INSERTITEM, 4609 MPFROM2SHORT(LIT_SORTASCENDING, 0), MPFROMP(szStateName)); 4610 save_setups(); 4611 } 4612 else if (ret != 1) { 4613 saymsg(MB_ENTER | MB_ICONASTERISK, hwnd, 4614 GetPString(IDS_WARNINGTEXT), 4615 "\"%s\" state name add failed", szStateName); // 15 Apr 07 SHL failed 4616 WinSetWindowText(hwndStatelist, GetPString(IDS_STATETEXT)); 4617 } 4618 } 4619 else { 4620 saymsg(MB_ENTER | MB_ICONASTERISK, 4621 hwnd, 4622 GetPString(IDS_WARNINGTEXT), 4623 nSaved == 0 ? 4624 "Nothing to save" : 4625 "State data save failed"); 4626 WinSetWindowText(hwndStatelist, GetPString(IDS_STATETEXT)); 4627 } 4628 } 4629 else { 4630 // Delete 4631 ULONG numsaves = 0, size, x; 4632 CHAR s[STATE_NAME_MAX_BYTES + 80]; 4633 4634 INT ret = remove_setup(szStateName); 4635 if (ret == 1) 4636 save_setups(); 4637 sprintf(s, "%s.NumDirsLastTime", szStateName); 4638 size = sizeof(ULONG); 4639 if (!PrfQueryProfileData(fmprof, 4640 FM3Str, 4641 s, 4642 (PVOID)&numsaves, 4643 &size)) { 4644 saymsg(MB_ENTER | MB_ICONASTERISK, hwnd, 4645 GetPString(IDS_WARNINGTEXT), 4646 GetPString(IDS_DOESNTEXISTTEXT), szStateName); 4647 } 4648 else if (!size) 4649 Runtime_Error2(pszSrcFile, __LINE__, IDS_NODATATEXT); 4650 else { 4651 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0L); 4652 for (x = 0; x < numsaves; x++) { 4653 sprintf(s, "%s.DirCnrPos.%lu", szStateName, x); 4654 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4655 sprintf(s, "%s.DirCnrDir.%lu", szStateName, x); 4656 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4657 sprintf(s, "%s.DirCnrSort.%lu", szStateName, x); 4658 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4659 sprintf(s, "%s.DirCnrFilter.%lu", szStateName, x); 4660 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4661 sprintf(s, "%s.DirCnrView.%lu", szStateName, x); 4662 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4663 sprintf(s, "%s.DirCnr.%lu.DetailsLongname", szStateName, x); 4664 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4665 sprintf(s, "%s.DirCnr.%lu.DetailsSubject", szStateName, x); 4666 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4667 sprintf(s, "%s.DirCnr.%lu.DetailsSize", szStateName, x); 4668 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4669 sprintf(s, "%s.DirCnr.%lu.DetailsEA", szStateName, x); 4670 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4671 sprintf(s, "%s.DirCnr.%lu.DetailsAttr", szStateName, x); 4672 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4673 sprintf(s, "%s.DirCnr.%lu.DetailsIcon", szStateName, x); 4674 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4675 sprintf(s, "%s.DirCnr.%lu.DetailsLWDate", szStateName, x); 4676 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4677 sprintf(s, "%s.DirCnr.%lu.DetailsLWTime", szStateName, x); 4678 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4679 sprintf(s, "%s.DirCnr.%lu.DetailsLADate", szStateName, x); 4680 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4681 sprintf(s, "%s.DirCnr.%lu.DetailsLATime", szStateName, x); 4682 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4683 sprintf(s, "%s.DirCnr.%lu.DetailsCRDate", szStateName, x); 4684 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4685 sprintf(s, "%s.DirCnr.%lu.DetailsCRTime", szStateName, x); 4686 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4687 sprintf(s, "%s.DirCnr.%lu.Backgroundcolor", szStateName, x); 4688 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4689 sprintf(s, "%s.DirCnr.%lu.Fontnamesize", szStateName, x); 4690 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4691 } 4692 sprintf(s, "%s.LastTreePos", szStateName); 4693 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4694 sprintf(s, "%s.MySizeLastTime", szStateName); 4695 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4696 } 4697 PostMsg(hwnd, UM_FILLSETUPLIST, MPVOID, MPVOID); 4602 else if (*szStateName) 4603 { 4604 BOOL fAbortOperation = FALSE; 4605 if (!fNoSaveState && fSaveState && stricmp(szStateName, GetPString(IDS_SHUTDOWNSTATE)) == 0) 4606 { 4607 if (saymsg(MB_YESNO | MB_DEFBUTTON2 | MB_ICONASTERISK, hwnd, 4608 GetPString(IDS_WARNINGTEXT), 4609 "\"%s\" is the state name used by 'Save directory container state'. Any changes to this state will last only until FM/2 closes or this setting is disabled. Proceed with this change?", szStateName) == MBID_NO) 4610 fAbortOperation = TRUE; 4611 } 4612 if (!fAbortOperation) { 4613 if (SHORT1FROMMP(mp1) == IDM_SAVEDIRCNRSTATE) { 4614 // Save 4615 INT nSaved = SaveDirCnrState(hwnd, szStateName); 4616 if (nSaved > 0) { 4617 INT ret = add_setup(szStateName); 4618 if (ret == 0) { 4619 WinSendMsg(hwndStatelist, LM_INSERTITEM, 4620 MPFROM2SHORT(LIT_SORTASCENDING, 0), MPFROMP(szStateName)); 4621 save_setups(); 4622 } 4623 else if (ret != 1) { 4624 saymsg(MB_ENTER | MB_ICONASTERISK, hwnd, 4625 GetPString(IDS_WARNINGTEXT), 4626 "\"%s\" state name add failed", szStateName); // 15 Apr 07 SHL failed 4627 WinSetWindowText(hwndStatelist, GetPString(IDS_STATETEXT)); 4628 } 4629 } 4630 else { 4631 saymsg(MB_ENTER | MB_ICONASTERISK, 4632 hwnd, 4633 GetPString(IDS_WARNINGTEXT), 4634 nSaved == 0 ? 4635 "Nothing to save" : 4636 "State data save failed"); 4637 WinSetWindowText(hwndStatelist, GetPString(IDS_STATETEXT)); 4638 } 4639 } 4640 else { 4641 // Delete 4642 ULONG numsaves = 0, size, x; 4643 CHAR s[STATE_NAME_MAX_BYTES + 80]; 4644 4645 INT ret = remove_setup(szStateName); 4646 if (ret == 1) 4647 save_setups(); 4648 sprintf(s, "%s.NumDirsLastTime", szStateName); 4649 size = sizeof(ULONG); 4650 if (!PrfQueryProfileData(fmprof, 4651 FM3Str, 4652 s, 4653 (PVOID)&numsaves, 4654 &size)) { 4655 saymsg(MB_ENTER | MB_ICONASTERISK, hwnd, 4656 GetPString(IDS_WARNINGTEXT), 4657 GetPString(IDS_DOESNTEXISTTEXT), szStateName); 4658 } 4659 else if (!size) 4660 Runtime_Error2(pszSrcFile, __LINE__, IDS_NODATATEXT); 4661 else { 4662 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0L); 4663 for (x = 0; x < numsaves; x++) { 4664 sprintf(s, "%s.DirCnrPos.%lu", szStateName, x); 4665 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4666 sprintf(s, "%s.DirCnrDir.%lu", szStateName, x); 4667 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4668 sprintf(s, "%s.DirCnrSort.%lu", szStateName, x); 4669 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4670 sprintf(s, "%s.DirCnrFilter.%lu", szStateName, x); 4671 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4672 sprintf(s, "%s.DirCnrView.%lu", szStateName, x); 4673 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4674 sprintf(s, "%s.DirCnr.%lu.DetailsLongname", szStateName, x); 4675 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4676 sprintf(s, "%s.DirCnr.%lu.DetailsSubject", szStateName, x); 4677 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4678 sprintf(s, "%s.DirCnr.%lu.DetailsSize", szStateName, x); 4679 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4680 sprintf(s, "%s.DirCnr.%lu.DetailsEA", szStateName, x); 4681 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4682 sprintf(s, "%s.DirCnr.%lu.DetailsAttr", szStateName, x); 4683 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4684 sprintf(s, "%s.DirCnr.%lu.DetailsIcon", szStateName, x); 4685 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4686 sprintf(s, "%s.DirCnr.%lu.DetailsLWDate", szStateName, x); 4687 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4688 sprintf(s, "%s.DirCnr.%lu.DetailsLWTime", szStateName, x); 4689 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4690 sprintf(s, "%s.DirCnr.%lu.DetailsLADate", szStateName, x); 4691 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4692 sprintf(s, "%s.DirCnr.%lu.DetailsLATime", szStateName, x); 4693 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4694 sprintf(s, "%s.DirCnr.%lu.DetailsCRDate", szStateName, x); 4695 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4696 sprintf(s, "%s.DirCnr.%lu.DetailsCRTime", szStateName, x); 4697 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4698 sprintf(s, "%s.DirCnr.%lu.Backgroundcolor", szStateName, x); 4699 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4700 sprintf(s, "%s.DirCnr.%lu.Fontnamesize", szStateName, x); 4701 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4702 } 4703 sprintf(s, "%s.LastTreePos", szStateName); 4704 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4705 sprintf(s, "%s.MySizeLastTime", szStateName); 4706 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 4707 } 4708 PostMsg(hwnd, UM_FILLSETUPLIST, MPVOID, MPVOID); 4709 } 4698 4710 } 4699 4711 } … … 5711 5723 case UM_SETUP3: 5712 5724 /* start remaining child windows */ 5713 if (!fNoSaveState && fSaveState) 5714 PostMsg(MainObjectHwnd, UM_RESTORE, MPFROMP(GetPString(IDS_SHUTDOWNSTATE)), MPVOID); 5725 if (!fNoSaveState && fSaveState) { 5726 PSZ pStatename = GetPString(IDS_SHUTDOWNSTATE); 5727 PostMsg(MainObjectHwnd, UM_RESTORE, MPFROMP(pStatename), MPVOID); 5728 if (!add_setup(pStatename)) 5729 save_setups(); 5730 } 5715 5731 PostMsg(MainObjectHwnd, UM_SETUP4, mp1, mp2); 5716 5732 return 0;
Note:
See TracChangeset
for help on using the changeset viewer.