xref: /aosp_15_r20/external/lzma/CPP/7zip/UI/FileManager/OptionsDialog.cpp (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // OptionsDialog.cpp
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #include "StdAfx.h"
4*f6dc9357SAndroid Build Coastguard Worker 
5*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/Control/Dialog.h"
6*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/Control/PropertyPage.h"
7*f6dc9357SAndroid Build Coastguard Worker 
8*f6dc9357SAndroid Build Coastguard Worker #include "DialogSize.h"
9*f6dc9357SAndroid Build Coastguard Worker 
10*f6dc9357SAndroid Build Coastguard Worker #include "EditPage.h"
11*f6dc9357SAndroid Build Coastguard Worker #include "EditPageRes.h"
12*f6dc9357SAndroid Build Coastguard Worker #include "FoldersPage.h"
13*f6dc9357SAndroid Build Coastguard Worker #include "FoldersPageRes.h"
14*f6dc9357SAndroid Build Coastguard Worker #include "LangPage.h"
15*f6dc9357SAndroid Build Coastguard Worker #include "LangPageRes.h"
16*f6dc9357SAndroid Build Coastguard Worker #include "MenuPage.h"
17*f6dc9357SAndroid Build Coastguard Worker #include "MenuPageRes.h"
18*f6dc9357SAndroid Build Coastguard Worker #include "SettingsPage.h"
19*f6dc9357SAndroid Build Coastguard Worker #include "SettingsPageRes.h"
20*f6dc9357SAndroid Build Coastguard Worker #include "SystemPage.h"
21*f6dc9357SAndroid Build Coastguard Worker #include "SystemPageRes.h"
22*f6dc9357SAndroid Build Coastguard Worker 
23*f6dc9357SAndroid Build Coastguard Worker #include "App.h"
24*f6dc9357SAndroid Build Coastguard Worker #include "LangUtils.h"
25*f6dc9357SAndroid Build Coastguard Worker #include "MyLoadMenu.h"
26*f6dc9357SAndroid Build Coastguard Worker 
27*f6dc9357SAndroid Build Coastguard Worker #include "resource.h"
28*f6dc9357SAndroid Build Coastguard Worker 
29*f6dc9357SAndroid Build Coastguard Worker using namespace NWindows;
30*f6dc9357SAndroid Build Coastguard Worker 
31*f6dc9357SAndroid Build Coastguard Worker void OptionsDialog(HWND hwndOwner, HINSTANCE hInstance);
OptionsDialog(HWND hwndOwner,HINSTANCE)32*f6dc9357SAndroid Build Coastguard Worker void OptionsDialog(HWND hwndOwner, HINSTANCE /* hInstance */)
33*f6dc9357SAndroid Build Coastguard Worker {
34*f6dc9357SAndroid Build Coastguard Worker   CSystemPage systemPage;
35*f6dc9357SAndroid Build Coastguard Worker   CMenuPage menuPage;
36*f6dc9357SAndroid Build Coastguard Worker   CFoldersPage foldersPage;
37*f6dc9357SAndroid Build Coastguard Worker   CEditPage editPage;
38*f6dc9357SAndroid Build Coastguard Worker   CSettingsPage settingsPage;
39*f6dc9357SAndroid Build Coastguard Worker   CLangPage langPage;
40*f6dc9357SAndroid Build Coastguard Worker 
41*f6dc9357SAndroid Build Coastguard Worker   CObjectVector<NControl::CPageInfo> pages;
42*f6dc9357SAndroid Build Coastguard Worker   BIG_DIALOG_SIZE(200, 200);
43*f6dc9357SAndroid Build Coastguard Worker 
44*f6dc9357SAndroid Build Coastguard Worker   const UINT pageIDs[] = {
45*f6dc9357SAndroid Build Coastguard Worker       SIZED_DIALOG(IDD_SYSTEM),
46*f6dc9357SAndroid Build Coastguard Worker       SIZED_DIALOG(IDD_MENU),
47*f6dc9357SAndroid Build Coastguard Worker       SIZED_DIALOG(IDD_FOLDERS),
48*f6dc9357SAndroid Build Coastguard Worker       SIZED_DIALOG(IDD_EDIT),
49*f6dc9357SAndroid Build Coastguard Worker       SIZED_DIALOG(IDD_SETTINGS),
50*f6dc9357SAndroid Build Coastguard Worker       SIZED_DIALOG(IDD_LANG) };
51*f6dc9357SAndroid Build Coastguard Worker 
52*f6dc9357SAndroid Build Coastguard Worker   NControl::CPropertyPage *pagePointers[] = { &systemPage,  &menuPage, &foldersPage, &editPage, &settingsPage, &langPage };
53*f6dc9357SAndroid Build Coastguard Worker 
54*f6dc9357SAndroid Build Coastguard Worker   for (unsigned i = 0; i < Z7_ARRAY_SIZE(pageIDs); i++)
55*f6dc9357SAndroid Build Coastguard Worker   {
56*f6dc9357SAndroid Build Coastguard Worker     NControl::CPageInfo &page = pages.AddNew();
57*f6dc9357SAndroid Build Coastguard Worker     page.ID = pageIDs[i];
58*f6dc9357SAndroid Build Coastguard Worker     #ifdef Z7_LANG
59*f6dc9357SAndroid Build Coastguard Worker     LangString_OnlyFromLangFile(page.ID, page.Title);
60*f6dc9357SAndroid Build Coastguard Worker     #endif
61*f6dc9357SAndroid Build Coastguard Worker     page.Page = pagePointers[i];
62*f6dc9357SAndroid Build Coastguard Worker   }
63*f6dc9357SAndroid Build Coastguard Worker 
64*f6dc9357SAndroid Build Coastguard Worker   const INT_PTR res = NControl::MyPropertySheet(pages, hwndOwner, LangString(IDS_OPTIONS));
65*f6dc9357SAndroid Build Coastguard Worker 
66*f6dc9357SAndroid Build Coastguard Worker   if (res != -1 && res != 0)
67*f6dc9357SAndroid Build Coastguard Worker   {
68*f6dc9357SAndroid Build Coastguard Worker     if (langPage.LangWasChanged)
69*f6dc9357SAndroid Build Coastguard Worker     {
70*f6dc9357SAndroid Build Coastguard Worker       // g_App._window.SetText(LangString(IDS_APP_TITLE, 0x03000000));
71*f6dc9357SAndroid Build Coastguard Worker       MyLoadMenu(true); // needResetMenu
72*f6dc9357SAndroid Build Coastguard Worker       g_App.ReloadToolbars();
73*f6dc9357SAndroid Build Coastguard Worker       g_App.MoveSubWindows(); // we need it to change list window aafter _toolBar.AutoSize();
74*f6dc9357SAndroid Build Coastguard Worker       g_App.ReloadLangItems();
75*f6dc9357SAndroid Build Coastguard Worker     }
76*f6dc9357SAndroid Build Coastguard Worker 
77*f6dc9357SAndroid Build Coastguard Worker     /*
78*f6dc9357SAndroid Build Coastguard Worker     if (systemPage.WasChanged)
79*f6dc9357SAndroid Build Coastguard Worker     {
80*f6dc9357SAndroid Build Coastguard Worker       // probably it doesn't work, since image list is locked?
81*f6dc9357SAndroid Build Coastguard Worker       g_App.SysIconsWereChanged();
82*f6dc9357SAndroid Build Coastguard Worker     }
83*f6dc9357SAndroid Build Coastguard Worker     */
84*f6dc9357SAndroid Build Coastguard Worker 
85*f6dc9357SAndroid Build Coastguard Worker     g_App.SetListSettings();
86*f6dc9357SAndroid Build Coastguard Worker     g_App.RefreshAllPanels();
87*f6dc9357SAndroid Build Coastguard Worker     // ::PostMessage(hwndOwner, kLangWasChangedMessage, 0 , 0);
88*f6dc9357SAndroid Build Coastguard Worker   }
89*f6dc9357SAndroid Build Coastguard Worker }
90