Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'CPP/7zip/UI/Explorer/OptionsDialog.cpp')
-rwxr-xr-xCPP/7zip/UI/Explorer/OptionsDialog.cpp71
1 files changed, 71 insertions, 0 deletions
diff --git a/CPP/7zip/UI/Explorer/OptionsDialog.cpp b/CPP/7zip/UI/Explorer/OptionsDialog.cpp
new file mode 100755
index 00000000..b7831afd
--- /dev/null
+++ b/CPP/7zip/UI/Explorer/OptionsDialog.cpp
@@ -0,0 +1,71 @@
+// OptionsDialog.cpp
+
+#include "StdAfx.h"
+
+#include "resource.h"
+
+#include "OptionsDialog.h"
+
+#include "Common/StringConvert.h"
+#include "Windows/Control/PropertyPage.h"
+
+#include "../../FileManager/LangUtils.h"
+#include "FoldersPage/FoldersPage.h"
+#include "FoldersPage/resource.h"
+#include "SystemPage/SystemPage.h"
+#include "SystemPage/resource.h"
+
+using namespace NWindows;
+
+static INT_PTR OptionsDialog(HWND hwndOwner)
+{
+ CSystemPage systemPage;
+ CFoldersPage foldersPage;
+ UINT32 langIDs[] = { 0x01000300, 0x01000200};
+ UINT pageIDs[] = { IDD_SYSTEM, IDD_FOLDERS};
+ NControl::CPropertyPage *pagePinters[] = { &systemPage, &foldersPage };
+ CObjectVector<NControl::CPageInfo> pages;
+ const int kNumPages = sizeof(langIDs) / sizeof(langIDs[0]);
+ 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;
+ RETUEN_IF_NOT_S_OK(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;
+}
+
+