| // AboutDialog.cpp |
| |
| #include "StdAfx.h" |
| |
| #include "../../../../C/CpuArch.h" |
| |
| #include "../../MyVersion.h" |
| |
| #include "../Common/LoadCodecs.h" |
| |
| #include "AboutDialog.h" |
| #include "PropertyNameRes.h" |
| |
| #include "HelpUtils.h" |
| #include "LangUtils.h" |
| |
| #ifdef Z7_LANG |
| static const UInt32 kLangIDs[] = |
| { |
| IDT_ABOUT_INFO |
| }; |
| #endif |
| |
| #define kHomePageURL TEXT("https://www.7-zip.org/") |
| #define kHelpTopic "start.htm" |
| |
| #define LLL_(quote) L##quote |
| #define LLL(quote) LLL_(quote) |
| |
| extern CCodecs *g_CodecsObj; |
| |
| bool CAboutDialog::OnInit() |
| { |
| #ifdef Z7_EXTERNAL_CODECS |
| if (g_CodecsObj) |
| { |
| UString s; |
| g_CodecsObj->GetCodecsErrorMessage(s); |
| if (!s.IsEmpty()) |
| MessageBoxW(GetParent(), s, L"7-Zip", MB_ICONERROR); |
| } |
| #endif |
| |
| #ifdef Z7_LANG |
| LangSetWindowText(*this, IDD_ABOUT); |
| LangSetDlgItems(*this, kLangIDs, Z7_ARRAY_SIZE(kLangIDs)); |
| #endif |
| SetItemText(IDT_ABOUT_VERSION, UString("7-Zip " MY_VERSION_CPU)); |
| SetItemText(IDT_ABOUT_DATE, LLL(MY_DATE)); |
| |
| NormalizePosition(); |
| return CModalDialog::OnInit(); |
| } |
| |
| void CAboutDialog::OnHelp() |
| { |
| ShowHelpWindow(kHelpTopic); |
| } |
| |
| bool CAboutDialog::OnButtonClicked(unsigned buttonID, HWND buttonHWND) |
| { |
| LPCTSTR url; |
| switch (buttonID) |
| { |
| case IDB_ABOUT_HOMEPAGE: url = kHomePageURL; break; |
| default: |
| return CModalDialog::OnButtonClicked(buttonID, buttonHWND); |
| } |
| |
| #ifdef UNDER_CE |
| SHELLEXECUTEINFO s; |
| memset(&s, 0, sizeof(s)); |
| s.cbSize = sizeof(s); |
| s.lpFile = url; |
| ::ShellExecuteEx(&s); |
| #else |
| ::ShellExecute(NULL, NULL, url, NULL, NULL, SW_SHOWNORMAL); |
| #endif |
| |
| return true; |
| } |