blob: c9531fae9aeb11c67e166b81ecf9d5ec7ce01a52 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
// OptionsDialog.cpp
#include "StdAfx.h"
#include "Windows/Control/PropertyPage.h"
#include "../FileManager/DialogSize.h"
#include "../FileManager/LangUtils.h"
#include "FoldersPage.h"
#include "FoldersPageRes.h"
#include "OptionsDialog.h"
#include "MenuPage.h"
#include "MenuPageRes.h"
#include "resource.h"
using namespace NWindows;
static INT_PTR OptionsDialog(HWND hwndOwner)
{
CMenuPage systemPage;
CFoldersPage foldersPage;
UINT32 langIDs[] = { 0x01000300, 0x01000200};
BIG_DIALOG_SIZE(200, 200);
UINT pageIDs[] = { SIZED_DIALOG(IDD_MENU), SIZED_DIALOG(IDD_FOLDERS) };
NControl::CPropertyPage *pagePinters[] = { &systemPage, &foldersPage };
CObjectVector<NControl::CPageInfo> pages;
const int kNumPages = ARRAY_SIZE(langIDs);
for (int i = 0; i < kNumPages; i++)
{
NControl::CPageInfo page;
page.Title = LangString(langIDs[i]);
page.ID = pageIDs[i];
page.Page = pagePinters[i];
pages.Add(page);
}
return NControl::MyPropertySheet(pages, hwndOwner,
LangString(IDS_CONFIG_DIALOG_CAPTION, 0x01000000));
}
STDMETHODIMP CSevenZipOptions::PluginOptions(HWND hWnd,
IPluginOptionsCallback * /* callback */)
{
/*
CComBSTR programPath;
RINOK(callback->GetProgramPath(programName)));
*/
OptionsDialog(hWnd);
return S_OK;
}
STDMETHODIMP CSevenZipOptions::GetFileExtensions(BSTR * /* extensions */)
{
/*
UString extStrings;
CObjectVector<NZipRootRegistry::CArchiverInfo> formats;
NZipRootRegistry::ReadArchiverInfoList(formats);
for(int i = 0; i < formats.Size(); i++)
{
if (i != 0)
extStrings += L' ';
extStrings += formats[i].Extension;
}
CComBSTR valueTemp = extStrings;
*extensions = valueTemp.Detach();
return S_OK;
*/
return E_NOTIMPL;
}
|