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