Changeset 557 for trunk/dll/mainwnd.c
- Timestamp:
- Mar 9, 2007, 7:38:41 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/dll/mainwnd.c (modified) (17 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/mainwnd.c
r552 r557 25 25 17 Aug 06 SHL Complain nicer if state name does not exist 26 26 18 Feb 07 GKY More drive type and icon support 27 08 Mar 07 SHL SaveDirCnrState: do not save state of NOPRESCAN volumes 27 28 28 29 ***********************************************************************/ … … 75 76 76 77 static BOOL CloseDirCnrChildren(HWND hwndClient); 77 static BOOL RestoreDirCnrState(HWND hwndClient, CHAR * name, BOOL noview);78 static BOOL RestoreDirCnrState(HWND hwndClient, PSZ pszStateName, BOOL noview); 78 79 79 80 static MRESULT EXPENTRY MainObjectWndProc(HWND hwnd, ULONG msg, MPARAM mp1, … … 2626 2627 } 2627 2628 2628 BOOL SaveDirCnrState(HWND hwndClient, CHAR * name) 2629 /** Save directory container state 2630 * @param hwndClient Client window handle 2631 * @param pszStateName State name to save, NULL to save global state 2632 * @returns TRUE if one or more directory container windows were saved 2633 * @seealso RestoreDirCnrState 2634 */ 2635 2636 BOOL SaveDirCnrState(HWND hwndClient, PSZ pszStateName) 2629 2637 { 2630 /* returns TRUE if any directory container windows existed */2631 2632 2638 HENUM henum; 2633 2639 HWND hwndChild, hwndDir, hwndC; … … 2649 2655 WinSendMsg(hwndC, UM_CONTAINERDIR, MPFROMP(directory), MPVOID); 2650 2656 if (*directory) { 2651 sprintf(s, "%s%sDirCnrPos.%lu", (name) ? name : NullStr, 2652 (name) ? "." : NullStr, numsaves); 2657 if (driveflags[toupper(*directory) - 'A'] & DRIVE_NOPRESCAN) 2658 continue; 2659 sprintf(s, "%s%sDirCnrPos.%lu", pszStateName ? pszStateName : NullStr, 2660 pszStateName ? "." : NullStr, numsaves); 2653 2661 PrfWriteProfileData(fmprof, FM3Str, s, (PVOID) & swp, 2654 2662 sizeof(SWP)); … … 2656 2664 WinQueryWindowPtr(WinWindowFromID(hwndC, DIR_CNR), QWL_USER); 2657 2665 if (dcd) { 2658 sprintf(s, "%s%sDirCnrSort.%lu", (name) ? name : NullStr,2659 (name)? "." : NullStr, numsaves);2666 sprintf(s, "%s%sDirCnrSort.%lu", pszStateName ? pszStateName : NullStr, 2667 pszStateName ? "." : NullStr, numsaves); 2660 2668 PrfWriteProfileData(fmprof, FM3Str, s, (PVOID) & dcd->sortFlags, 2661 2669 sizeof(INT)); 2662 sprintf(s, "%s%sDirCnrFilter.%lu", (name) ? name : NullStr,2663 (name)? "." : NullStr, numsaves);2670 sprintf(s, "%s%sDirCnrFilter.%lu", pszStateName ? pszStateName : NullStr, 2671 pszStateName ? "." : NullStr, numsaves); 2664 2672 PrfWriteProfileData(fmprof, FM3Str, s, (PVOID) & dcd->mask, 2665 2673 sizeof(MASK)); 2666 sprintf(s, "%s%sDirCnrView.%lu", (name) ? name : NullStr,2667 (name)? "." : NullStr, numsaves);2674 sprintf(s, "%s%sDirCnrView.%lu", pszStateName ? pszStateName : NullStr, 2675 pszStateName ? "." : NullStr, numsaves); 2668 2676 flWindowAttr = dcd->flWindowAttr; 2669 2677 if (!fLeaveTree && (flWindowAttr & CV_TREE)) { … … 2685 2693 sizeof(ULONG)); 2686 2694 } 2687 sprintf(s, "%s%sDirCnrDir.%lu", (name) ? name : NullStr,2688 (name)? "." : NullStr, numsaves++);2695 sprintf(s, "%s%sDirCnrDir.%lu", pszStateName ? pszStateName : NullStr, 2696 pszStateName ? "." : NullStr, numsaves++); 2689 2697 PrfWriteProfileString(fmprof, FM3Str, s, directory); 2690 2698 ret = TRUE; … … 2693 2701 } 2694 2702 } 2695 } 2703 } // while 2696 2704 WinEndEnumWindows(henum); 2697 2705 if (ret) { 2698 2706 if (WinQueryWindowPos(hwndTree, &swp)) { 2699 sprintf(s, "%s%sLastTreePos", (name) ? name : NullStr,2700 (name)? "." : NullStr);2707 sprintf(s, "%s%sLastTreePos", pszStateName ? pszStateName : NullStr, 2708 pszStateName ? "." : NullStr); 2701 2709 PrfWriteProfileData(fmprof, FM3Str, s, (PVOID) & swp, sizeof(SWP)); 2702 2710 } 2703 sprintf(s, "%s%sNumDirsLastTime", (name) ? name : NullStr,2704 (name)? "." : NullStr);2711 sprintf(s, "%s%sNumDirsLastTime", pszStateName ? pszStateName : NullStr, 2712 pszStateName ? "." : NullStr); 2705 2713 PrfWriteProfileData(fmprof, FM3Str, s, (PVOID) & numsaves, sizeof(ULONG)); 2706 2714 WinQueryWindowPos(WinQueryWindow(hwndClient, QW_PARENT), &swp); 2707 sprintf(s, "%s%sMySizeLastTime", (name) ? name : NullStr,2708 (name)? "." : NullStr);2715 sprintf(s, "%s%sMySizeLastTime", pszStateName ? pszStateName : NullStr, 2716 pszStateName ? "." : NullStr); 2709 2717 PrfWriteProfileData(fmprof, FM3Str, s, (PVOID) & swp, sizeof(SWP)); 2710 2718 } … … 2746 2754 } 2747 2755 2748 static BOOL RestoreDirCnrState(HWND hwndClient, CHAR * name, BOOL noview) 2756 /** Restore directory container state 2757 * @param hwndClient Client window handle 2758 * @param pszStateName State name to restore, NULL to restore global state 2759 * @returns TRUE if one or more directory containers were opened 2760 * @seealso SaveDirCnrState 2761 */ 2762 2763 static BOOL RestoreDirCnrState(HWND hwndClient, PSZ pszStateName, BOOL noview) 2749 2764 { 2750 /* returns TRUE if a directory container was opened */2751 2752 2765 CHAR s[120], tdir[CCHMAXPATH]; 2753 2766 HWND hwndDir, hwndC; … … 2761 2774 sprintf(s, 2762 2775 "%s%sMySizeLastTime", 2763 (name) ? name : NullStr, (name)? "." : NullStr);2776 pszStateName ? pszStateName : NullStr, pszStateName ? "." : NullStr); 2764 2777 if (!PrfQueryProfileData(fmprof, 2765 2778 FM3Str, … … 2769 2782 size != sizeof(SWP) || !swp.cx || !swp.cy) 2770 2783 WinQueryWindowPos(WinQueryWindow(hwndClient, QW_PARENT), &swpO); 2771 if (! name || !strcmp(name, GetPString(IDS_FM2TEMPTEXT)))2784 if (!pszStateName || !strcmp(pszStateName, GetPString(IDS_FM2TEMPTEXT))) 2772 2785 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0L); 2773 2786 WinQueryWindowPos(WinQueryWindow(hwndClient, QW_PARENT), &swpN); … … 2779 2792 sprintf(s, 2780 2793 "%s%sLastTreePos", 2781 (name) ? (name) : NullStr, (name)? "." : NullStr);2794 pszStateName ? pszStateName : NullStr, pszStateName ? "." : NullStr); 2782 2795 if (PrfQueryProfileData(fmprof, FM3Str, s, (PVOID) & swp, &size)) { 2783 if (! name || !strcmp(name, GetPString(IDS_FM2TEMPTEXT)))2796 if (!pszStateName || !strcmp(pszStateName, GetPString(IDS_FM2TEMPTEXT))) 2784 2797 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0L); 2785 2798 swp.hwnd = hwndTree; … … 2812 2825 sprintf(s, 2813 2826 "%s%sNumDirsLastTime", 2814 (name) ? name : NullStr, (name)? "." : NullStr);2827 pszStateName ? pszStateName : NullStr, pszStateName ? "." : NullStr); 2815 2828 if (PrfQueryProfileData(fmprof, 2816 2829 FM3Str, s, (PVOID) & numsaves, &size) && numsaves) { 2817 if (! name || !strcmp(name, GetPString(IDS_FM2TEMPTEXT)))2830 if (!pszStateName || !strcmp(pszStateName, GetPString(IDS_FM2TEMPTEXT))) 2818 2831 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0L); 2819 2832 for (x = 0; x < numsaves; x++) { 2820 2833 sprintf(s, 2821 2834 "%s%sDirCnrPos.%lu", 2822 (name) ? name : NullStr, (name)? "." : NullStr, x);2835 pszStateName ? pszStateName : NullStr, pszStateName ? "." : NullStr, x); 2823 2836 size = sizeof(SWP); 2824 2837 if (PrfQueryProfileData(fmprof, FM3Str, s, (PVOID) & swp, &size)) { 2825 if (! name || !strcmp(name, GetPString(IDS_FM2TEMPTEXT)))2838 if (!pszStateName || !strcmp(pszStateName, GetPString(IDS_FM2TEMPTEXT))) 2826 2839 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0L); 2827 2840 sprintf(s, 2828 2841 "%s%sDirCnrDir.%lu", 2829 (name) ? name : NullStr, (name)? "." : NullStr, x);2842 pszStateName ? pszStateName : NullStr, pszStateName ? "." : NullStr, x); 2830 2843 size = sizeof(tdir); 2831 2844 if (PrfQueryProfileData(fmprof, FM3Str, s, (PVOID) tdir, &size)) { 2832 if (! name || !strcmp(name, GetPString(IDS_FM2TEMPTEXT)))2845 if (!pszStateName || !strcmp(pszStateName, GetPString(IDS_FM2TEMPTEXT))) 2833 2846 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0L); 2834 2847 hwndDir = (HWND) WinSendMsg(hwndClient, … … 2844 2857 sprintf(s, 2845 2858 "%s%sDirCnrSort.%lu", 2846 (name) ? name : NullStr, (name)? "." : NullStr, x);2859 pszStateName ? pszStateName : NullStr, pszStateName ? "." : NullStr, x); 2847 2860 if (PrfQueryProfileData(fmprof, 2848 2861 FM3Str, … … 2853 2866 dcd->sortFlags = SORT_PATHNAME; 2854 2867 } 2855 if (! name || !strcmp(name, GetPString(IDS_FM2TEMPTEXT)))2868 if (!pszStateName || !strcmp(pszStateName, GetPString(IDS_FM2TEMPTEXT))) 2856 2869 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0L); 2857 2870 size = sizeof(MASK); 2858 2871 sprintf(s, 2859 2872 "%s%sDirCnrFilter.%lu", 2860 (name) ? name : NullStr, (name)? "." : NullStr, x);2873 pszStateName ? pszStateName : NullStr, pszStateName ? "." : NullStr, x); 2861 2874 if (PrfQueryProfileData(fmprof, 2862 2875 FM3Str, … … 2868 2881 } 2869 2882 *(dcd->mask.prompt) = 0; 2870 if (! name || !strcmp(name, GetPString(IDS_FM2TEMPTEXT)))2883 if (!pszStateName || !strcmp(pszStateName, GetPString(IDS_FM2TEMPTEXT))) 2871 2884 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0L); 2872 2885 size = sizeof(ULONG); 2873 2886 sprintf(s, 2874 2887 "%s%sDirCnrView.%lu", 2875 (name) ? name : NullStr, (name)? "." : NullStr, x);2888 pszStateName ? pszStateName : NullStr, pszStateName ? "." : NullStr, x); 2876 2889 if (!noview) { 2877 2890 if (PrfQueryProfileData(fmprof, … … 2897 2910 } 2898 2911 } 2899 if (! name || !strcmp(name, GetPString(IDS_FM2TEMPTEXT)))2912 if (!pszStateName || !strcmp(pszStateName, GetPString(IDS_FM2TEMPTEXT))) 2900 2913 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0L); 2901 2914 } … … 2929 2942 } 2930 2943 } 2931 } 2944 } // for 2932 2945 } 2933 2946 return ret;
Note:
See TracChangeset
for help on using the changeset viewer.
