1*f6dc9357SAndroid Build Coastguard Worker // App.h 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_APP_H 4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_APP_H 5*f6dc9357SAndroid Build Coastguard Worker 6*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/Control/CommandBar.h" 7*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/Control/ImageList.h" 8*f6dc9357SAndroid Build Coastguard Worker 9*f6dc9357SAndroid Build Coastguard Worker #include "AppState.h" 10*f6dc9357SAndroid Build Coastguard Worker #include "Panel.h" 11*f6dc9357SAndroid Build Coastguard Worker 12*f6dc9357SAndroid Build Coastguard Worker class CApp; 13*f6dc9357SAndroid Build Coastguard Worker 14*f6dc9357SAndroid Build Coastguard Worker extern CApp g_App; 15*f6dc9357SAndroid Build Coastguard Worker extern HWND g_HWND; 16*f6dc9357SAndroid Build Coastguard Worker 17*f6dc9357SAndroid Build Coastguard Worker const unsigned kNumPanelsMax = 2; 18*f6dc9357SAndroid Build Coastguard Worker 19*f6dc9357SAndroid Build Coastguard Worker extern bool g_IsSmallScreen; 20*f6dc9357SAndroid Build Coastguard Worker 21*f6dc9357SAndroid Build Coastguard Worker // must be larger than context menu IDs 22*f6dc9357SAndroid Build Coastguard Worker const int kMenuCmdID_Toolbar_Start = 1070; 23*f6dc9357SAndroid Build Coastguard Worker const int kMenuCmdID_Plugin_Start = 1100; 24*f6dc9357SAndroid Build Coastguard Worker 25*f6dc9357SAndroid Build Coastguard Worker enum 26*f6dc9357SAndroid Build Coastguard Worker { 27*f6dc9357SAndroid Build Coastguard Worker kMenuCmdID_Toolbar_Add = kMenuCmdID_Toolbar_Start, 28*f6dc9357SAndroid Build Coastguard Worker kMenuCmdID_Toolbar_Extract, 29*f6dc9357SAndroid Build Coastguard Worker kMenuCmdID_Toolbar_Test, 30*f6dc9357SAndroid Build Coastguard Worker kMenuCmdID_Toolbar_End 31*f6dc9357SAndroid Build Coastguard Worker }; 32*f6dc9357SAndroid Build Coastguard Worker 33*f6dc9357SAndroid Build Coastguard Worker class CPanelCallbackImp Z7_final: public CPanelCallback 34*f6dc9357SAndroid Build Coastguard Worker { 35*f6dc9357SAndroid Build Coastguard Worker CApp *_app; 36*f6dc9357SAndroid Build Coastguard Worker unsigned _index; 37*f6dc9357SAndroid Build Coastguard Worker public: Init(CApp * app,unsigned index)38*f6dc9357SAndroid Build Coastguard Worker void Init(CApp *app, unsigned index) 39*f6dc9357SAndroid Build Coastguard Worker { 40*f6dc9357SAndroid Build Coastguard Worker _app = app; 41*f6dc9357SAndroid Build Coastguard Worker _index = index; 42*f6dc9357SAndroid Build Coastguard Worker } 43*f6dc9357SAndroid Build Coastguard Worker virtual void OnTab() Z7_override; 44*f6dc9357SAndroid Build Coastguard Worker virtual void SetFocusToPath(unsigned index) Z7_override; 45*f6dc9357SAndroid Build Coastguard Worker virtual void OnCopy(bool move, bool copyToSame) Z7_override; 46*f6dc9357SAndroid Build Coastguard Worker virtual void OnSetSameFolder() Z7_override; 47*f6dc9357SAndroid Build Coastguard Worker virtual void OnSetSubFolder() Z7_override; 48*f6dc9357SAndroid Build Coastguard Worker virtual void PanelWasFocused() Z7_override; 49*f6dc9357SAndroid Build Coastguard Worker virtual void DragBegin() Z7_override; 50*f6dc9357SAndroid Build Coastguard Worker virtual void DragEnd() Z7_override; 51*f6dc9357SAndroid Build Coastguard Worker virtual void RefreshTitle(bool always) Z7_override; 52*f6dc9357SAndroid Build Coastguard Worker }; 53*f6dc9357SAndroid Build Coastguard Worker 54*f6dc9357SAndroid Build Coastguard Worker 55*f6dc9357SAndroid Build Coastguard Worker class CDropTarget; 56*f6dc9357SAndroid Build Coastguard Worker 57*f6dc9357SAndroid Build Coastguard Worker class CApp 58*f6dc9357SAndroid Build Coastguard Worker { 59*f6dc9357SAndroid Build Coastguard Worker public: 60*f6dc9357SAndroid Build Coastguard Worker NWindows::CWindow _window; 61*f6dc9357SAndroid Build Coastguard Worker bool ShowSystemMenu; 62*f6dc9357SAndroid Build Coastguard Worker bool AutoRefresh_Mode; 63*f6dc9357SAndroid Build Coastguard Worker // bool ShowDeletedFiles; 64*f6dc9357SAndroid Build Coastguard Worker unsigned NumPanels; 65*f6dc9357SAndroid Build Coastguard Worker unsigned LastFocusedPanel; 66*f6dc9357SAndroid Build Coastguard Worker 67*f6dc9357SAndroid Build Coastguard Worker bool ShowStandardToolbar; 68*f6dc9357SAndroid Build Coastguard Worker bool ShowArchiveToolbar; 69*f6dc9357SAndroid Build Coastguard Worker bool ShowButtonsLables; 70*f6dc9357SAndroid Build Coastguard Worker bool LargeButtons; 71*f6dc9357SAndroid Build Coastguard Worker 72*f6dc9357SAndroid Build Coastguard Worker CAppState AppState; 73*f6dc9357SAndroid Build Coastguard Worker CPanelCallbackImp m_PanelCallbackImp[kNumPanelsMax]; 74*f6dc9357SAndroid Build Coastguard Worker CPanel Panels[kNumPanelsMax]; 75*f6dc9357SAndroid Build Coastguard Worker 76*f6dc9357SAndroid Build Coastguard Worker NWindows::NControl::CImageList _buttonsImageList; 77*f6dc9357SAndroid Build Coastguard Worker 78*f6dc9357SAndroid Build Coastguard Worker #ifdef UNDER_CE 79*f6dc9357SAndroid Build Coastguard Worker NWindows::NControl::CCommandBar _commandBar; 80*f6dc9357SAndroid Build Coastguard Worker #endif 81*f6dc9357SAndroid Build Coastguard Worker NWindows::NControl::CToolBar _toolBar; 82*f6dc9357SAndroid Build Coastguard Worker 83*f6dc9357SAndroid Build Coastguard Worker CDropTarget *_dropTargetSpec; 84*f6dc9357SAndroid Build Coastguard Worker CMyComPtr<IDropTarget> _dropTarget; 85*f6dc9357SAndroid Build Coastguard Worker 86*f6dc9357SAndroid Build Coastguard Worker UString LangString_N_SELECTED_ITEMS; 87*f6dc9357SAndroid Build Coastguard Worker 88*f6dc9357SAndroid Build Coastguard Worker void ReloadLangItems(); 89*f6dc9357SAndroid Build Coastguard Worker CApp()90*f6dc9357SAndroid Build Coastguard Worker CApp(): 91*f6dc9357SAndroid Build Coastguard Worker _window(NULL), 92*f6dc9357SAndroid Build Coastguard Worker AutoRefresh_Mode(true), 93*f6dc9357SAndroid Build Coastguard Worker NumPanels(2), 94*f6dc9357SAndroid Build Coastguard Worker LastFocusedPanel(0) 95*f6dc9357SAndroid Build Coastguard Worker { 96*f6dc9357SAndroid Build Coastguard Worker SetPanels_AutoRefresh_Mode(); 97*f6dc9357SAndroid Build Coastguard Worker } 98*f6dc9357SAndroid Build Coastguard Worker 99*f6dc9357SAndroid Build Coastguard Worker void CreateDragTarget(); 100*f6dc9357SAndroid Build Coastguard Worker void SetFocusedPanel(unsigned index); 101*f6dc9357SAndroid Build Coastguard Worker void DragBegin(unsigned panelIndex); 102*f6dc9357SAndroid Build Coastguard Worker void DragEnd(); 103*f6dc9357SAndroid Build Coastguard Worker 104*f6dc9357SAndroid Build Coastguard Worker void OnCopy(bool move, bool copyToSame, unsigned srcPanelIndex); 105*f6dc9357SAndroid Build Coastguard Worker void OnSetSameFolder(unsigned srcPanelIndex); 106*f6dc9357SAndroid Build Coastguard Worker void OnSetSubFolder(unsigned srcPanelIndex); 107*f6dc9357SAndroid Build Coastguard Worker 108*f6dc9357SAndroid Build Coastguard Worker HRESULT CreateOnePanel(unsigned panelIndex, const UString &mainPath, const UString &arcFormat, bool needOpenArc, COpenResult &openRes); 109*f6dc9357SAndroid Build Coastguard Worker HRESULT Create(HWND hwnd, const UString &mainPath, const UString &arcFormat, int xSizes[2], bool needOpenArc, COpenResult &openRes); 110*f6dc9357SAndroid Build Coastguard Worker void Read(); 111*f6dc9357SAndroid Build Coastguard Worker void Save(); 112*f6dc9357SAndroid Build Coastguard Worker void ReleaseApp(); 113*f6dc9357SAndroid Build Coastguard Worker 114*f6dc9357SAndroid Build Coastguard Worker // void SetFocus(int panelIndex) { Panels[panelIndex].SetFocusToList(); } SetFocusToLastItem()115*f6dc9357SAndroid Build Coastguard Worker void SetFocusToLastItem() { Panels[LastFocusedPanel].SetFocusToLastRememberedItem(); } GetFocusedPanelIndex()116*f6dc9357SAndroid Build Coastguard Worker unsigned GetFocusedPanelIndex() const { return LastFocusedPanel; } IsPanelVisible(unsigned index)117*f6dc9357SAndroid Build Coastguard Worker bool IsPanelVisible(unsigned index) const { return (NumPanels > 1 || index == LastFocusedPanel); } GetFocusedPanel()118*f6dc9357SAndroid Build Coastguard Worker CPanel &GetFocusedPanel() { return Panels[GetFocusedPanelIndex()]; } 119*f6dc9357SAndroid Build Coastguard Worker 120*f6dc9357SAndroid Build Coastguard Worker // File Menu OpenItem()121*f6dc9357SAndroid Build Coastguard Worker void OpenItem() { GetFocusedPanel().OpenSelectedItems(true); } OpenItemInside(const wchar_t * type)122*f6dc9357SAndroid Build Coastguard Worker void OpenItemInside(const wchar_t *type) { GetFocusedPanel().OpenFocusedItemAsInternal(type); } OpenItemOutside()123*f6dc9357SAndroid Build Coastguard Worker void OpenItemOutside() { GetFocusedPanel().OpenSelectedItems(false); } EditItem(bool useEditor)124*f6dc9357SAndroid Build Coastguard Worker void EditItem(bool useEditor) { GetFocusedPanel().EditItem(useEditor); } Rename()125*f6dc9357SAndroid Build Coastguard Worker void Rename() { GetFocusedPanel().RenameFile(); } CopyTo()126*f6dc9357SAndroid Build Coastguard Worker void CopyTo() { OnCopy(false, false, GetFocusedPanelIndex()); } MoveTo()127*f6dc9357SAndroid Build Coastguard Worker void MoveTo() { OnCopy(true, false, GetFocusedPanelIndex()); } Delete(bool toRecycleBin)128*f6dc9357SAndroid Build Coastguard Worker void Delete(bool toRecycleBin) { GetFocusedPanel().DeleteItems(toRecycleBin); } 129*f6dc9357SAndroid Build Coastguard Worker HRESULT CalculateCrc2(const UString &methodName); 130*f6dc9357SAndroid Build Coastguard Worker void CalculateCrc(const char *methodName); 131*f6dc9357SAndroid Build Coastguard Worker 132*f6dc9357SAndroid Build Coastguard Worker void DiffFiles(const UString &path1, const UString &path2); 133*f6dc9357SAndroid Build Coastguard Worker void DiffFiles(); 134*f6dc9357SAndroid Build Coastguard Worker 135*f6dc9357SAndroid Build Coastguard Worker void VerCtrl(unsigned id); 136*f6dc9357SAndroid Build Coastguard Worker 137*f6dc9357SAndroid Build Coastguard Worker void Split(); 138*f6dc9357SAndroid Build Coastguard Worker void Combine(); Properties()139*f6dc9357SAndroid Build Coastguard Worker void Properties() { GetFocusedPanel().Properties(); } Comment()140*f6dc9357SAndroid Build Coastguard Worker void Comment() { GetFocusedPanel().ChangeComment(); } 141*f6dc9357SAndroid Build Coastguard Worker 142*f6dc9357SAndroid Build Coastguard Worker #ifndef UNDER_CE 143*f6dc9357SAndroid Build Coastguard Worker void Link(); OpenAltStreams()144*f6dc9357SAndroid Build Coastguard Worker void OpenAltStreams() { GetFocusedPanel().OpenAltStreams(); } 145*f6dc9357SAndroid Build Coastguard Worker #endif 146*f6dc9357SAndroid Build Coastguard Worker CreateFolder()147*f6dc9357SAndroid Build Coastguard Worker void CreateFolder() { GetFocusedPanel().CreateFolder(); } CreateFile()148*f6dc9357SAndroid Build Coastguard Worker void CreateFile() { GetFocusedPanel().CreateFile(); } 149*f6dc9357SAndroid Build Coastguard Worker 150*f6dc9357SAndroid Build Coastguard Worker // Edit EditCut()151*f6dc9357SAndroid Build Coastguard Worker void EditCut() { GetFocusedPanel().EditCut(); } EditCopy()152*f6dc9357SAndroid Build Coastguard Worker void EditCopy() { GetFocusedPanel().EditCopy(); } EditPaste()153*f6dc9357SAndroid Build Coastguard Worker void EditPaste() { GetFocusedPanel().EditPaste(); } 154*f6dc9357SAndroid Build Coastguard Worker SelectAll(bool selectMode)155*f6dc9357SAndroid Build Coastguard Worker void SelectAll(bool selectMode) { GetFocusedPanel().SelectAll(selectMode); } InvertSelection()156*f6dc9357SAndroid Build Coastguard Worker void InvertSelection() { GetFocusedPanel().InvertSelection(); } SelectSpec(bool selectMode)157*f6dc9357SAndroid Build Coastguard Worker void SelectSpec(bool selectMode) { GetFocusedPanel().SelectSpec(selectMode); } SelectByType(bool selectMode)158*f6dc9357SAndroid Build Coastguard Worker void SelectByType(bool selectMode) { GetFocusedPanel().SelectByType(selectMode); } 159*f6dc9357SAndroid Build Coastguard Worker Refresh_StatusBar()160*f6dc9357SAndroid Build Coastguard Worker void Refresh_StatusBar() { GetFocusedPanel().Refresh_StatusBar(); } 161*f6dc9357SAndroid Build Coastguard Worker SetListViewMode(UInt32 index)162*f6dc9357SAndroid Build Coastguard Worker void SetListViewMode(UInt32 index) { GetFocusedPanel().SetListViewMode(index); } GetListViewMode()163*f6dc9357SAndroid Build Coastguard Worker UInt32 GetListViewMode() { return GetFocusedPanel().GetListViewMode(); } GetSortID()164*f6dc9357SAndroid Build Coastguard Worker PROPID GetSortID() { return GetFocusedPanel().GetSortID(); } 165*f6dc9357SAndroid Build Coastguard Worker SortItemsWithPropID(PROPID propID)166*f6dc9357SAndroid Build Coastguard Worker void SortItemsWithPropID(PROPID propID) { GetFocusedPanel().SortItemsWithPropID(propID); } 167*f6dc9357SAndroid Build Coastguard Worker OpenRootFolder()168*f6dc9357SAndroid Build Coastguard Worker void OpenRootFolder() { GetFocusedPanel().OpenDrivesFolder(); } OpenParentFolder()169*f6dc9357SAndroid Build Coastguard Worker void OpenParentFolder() { GetFocusedPanel().OpenParentFolder(); } FoldersHistory()170*f6dc9357SAndroid Build Coastguard Worker void FoldersHistory() { GetFocusedPanel().FoldersHistory(); } RefreshView()171*f6dc9357SAndroid Build Coastguard Worker void RefreshView() { GetFocusedPanel().OnReload(); } RefreshAllPanels()172*f6dc9357SAndroid Build Coastguard Worker void RefreshAllPanels() 173*f6dc9357SAndroid Build Coastguard Worker { 174*f6dc9357SAndroid Build Coastguard Worker for (unsigned i = 0; i < NumPanels; i++) 175*f6dc9357SAndroid Build Coastguard Worker { 176*f6dc9357SAndroid Build Coastguard Worker unsigned index = i; 177*f6dc9357SAndroid Build Coastguard Worker if (NumPanels == 1) 178*f6dc9357SAndroid Build Coastguard Worker index = LastFocusedPanel; 179*f6dc9357SAndroid Build Coastguard Worker Panels[index].OnReload(); 180*f6dc9357SAndroid Build Coastguard Worker } 181*f6dc9357SAndroid Build Coastguard Worker } 182*f6dc9357SAndroid Build Coastguard Worker 183*f6dc9357SAndroid Build Coastguard Worker /* 184*f6dc9357SAndroid Build Coastguard Worker void SysIconsWereChanged() 185*f6dc9357SAndroid Build Coastguard Worker { 186*f6dc9357SAndroid Build Coastguard Worker for (unsigned i = 0; i < NumPanels; i++) 187*f6dc9357SAndroid Build Coastguard Worker { 188*f6dc9357SAndroid Build Coastguard Worker unsigned index = i; 189*f6dc9357SAndroid Build Coastguard Worker if (NumPanels == 1) 190*f6dc9357SAndroid Build Coastguard Worker index = LastFocusedPanel; 191*f6dc9357SAndroid Build Coastguard Worker Panels[index].SysIconsWereChanged(); 192*f6dc9357SAndroid Build Coastguard Worker } 193*f6dc9357SAndroid Build Coastguard Worker } 194*f6dc9357SAndroid Build Coastguard Worker */ 195*f6dc9357SAndroid Build Coastguard Worker 196*f6dc9357SAndroid Build Coastguard Worker void SetListSettings(); 197*f6dc9357SAndroid Build Coastguard Worker HRESULT SwitchOnOffOnePanel(); 198*f6dc9357SAndroid Build Coastguard Worker 199*f6dc9357SAndroid Build Coastguard Worker CIntVector _timestampLevels; 200*f6dc9357SAndroid Build Coastguard Worker GetFlatMode()201*f6dc9357SAndroid Build Coastguard Worker bool GetFlatMode() { return Panels[LastFocusedPanel].GetFlatMode(); } 202*f6dc9357SAndroid Build Coastguard Worker GetTimestampLevel()203*f6dc9357SAndroid Build Coastguard Worker int GetTimestampLevel() const { return Panels[LastFocusedPanel]._timestampLevel; } SetTimestampLevel(int level)204*f6dc9357SAndroid Build Coastguard Worker void SetTimestampLevel(int level) 205*f6dc9357SAndroid Build Coastguard Worker { 206*f6dc9357SAndroid Build Coastguard Worker for (unsigned i = 0; i < kNumPanelsMax; i++) 207*f6dc9357SAndroid Build Coastguard Worker { 208*f6dc9357SAndroid Build Coastguard Worker CPanel &panel = Panels[i]; 209*f6dc9357SAndroid Build Coastguard Worker panel._timestampLevel = level; 210*f6dc9357SAndroid Build Coastguard Worker } 211*f6dc9357SAndroid Build Coastguard Worker RedrawListItems_InPanels(); 212*f6dc9357SAndroid Build Coastguard Worker } 213*f6dc9357SAndroid Build Coastguard Worker RedrawListItems_InPanels()214*f6dc9357SAndroid Build Coastguard Worker void RedrawListItems_InPanels() 215*f6dc9357SAndroid Build Coastguard Worker { 216*f6dc9357SAndroid Build Coastguard Worker for (unsigned i = 0; i < kNumPanelsMax; i++) 217*f6dc9357SAndroid Build Coastguard Worker { 218*f6dc9357SAndroid Build Coastguard Worker CPanel &panel = Panels[i]; 219*f6dc9357SAndroid Build Coastguard Worker if (panel.PanelCreated) 220*f6dc9357SAndroid Build Coastguard Worker panel.RedrawListItems(); 221*f6dc9357SAndroid Build Coastguard Worker } 222*f6dc9357SAndroid Build Coastguard Worker } 223*f6dc9357SAndroid Build Coastguard Worker 224*f6dc9357SAndroid Build Coastguard Worker // bool Get_ShowNtfsStrems_Mode() { return Panels[LastFocusedPanel].Get_ShowNtfsStrems_Mode(); } 225*f6dc9357SAndroid Build Coastguard Worker ChangeFlatMode()226*f6dc9357SAndroid Build Coastguard Worker void ChangeFlatMode() { Panels[LastFocusedPanel].ChangeFlatMode(); } 227*f6dc9357SAndroid Build Coastguard Worker // void Change_ShowNtfsStrems_Mode() { Panels[LastFocusedPanel].Change_ShowNtfsStrems_Mode(); } 228*f6dc9357SAndroid Build Coastguard Worker // void Change_ShowDeleted() { ShowDeletedFiles = !ShowDeletedFiles; } 229*f6dc9357SAndroid Build Coastguard Worker Get_AutoRefresh_Mode()230*f6dc9357SAndroid Build Coastguard Worker bool Get_AutoRefresh_Mode() 231*f6dc9357SAndroid Build Coastguard Worker { 232*f6dc9357SAndroid Build Coastguard Worker // return Panels[LastFocusedPanel].Get_ShowNtfsStrems_Mode(); 233*f6dc9357SAndroid Build Coastguard Worker return AutoRefresh_Mode; 234*f6dc9357SAndroid Build Coastguard Worker } Change_AutoRefresh_Mode()235*f6dc9357SAndroid Build Coastguard Worker void Change_AutoRefresh_Mode() 236*f6dc9357SAndroid Build Coastguard Worker { 237*f6dc9357SAndroid Build Coastguard Worker AutoRefresh_Mode = !AutoRefresh_Mode; 238*f6dc9357SAndroid Build Coastguard Worker SetPanels_AutoRefresh_Mode(); 239*f6dc9357SAndroid Build Coastguard Worker } SetPanels_AutoRefresh_Mode()240*f6dc9357SAndroid Build Coastguard Worker void SetPanels_AutoRefresh_Mode() 241*f6dc9357SAndroid Build Coastguard Worker { 242*f6dc9357SAndroid Build Coastguard Worker for (unsigned i = 0; i < kNumPanelsMax; i++) 243*f6dc9357SAndroid Build Coastguard Worker Panels[i].Set_AutoRefresh_Mode(AutoRefresh_Mode); 244*f6dc9357SAndroid Build Coastguard Worker } 245*f6dc9357SAndroid Build Coastguard Worker OpenBookmark(unsigned index)246*f6dc9357SAndroid Build Coastguard Worker void OpenBookmark(unsigned index) { GetFocusedPanel().OpenBookmark(index); } SetBookmark(unsigned index)247*f6dc9357SAndroid Build Coastguard Worker void SetBookmark(unsigned index) { GetFocusedPanel().SetBookmark(index); } 248*f6dc9357SAndroid Build Coastguard Worker 249*f6dc9357SAndroid Build Coastguard Worker void ReloadToolbars(); ReadToolbar()250*f6dc9357SAndroid Build Coastguard Worker void ReadToolbar() 251*f6dc9357SAndroid Build Coastguard Worker { 252*f6dc9357SAndroid Build Coastguard Worker const UInt32 mask = ReadToolbarsMask(); 253*f6dc9357SAndroid Build Coastguard Worker if (mask & ((UInt32)1 << 31)) 254*f6dc9357SAndroid Build Coastguard Worker { 255*f6dc9357SAndroid Build Coastguard Worker ShowButtonsLables = !g_IsSmallScreen; 256*f6dc9357SAndroid Build Coastguard Worker LargeButtons = false; 257*f6dc9357SAndroid Build Coastguard Worker ShowStandardToolbar = ShowArchiveToolbar = true; 258*f6dc9357SAndroid Build Coastguard Worker } 259*f6dc9357SAndroid Build Coastguard Worker else 260*f6dc9357SAndroid Build Coastguard Worker { 261*f6dc9357SAndroid Build Coastguard Worker ShowButtonsLables = ((mask & 1) != 0); 262*f6dc9357SAndroid Build Coastguard Worker LargeButtons = ((mask & 2) != 0); 263*f6dc9357SAndroid Build Coastguard Worker ShowStandardToolbar = ((mask & 4) != 0); 264*f6dc9357SAndroid Build Coastguard Worker ShowArchiveToolbar = ((mask & 8) != 0); 265*f6dc9357SAndroid Build Coastguard Worker } 266*f6dc9357SAndroid Build Coastguard Worker } SaveToolbar()267*f6dc9357SAndroid Build Coastguard Worker void SaveToolbar() 268*f6dc9357SAndroid Build Coastguard Worker { 269*f6dc9357SAndroid Build Coastguard Worker UInt32 mask = 0; 270*f6dc9357SAndroid Build Coastguard Worker if (ShowButtonsLables) mask |= 1; 271*f6dc9357SAndroid Build Coastguard Worker if (LargeButtons) mask |= 2; 272*f6dc9357SAndroid Build Coastguard Worker if (ShowStandardToolbar) mask |= 4; 273*f6dc9357SAndroid Build Coastguard Worker if (ShowArchiveToolbar) mask |= 8; 274*f6dc9357SAndroid Build Coastguard Worker SaveToolbarsMask(mask); 275*f6dc9357SAndroid Build Coastguard Worker } 276*f6dc9357SAndroid Build Coastguard Worker 277*f6dc9357SAndroid Build Coastguard Worker void SaveToolbarChanges(); 278*f6dc9357SAndroid Build Coastguard Worker SwitchStandardToolbar()279*f6dc9357SAndroid Build Coastguard Worker void SwitchStandardToolbar() 280*f6dc9357SAndroid Build Coastguard Worker { 281*f6dc9357SAndroid Build Coastguard Worker ShowStandardToolbar = !ShowStandardToolbar; 282*f6dc9357SAndroid Build Coastguard Worker SaveToolbarChanges(); 283*f6dc9357SAndroid Build Coastguard Worker } SwitchArchiveToolbar()284*f6dc9357SAndroid Build Coastguard Worker void SwitchArchiveToolbar() 285*f6dc9357SAndroid Build Coastguard Worker { 286*f6dc9357SAndroid Build Coastguard Worker ShowArchiveToolbar = !ShowArchiveToolbar; 287*f6dc9357SAndroid Build Coastguard Worker SaveToolbarChanges(); 288*f6dc9357SAndroid Build Coastguard Worker } SwitchButtonsLables()289*f6dc9357SAndroid Build Coastguard Worker void SwitchButtonsLables() 290*f6dc9357SAndroid Build Coastguard Worker { 291*f6dc9357SAndroid Build Coastguard Worker ShowButtonsLables = !ShowButtonsLables; 292*f6dc9357SAndroid Build Coastguard Worker SaveToolbarChanges(); 293*f6dc9357SAndroid Build Coastguard Worker } SwitchLargeButtons()294*f6dc9357SAndroid Build Coastguard Worker void SwitchLargeButtons() 295*f6dc9357SAndroid Build Coastguard Worker { 296*f6dc9357SAndroid Build Coastguard Worker LargeButtons = !LargeButtons; 297*f6dc9357SAndroid Build Coastguard Worker SaveToolbarChanges(); 298*f6dc9357SAndroid Build Coastguard Worker } 299*f6dc9357SAndroid Build Coastguard Worker AddToArchive()300*f6dc9357SAndroid Build Coastguard Worker void AddToArchive() { GetFocusedPanel().AddToArchive(); } ExtractArchives()301*f6dc9357SAndroid Build Coastguard Worker void ExtractArchives() { GetFocusedPanel().ExtractArchives(); } TestArchives()302*f6dc9357SAndroid Build Coastguard Worker void TestArchives() { GetFocusedPanel().TestArchives(); } 303*f6dc9357SAndroid Build Coastguard Worker 304*f6dc9357SAndroid Build Coastguard Worker void OnNotify(int ctrlID, LPNMHDR pnmh); 305*f6dc9357SAndroid Build Coastguard Worker 306*f6dc9357SAndroid Build Coastguard Worker UString PrevTitle; 307*f6dc9357SAndroid Build Coastguard Worker void RefreshTitle(bool always = false); RefreshTitleAlways()308*f6dc9357SAndroid Build Coastguard Worker void RefreshTitleAlways() { RefreshTitle(true); } 309*f6dc9357SAndroid Build Coastguard Worker void RefreshTitlePanel(unsigned panelIndex, bool always = false); 310*f6dc9357SAndroid Build Coastguard Worker 311*f6dc9357SAndroid Build Coastguard Worker void MoveSubWindows(); 312*f6dc9357SAndroid Build Coastguard Worker }; 313*f6dc9357SAndroid Build Coastguard Worker 314*f6dc9357SAndroid Build Coastguard Worker #endif 315