xref: /aosp_15_r20/external/lzma/CPP/7zip/UI/GUI/ExtractDialog.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // ExtractDialog.h
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_EXTRACT_DIALOG_H
4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_EXTRACT_DIALOG_H
5*f6dc9357SAndroid Build Coastguard Worker 
6*f6dc9357SAndroid Build Coastguard Worker #include "ExtractDialogRes.h"
7*f6dc9357SAndroid Build Coastguard Worker 
8*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/Control/ComboBox.h"
9*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/Control/Edit.h"
10*f6dc9357SAndroid Build Coastguard Worker 
11*f6dc9357SAndroid Build Coastguard Worker #include "../Common/ExtractMode.h"
12*f6dc9357SAndroid Build Coastguard Worker 
13*f6dc9357SAndroid Build Coastguard Worker #include "../FileManager/DialogSize.h"
14*f6dc9357SAndroid Build Coastguard Worker 
15*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_NO_REGISTRY
16*f6dc9357SAndroid Build Coastguard Worker #include "../Common/ZipRegistry.h"
17*f6dc9357SAndroid Build Coastguard Worker #endif
18*f6dc9357SAndroid Build Coastguard Worker 
19*f6dc9357SAndroid Build Coastguard Worker namespace NExtractionDialog
20*f6dc9357SAndroid Build Coastguard Worker {
21*f6dc9357SAndroid Build Coastguard Worker   /*
22*f6dc9357SAndroid Build Coastguard Worker   namespace NFilesMode
23*f6dc9357SAndroid Build Coastguard Worker   {
24*f6dc9357SAndroid Build Coastguard Worker     enum EEnum
25*f6dc9357SAndroid Build Coastguard Worker     {
26*f6dc9357SAndroid Build Coastguard Worker       kSelected,
27*f6dc9357SAndroid Build Coastguard Worker       kAll,
28*f6dc9357SAndroid Build Coastguard Worker       kSpecified
29*f6dc9357SAndroid Build Coastguard Worker     };
30*f6dc9357SAndroid Build Coastguard Worker   }
31*f6dc9357SAndroid Build Coastguard Worker   */
32*f6dc9357SAndroid Build Coastguard Worker }
33*f6dc9357SAndroid Build Coastguard Worker 
34*f6dc9357SAndroid Build Coastguard Worker class CExtractDialog: public NWindows::NControl::CModalDialog
35*f6dc9357SAndroid Build Coastguard Worker {
36*f6dc9357SAndroid Build Coastguard Worker   #ifdef Z7_NO_REGISTRY
37*f6dc9357SAndroid Build Coastguard Worker   NWindows::NControl::CDialogChildControl _path;
38*f6dc9357SAndroid Build Coastguard Worker   #else
39*f6dc9357SAndroid Build Coastguard Worker   NWindows::NControl::CComboBox _path;
40*f6dc9357SAndroid Build Coastguard Worker   #endif
41*f6dc9357SAndroid Build Coastguard Worker 
42*f6dc9357SAndroid Build Coastguard Worker   #ifndef Z7_SFX
43*f6dc9357SAndroid Build Coastguard Worker   NWindows::NControl::CEdit _pathName;
44*f6dc9357SAndroid Build Coastguard Worker   NWindows::NControl::CEdit _passwordControl;
45*f6dc9357SAndroid Build Coastguard Worker   NWindows::NControl::CComboBox _pathMode;
46*f6dc9357SAndroid Build Coastguard Worker   NWindows::NControl::CComboBox _overwriteMode;
47*f6dc9357SAndroid Build Coastguard Worker   #endif
48*f6dc9357SAndroid Build Coastguard Worker 
49*f6dc9357SAndroid Build Coastguard Worker   #ifndef Z7_SFX
50*f6dc9357SAndroid Build Coastguard Worker   // int GetFilesMode() const;
51*f6dc9357SAndroid Build Coastguard Worker   void UpdatePasswordControl();
52*f6dc9357SAndroid Build Coastguard Worker   #endif
53*f6dc9357SAndroid Build Coastguard Worker 
54*f6dc9357SAndroid Build Coastguard Worker   void OnButtonSetPath();
55*f6dc9357SAndroid Build Coastguard Worker 
56*f6dc9357SAndroid Build Coastguard Worker   void CheckButton_TwoBools(UINT id, const CBoolPair &b1, const CBoolPair &b2);
57*f6dc9357SAndroid Build Coastguard Worker   void GetButton_Bools(UINT id, CBoolPair &b1, CBoolPair &b2);
58*f6dc9357SAndroid Build Coastguard Worker   virtual bool OnInit() Z7_override;
59*f6dc9357SAndroid Build Coastguard Worker   virtual bool OnButtonClicked(unsigned buttonID, HWND buttonHWND) Z7_override;
60*f6dc9357SAndroid Build Coastguard Worker   virtual void OnOK() Z7_override;
61*f6dc9357SAndroid Build Coastguard Worker 
62*f6dc9357SAndroid Build Coastguard Worker   #ifndef Z7_NO_REGISTRY
63*f6dc9357SAndroid Build Coastguard Worker 
64*f6dc9357SAndroid Build Coastguard Worker   virtual void OnHelp() Z7_override;
65*f6dc9357SAndroid Build Coastguard Worker 
66*f6dc9357SAndroid Build Coastguard Worker   NExtract::CInfo _info;
67*f6dc9357SAndroid Build Coastguard Worker 
68*f6dc9357SAndroid Build Coastguard Worker   #endif
69*f6dc9357SAndroid Build Coastguard Worker 
IsShowPasswordChecked()70*f6dc9357SAndroid Build Coastguard Worker   bool IsShowPasswordChecked() const { return IsButtonCheckedBool(IDX_PASSWORD_SHOW); }
71*f6dc9357SAndroid Build Coastguard Worker public:
72*f6dc9357SAndroid Build Coastguard Worker   // bool _enableSelectedFilesButton;
73*f6dc9357SAndroid Build Coastguard Worker   // bool _enableFilesButton;
74*f6dc9357SAndroid Build Coastguard Worker   // NExtractionDialog::NFilesMode::EEnum FilesMode;
75*f6dc9357SAndroid Build Coastguard Worker 
76*f6dc9357SAndroid Build Coastguard Worker   UString DirPath;
77*f6dc9357SAndroid Build Coastguard Worker   UString ArcPath;
78*f6dc9357SAndroid Build Coastguard Worker 
79*f6dc9357SAndroid Build Coastguard Worker   #ifndef Z7_SFX
80*f6dc9357SAndroid Build Coastguard Worker   UString Password;
81*f6dc9357SAndroid Build Coastguard Worker   #endif
82*f6dc9357SAndroid Build Coastguard Worker   bool PathMode_Force;
83*f6dc9357SAndroid Build Coastguard Worker   bool OverwriteMode_Force;
84*f6dc9357SAndroid Build Coastguard Worker   NExtract::NPathMode::EEnum PathMode;
85*f6dc9357SAndroid Build Coastguard Worker   NExtract::NOverwriteMode::EEnum OverwriteMode;
86*f6dc9357SAndroid Build Coastguard Worker 
87*f6dc9357SAndroid Build Coastguard Worker   #ifndef Z7_SFX
88*f6dc9357SAndroid Build Coastguard Worker   // CBoolPair AltStreams;
89*f6dc9357SAndroid Build Coastguard Worker   CBoolPair NtSecurity;
90*f6dc9357SAndroid Build Coastguard Worker   #endif
91*f6dc9357SAndroid Build Coastguard Worker 
92*f6dc9357SAndroid Build Coastguard Worker   CBoolPair ElimDup;
93*f6dc9357SAndroid Build Coastguard Worker 
94*f6dc9357SAndroid Build Coastguard Worker   INT_PTR Create(HWND aWndParent = NULL)
95*f6dc9357SAndroid Build Coastguard Worker   {
96*f6dc9357SAndroid Build Coastguard Worker     #ifdef Z7_SFX
97*f6dc9357SAndroid Build Coastguard Worker     BIG_DIALOG_SIZE(240, 64);
98*f6dc9357SAndroid Build Coastguard Worker     #else
99*f6dc9357SAndroid Build Coastguard Worker     BIG_DIALOG_SIZE(300, 160);
100*f6dc9357SAndroid Build Coastguard Worker     #endif
101*f6dc9357SAndroid Build Coastguard Worker     return CModalDialog::Create(SIZED_DIALOG(IDD_EXTRACT), aWndParent);
102*f6dc9357SAndroid Build Coastguard Worker   }
103*f6dc9357SAndroid Build Coastguard Worker 
CExtractDialog()104*f6dc9357SAndroid Build Coastguard Worker   CExtractDialog():
105*f6dc9357SAndroid Build Coastguard Worker     PathMode_Force(false),
106*f6dc9357SAndroid Build Coastguard Worker     OverwriteMode_Force(false)
107*f6dc9357SAndroid Build Coastguard Worker   {
108*f6dc9357SAndroid Build Coastguard Worker     ElimDup.Val = true;
109*f6dc9357SAndroid Build Coastguard Worker   }
110*f6dc9357SAndroid Build Coastguard Worker 
111*f6dc9357SAndroid Build Coastguard Worker };
112*f6dc9357SAndroid Build Coastguard Worker 
113*f6dc9357SAndroid Build Coastguard Worker #endif
114