xref: /aosp_15_r20/external/lzma/CPP/7zip/UI/FileManager/ViewSettings.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // ViewSettings.h
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_VIEW_SETTINGS_H
4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_VIEW_SETTINGS_H
5*f6dc9357SAndroid Build Coastguard Worker 
6*f6dc9357SAndroid Build Coastguard Worker #include "../../../Common/MyTypes.h"
7*f6dc9357SAndroid Build Coastguard Worker #include "../../../Common/MyString.h"
8*f6dc9357SAndroid Build Coastguard Worker 
9*f6dc9357SAndroid Build Coastguard Worker struct CColumnInfo
10*f6dc9357SAndroid Build Coastguard Worker {
11*f6dc9357SAndroid Build Coastguard Worker   PROPID PropID;
12*f6dc9357SAndroid Build Coastguard Worker   bool IsVisible;
13*f6dc9357SAndroid Build Coastguard Worker   UInt32 Width;
14*f6dc9357SAndroid Build Coastguard Worker 
IsEqualCColumnInfo15*f6dc9357SAndroid Build Coastguard Worker   bool IsEqual(const CColumnInfo &a) const
16*f6dc9357SAndroid Build Coastguard Worker   {
17*f6dc9357SAndroid Build Coastguard Worker     return PropID == a.PropID && IsVisible == a.IsVisible && Width == a.Width;
18*f6dc9357SAndroid Build Coastguard Worker   }
19*f6dc9357SAndroid Build Coastguard Worker };
20*f6dc9357SAndroid Build Coastguard Worker 
21*f6dc9357SAndroid Build Coastguard Worker struct CListViewInfo
22*f6dc9357SAndroid Build Coastguard Worker {
23*f6dc9357SAndroid Build Coastguard Worker   CRecordVector<CColumnInfo> Columns;
24*f6dc9357SAndroid Build Coastguard Worker   PROPID SortID;
25*f6dc9357SAndroid Build Coastguard Worker   bool Ascending;
26*f6dc9357SAndroid Build Coastguard Worker   bool IsLoaded;
27*f6dc9357SAndroid Build Coastguard Worker 
ClearCListViewInfo28*f6dc9357SAndroid Build Coastguard Worker   void Clear()
29*f6dc9357SAndroid Build Coastguard Worker   {
30*f6dc9357SAndroid Build Coastguard Worker     SortID = 0;
31*f6dc9357SAndroid Build Coastguard Worker     Ascending = true;
32*f6dc9357SAndroid Build Coastguard Worker     IsLoaded = false;
33*f6dc9357SAndroid Build Coastguard Worker     Columns.Clear();
34*f6dc9357SAndroid Build Coastguard Worker   }
35*f6dc9357SAndroid Build Coastguard Worker 
CListViewInfoCListViewInfo36*f6dc9357SAndroid Build Coastguard Worker   CListViewInfo():
37*f6dc9357SAndroid Build Coastguard Worker     SortID(0),
38*f6dc9357SAndroid Build Coastguard Worker     Ascending(true),
39*f6dc9357SAndroid Build Coastguard Worker     IsLoaded(false)
40*f6dc9357SAndroid Build Coastguard Worker     {}
41*f6dc9357SAndroid Build Coastguard Worker 
42*f6dc9357SAndroid Build Coastguard Worker   /*
43*f6dc9357SAndroid Build Coastguard Worker   int FindColumnWithID(PROPID propID) const
44*f6dc9357SAndroid Build Coastguard Worker   {
45*f6dc9357SAndroid Build Coastguard Worker     FOR_VECTOR (i, Columns)
46*f6dc9357SAndroid Build Coastguard Worker       if (Columns[i].PropID == propID)
47*f6dc9357SAndroid Build Coastguard Worker         return i;
48*f6dc9357SAndroid Build Coastguard Worker     return -1;
49*f6dc9357SAndroid Build Coastguard Worker   }
50*f6dc9357SAndroid Build Coastguard Worker   */
51*f6dc9357SAndroid Build Coastguard Worker 
IsEqualCListViewInfo52*f6dc9357SAndroid Build Coastguard Worker   bool IsEqual(const CListViewInfo &info) const
53*f6dc9357SAndroid Build Coastguard Worker   {
54*f6dc9357SAndroid Build Coastguard Worker     if (Columns.Size() != info.Columns.Size() ||
55*f6dc9357SAndroid Build Coastguard Worker         SortID != info.SortID ||
56*f6dc9357SAndroid Build Coastguard Worker         Ascending != info.Ascending)
57*f6dc9357SAndroid Build Coastguard Worker       return false;
58*f6dc9357SAndroid Build Coastguard Worker     FOR_VECTOR (i, Columns)
59*f6dc9357SAndroid Build Coastguard Worker       if (!Columns[i].IsEqual(info.Columns[i]))
60*f6dc9357SAndroid Build Coastguard Worker         return false;
61*f6dc9357SAndroid Build Coastguard Worker     return true;
62*f6dc9357SAndroid Build Coastguard Worker   }
63*f6dc9357SAndroid Build Coastguard Worker 
64*f6dc9357SAndroid Build Coastguard Worker   void Save(const UString &id) const;
65*f6dc9357SAndroid Build Coastguard Worker   void Read(const UString &id);
66*f6dc9357SAndroid Build Coastguard Worker };
67*f6dc9357SAndroid Build Coastguard Worker 
68*f6dc9357SAndroid Build Coastguard Worker 
69*f6dc9357SAndroid Build Coastguard Worker struct CWindowInfo
70*f6dc9357SAndroid Build Coastguard Worker {
71*f6dc9357SAndroid Build Coastguard Worker   RECT rect;
72*f6dc9357SAndroid Build Coastguard Worker   bool maximized;
73*f6dc9357SAndroid Build Coastguard Worker 
74*f6dc9357SAndroid Build Coastguard Worker   UInt32 numPanels;
75*f6dc9357SAndroid Build Coastguard Worker   UInt32 currentPanel;
76*f6dc9357SAndroid Build Coastguard Worker   UInt32 splitterPos;
77*f6dc9357SAndroid Build Coastguard Worker 
78*f6dc9357SAndroid Build Coastguard Worker   void Save() const;
79*f6dc9357SAndroid Build Coastguard Worker   void Read(bool &windowPosDefined, bool &panelInfoDefined);
80*f6dc9357SAndroid Build Coastguard Worker };
81*f6dc9357SAndroid Build Coastguard Worker 
82*f6dc9357SAndroid Build Coastguard Worker void SaveToolbarsMask(UInt32 toolbarMask);
83*f6dc9357SAndroid Build Coastguard Worker UInt32 ReadToolbarsMask();
84*f6dc9357SAndroid Build Coastguard Worker 
85*f6dc9357SAndroid Build Coastguard Worker const UInt32 kListMode_Report = 3;
86*f6dc9357SAndroid Build Coastguard Worker 
87*f6dc9357SAndroid Build Coastguard Worker struct CListMode
88*f6dc9357SAndroid Build Coastguard Worker {
89*f6dc9357SAndroid Build Coastguard Worker   UInt32 Panels[2];
90*f6dc9357SAndroid Build Coastguard Worker 
InitCListMode91*f6dc9357SAndroid Build Coastguard Worker   void Init() { Panels[0] = Panels[1] = kListMode_Report; }
CListModeCListMode92*f6dc9357SAndroid Build Coastguard Worker   CListMode() { Init(); }
93*f6dc9357SAndroid Build Coastguard Worker 
94*f6dc9357SAndroid Build Coastguard Worker   void Save() const ;
95*f6dc9357SAndroid Build Coastguard Worker   void Read();
96*f6dc9357SAndroid Build Coastguard Worker };
97*f6dc9357SAndroid Build Coastguard Worker 
98*f6dc9357SAndroid Build Coastguard Worker 
99*f6dc9357SAndroid Build Coastguard Worker 
100*f6dc9357SAndroid Build Coastguard Worker void SavePanelPath(UInt32 panel, const UString &path);
101*f6dc9357SAndroid Build Coastguard Worker bool ReadPanelPath(UInt32 panel, UString &path);
102*f6dc9357SAndroid Build Coastguard Worker 
103*f6dc9357SAndroid Build Coastguard Worker 
104*f6dc9357SAndroid Build Coastguard Worker void SaveFolderHistory(const UStringVector &folders);
105*f6dc9357SAndroid Build Coastguard Worker void ReadFolderHistory(UStringVector &folders);
106*f6dc9357SAndroid Build Coastguard Worker 
107*f6dc9357SAndroid Build Coastguard Worker void SaveFastFolders(const UStringVector &folders);
108*f6dc9357SAndroid Build Coastguard Worker void ReadFastFolders(UStringVector &folders);
109*f6dc9357SAndroid Build Coastguard Worker 
110*f6dc9357SAndroid Build Coastguard Worker void SaveCopyHistory(const UStringVector &folders);
111*f6dc9357SAndroid Build Coastguard Worker void ReadCopyHistory(UStringVector &folders);
112*f6dc9357SAndroid Build Coastguard Worker 
113*f6dc9357SAndroid Build Coastguard Worker void AddUniqueStringToHeadOfList(UStringVector &list, const UString &s);
114*f6dc9357SAndroid Build Coastguard Worker 
115*f6dc9357SAndroid Build Coastguard Worker #endif
116