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/FileManager/Resource/EditPage/EditPage.cpp')
-rwxr-xr-xCPP/7zip/FileManager/Resource/EditPage/EditPage.cpp91
1 files changed, 91 insertions, 0 deletions
diff --git a/CPP/7zip/FileManager/Resource/EditPage/EditPage.cpp b/CPP/7zip/FileManager/Resource/EditPage/EditPage.cpp
new file mode 100755
index 00000000..0e6e1d71
--- /dev/null
+++ b/CPP/7zip/FileManager/Resource/EditPage/EditPage.cpp
@@ -0,0 +1,91 @@
+// EditPage.cpp
+
+#include "StdAfx.h"
+#include "resource.h"
+#include "EditPage.h"
+
+#include "Common/StringConvert.h"
+
+#include "Windows/Defs.h"
+#include "Windows/CommonDialog.h"
+// #include "Windows/FileFind.h"
+// #include "Windows/FileDir.h"
+
+#include "../../RegistryUtils.h"
+#include "../../HelpUtils.h"
+#include "../../LangUtils.h"
+#include "../../ProgramLocation.h"
+
+using namespace NWindows;
+
+static CIDLangPair kIDLangPairs[] =
+{
+ { IDC_EDIT_STATIC_EDITOR, 0x03010201}
+};
+
+static LPCWSTR kEditTopic = L"FM/options.htm#editor";
+
+bool CEditPage::OnInit()
+{
+ LangSetDlgItemsText(HWND(*this), kIDLangPairs, sizeof(kIDLangPairs) / sizeof(kIDLangPairs[0]));
+
+ _editorEdit.Attach(GetItem(IDC_EDIT_EDIT_EDITOR));
+ UString editorPath;
+ ReadRegEditor(editorPath);
+ _editorEdit.SetText(editorPath);
+ return CPropertyPage::OnInit();
+}
+
+LONG CEditPage::OnApply()
+{
+ // int selectedIndex = _langCombo.GetCurSel();
+ // int pathIndex = _langCombo.GetItemData(selectedIndex);
+ // ReloadLang();
+ UString editorPath;
+ _editorEdit.GetText(editorPath);
+ SaveRegEditor(editorPath);
+ return PSNRET_NOERROR;
+}
+
+void CEditPage::OnNotifyHelp()
+{
+ ShowHelpWindow(NULL, kEditTopic); // change it
+}
+
+bool CEditPage::OnButtonClicked(int aButtonID, HWND aButtonHWND)
+{
+ switch(aButtonID)
+ {
+ case IDC_EDIT_BUTTON_SET:
+ {
+ OnSetEditorButton();
+ // if (!NShell::BrowseForFolder(HWND(*this), title, currentPath, aResultPath))
+ // return;
+ return true;
+ }
+ }
+ return CPropertyPage::OnButtonClicked(aButtonID, aButtonHWND);
+}
+
+void CEditPage::OnSetEditorButton()
+{
+ UString editorPath;
+ _editorEdit.GetText(editorPath);
+ UString resPath;
+ if(!MyGetOpenFileName(HWND(*this), 0, editorPath, L"*.exe", resPath))
+ return;
+ _editorEdit.SetText(resPath);
+ // Changed();
+}
+
+bool CEditPage::OnCommand(int code, int itemID, LPARAM param)
+{
+ if (code == EN_CHANGE && itemID == IDC_EDIT_EDIT_EDITOR)
+ {
+ Changed();
+ return true;
+ }
+ return CPropertyPage::OnCommand(code, itemID, param);
+}
+
+