1*f6dc9357SAndroid Build Coastguard Worker // AboutDialog.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 "../../../../C/CpuArch.h"
6*f6dc9357SAndroid Build Coastguard Worker
7*f6dc9357SAndroid Build Coastguard Worker #include "../../MyVersion.h"
8*f6dc9357SAndroid Build Coastguard Worker
9*f6dc9357SAndroid Build Coastguard Worker #include "../Common/LoadCodecs.h"
10*f6dc9357SAndroid Build Coastguard Worker
11*f6dc9357SAndroid Build Coastguard Worker #include "AboutDialog.h"
12*f6dc9357SAndroid Build Coastguard Worker #include "PropertyNameRes.h"
13*f6dc9357SAndroid Build Coastguard Worker
14*f6dc9357SAndroid Build Coastguard Worker #include "HelpUtils.h"
15*f6dc9357SAndroid Build Coastguard Worker #include "LangUtils.h"
16*f6dc9357SAndroid Build Coastguard Worker
17*f6dc9357SAndroid Build Coastguard Worker #ifdef Z7_LANG
18*f6dc9357SAndroid Build Coastguard Worker static const UInt32 kLangIDs[] =
19*f6dc9357SAndroid Build Coastguard Worker {
20*f6dc9357SAndroid Build Coastguard Worker IDT_ABOUT_INFO
21*f6dc9357SAndroid Build Coastguard Worker };
22*f6dc9357SAndroid Build Coastguard Worker #endif
23*f6dc9357SAndroid Build Coastguard Worker
24*f6dc9357SAndroid Build Coastguard Worker #define kHomePageURL TEXT("https://www.7-zip.org/")
25*f6dc9357SAndroid Build Coastguard Worker #define kHelpTopic "start.htm"
26*f6dc9357SAndroid Build Coastguard Worker
27*f6dc9357SAndroid Build Coastguard Worker #define LLL_(quote) L##quote
28*f6dc9357SAndroid Build Coastguard Worker #define LLL(quote) LLL_(quote)
29*f6dc9357SAndroid Build Coastguard Worker
30*f6dc9357SAndroid Build Coastguard Worker extern CCodecs *g_CodecsObj;
31*f6dc9357SAndroid Build Coastguard Worker
OnInit()32*f6dc9357SAndroid Build Coastguard Worker bool CAboutDialog::OnInit()
33*f6dc9357SAndroid Build Coastguard Worker {
34*f6dc9357SAndroid Build Coastguard Worker #ifdef Z7_EXTERNAL_CODECS
35*f6dc9357SAndroid Build Coastguard Worker if (g_CodecsObj)
36*f6dc9357SAndroid Build Coastguard Worker {
37*f6dc9357SAndroid Build Coastguard Worker UString s;
38*f6dc9357SAndroid Build Coastguard Worker g_CodecsObj->GetCodecsErrorMessage(s);
39*f6dc9357SAndroid Build Coastguard Worker if (!s.IsEmpty())
40*f6dc9357SAndroid Build Coastguard Worker MessageBoxW(GetParent(), s, L"7-Zip", MB_ICONERROR);
41*f6dc9357SAndroid Build Coastguard Worker }
42*f6dc9357SAndroid Build Coastguard Worker #endif
43*f6dc9357SAndroid Build Coastguard Worker
44*f6dc9357SAndroid Build Coastguard Worker #ifdef Z7_LANG
45*f6dc9357SAndroid Build Coastguard Worker LangSetWindowText(*this, IDD_ABOUT);
46*f6dc9357SAndroid Build Coastguard Worker LangSetDlgItems(*this, kLangIDs, Z7_ARRAY_SIZE(kLangIDs));
47*f6dc9357SAndroid Build Coastguard Worker #endif
48*f6dc9357SAndroid Build Coastguard Worker SetItemText(IDT_ABOUT_VERSION, UString("7-Zip " MY_VERSION_CPU));
49*f6dc9357SAndroid Build Coastguard Worker SetItemText(IDT_ABOUT_DATE, LLL(MY_DATE));
50*f6dc9357SAndroid Build Coastguard Worker
51*f6dc9357SAndroid Build Coastguard Worker NormalizePosition();
52*f6dc9357SAndroid Build Coastguard Worker return CModalDialog::OnInit();
53*f6dc9357SAndroid Build Coastguard Worker }
54*f6dc9357SAndroid Build Coastguard Worker
OnHelp()55*f6dc9357SAndroid Build Coastguard Worker void CAboutDialog::OnHelp()
56*f6dc9357SAndroid Build Coastguard Worker {
57*f6dc9357SAndroid Build Coastguard Worker ShowHelpWindow(kHelpTopic);
58*f6dc9357SAndroid Build Coastguard Worker }
59*f6dc9357SAndroid Build Coastguard Worker
OnButtonClicked(unsigned buttonID,HWND buttonHWND)60*f6dc9357SAndroid Build Coastguard Worker bool CAboutDialog::OnButtonClicked(unsigned buttonID, HWND buttonHWND)
61*f6dc9357SAndroid Build Coastguard Worker {
62*f6dc9357SAndroid Build Coastguard Worker LPCTSTR url;
63*f6dc9357SAndroid Build Coastguard Worker switch (buttonID)
64*f6dc9357SAndroid Build Coastguard Worker {
65*f6dc9357SAndroid Build Coastguard Worker case IDB_ABOUT_HOMEPAGE: url = kHomePageURL; break;
66*f6dc9357SAndroid Build Coastguard Worker default:
67*f6dc9357SAndroid Build Coastguard Worker return CModalDialog::OnButtonClicked(buttonID, buttonHWND);
68*f6dc9357SAndroid Build Coastguard Worker }
69*f6dc9357SAndroid Build Coastguard Worker
70*f6dc9357SAndroid Build Coastguard Worker #ifdef UNDER_CE
71*f6dc9357SAndroid Build Coastguard Worker SHELLEXECUTEINFO s;
72*f6dc9357SAndroid Build Coastguard Worker memset(&s, 0, sizeof(s));
73*f6dc9357SAndroid Build Coastguard Worker s.cbSize = sizeof(s);
74*f6dc9357SAndroid Build Coastguard Worker s.lpFile = url;
75*f6dc9357SAndroid Build Coastguard Worker ::ShellExecuteEx(&s);
76*f6dc9357SAndroid Build Coastguard Worker #else
77*f6dc9357SAndroid Build Coastguard Worker ::ShellExecute(NULL, NULL, url, NULL, NULL, SW_SHOWNORMAL);
78*f6dc9357SAndroid Build Coastguard Worker #endif
79*f6dc9357SAndroid Build Coastguard Worker
80*f6dc9357SAndroid Build Coastguard Worker return true;
81*f6dc9357SAndroid Build Coastguard Worker }
82