diff --git a/CHANGELOG.md b/CHANGELOG.md index cb21ad5..35ae7b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable project changes are documented here. The project follows semantic versioning after the first generally available release. +## [0.3.0-rc2] - 2026-08-19 + +### Changed + +- Replaced the YooMoney support destination in the Russian and English README. +- Added a localized “Support the project” link to the application footer alongside GitHub and the author website. + ## [0.3.0-rc1] - 2026-08-19 ### Added diff --git a/README.en.md b/README.en.md index 61a39ad..49ea9f5 100644 --- a/README.en.md +++ b/README.en.md @@ -85,6 +85,6 @@ Author: **Kirill Alexandrov** · [kodalexandrova.ru](https://kodalexandrova.ru) The source code is available under the [MIT License](LICENSE). The software is provided “as is”, without warranty. CryptoPro names belong to their respective owners; this project is unaffiliated. -[![Support via YooMoney](https://img.shields.io/badge/YooMoney-Support%20the%20project-8B3FFD?style=for-the-badge)](https://yoomoney.ru/quickpay/fundraise/button?billNumber=1BQ9GCKEQDM.250729&) +[![Support via YooMoney](https://img.shields.io/badge/YooMoney-Support%20the%20project-8B3FFD?style=for-the-badge)](https://yoomoney.ru/to/4100119195083142) Russian documentation: [README.md](README.md). diff --git a/README.md b/README.md index a11e2aa..2293c9f 100644 --- a/README.md +++ b/README.md @@ -125,4 +125,4 @@ powershell -ExecutionPolicy Bypass -File .\scripts\package.ps1 Исходный код распространяется по лицензии [MIT](LICENSE). Программа предоставляется «как есть», без гарантий. CryptoPro и «КриптоПро» являются обозначениями соответствующих правообладателей; проект с ними не связан. -[![Поддержать проект через ЮMoney](https://img.shields.io/badge/ЮMoney-Поддержать%20проект-8B3FFD?style=for-the-badge)](https://yoomoney.ru/quickpay/fundraise/button?billNumber=1BQ9GCKEQDM.250729&) +[![Поддержать проект через ЮMoney](https://img.shields.io/badge/ЮMoney-Поддержать%20проект-8B3FFD?style=for-the-badge)](https://yoomoney.ru/to/4100119195083142) diff --git a/docs/RELEASE_NOTES_0.3.0-rc2.md b/docs/RELEASE_NOTES_0.3.0-rc2.md new file mode 100644 index 0000000..2136ac4 --- /dev/null +++ b/docs/RELEASE_NOTES_0.3.0-rc2.md @@ -0,0 +1,16 @@ +# КриптоПро Очистка 0.3.0 RC2 + +Небольшое обновление первого публичного релиз-кандидата. + +## Изменения + +- в нижней части программы добавлена локализованная ссылка «Поддержать проект»; +- ссылка YooMoney в программе и документации изменена на `https://yoomoney.ru/to/4100119195083142`; +- сохранены ссылки на GitHub и сайт «Код Александрова»; +- повторно выполнены сборка, модульные тесты, статический анализ и проверка контрольных сумм. + +Функции обнаружения, резервного копирования и очистки CryptoPro не изменялись. + +## Статус + +Это предварительный выпуск. Полная разрушительная VM-матрица Windows 7–11 и CryptoPro 3.x/4.x/5.x ещё не завершена. EXE не подписан цифровой подписью, поэтому предупреждение SmartScreen ожидаемо. diff --git a/src/gui.cpp b/src/gui.cpp index 4a09c90..bc2ae11 100644 --- a/src/gui.cpp +++ b/src/gui.cpp @@ -47,9 +47,9 @@ struct LicenseDialogState { void SetText(HWND dialog, int id, const std::wstring& text) { SetWindowTextW(GetDlgItem(dialog, id), text.c_str()); } void OpenProjectLink(const AppState& state, int controlId) { - const wchar_t* url = controlId == IDC_LINK_GITHUB - ? L"https://github.com/acidtmn/CryptoProCleanup" - : L"https://kodalexandrova.ru"; + const wchar_t* url = L"https://yoomoney.ru/to/4100119195083142"; + if (controlId == IDC_LINK_GITHUB) url = L"https://github.com/acidtmn/CryptoProCleanup"; + else if (controlId == IDC_LINK_WEBSITE) url = L"https://kodalexandrova.ru"; const auto result = reinterpret_cast( ShellExecuteW(state.window, L"open", url, nullptr, nullptr, SW_SHOWNORMAL)); if (result <= 32) { @@ -341,6 +341,9 @@ void ApplyLanguage(AppState& state) { SetText(state.window, IDC_LINK_WEBSITE, Tr(state.language, L"Сайт «Код Александрова»", L"Code Alexandrov website")); + SetText(state.window, IDC_LINK_SUPPORT, Tr(state.language, + L"Поддержать проект", + L"Support the project")); SetText(state.window, IDC_PRODUCTS_LABEL, Tr(state.language, L"Обнаруженные продукты", L"Detected products")); SetText(state.window, IDC_PROFILES_LABEL, Tr(state.language, L"Локальные профили для очистки настроек", L"Local profiles whose settings may be cleaned")); SetText(state.window, IDC_SELECT_ALL_PROFILES, Tr(state.language, L"Выбрать все профили", L"Select all profiles")); @@ -945,7 +948,8 @@ INT_PTR CALLBACK MainDialogProc(HWND dialog, UINT message, WPARAM wParam, LPARAM if (message == WM_NOTIFY) { const auto* header = reinterpret_cast(lParam); if (header && (header->code == NM_CLICK || header->code == NM_RETURN) && - (header->idFrom == IDC_LINK_GITHUB || header->idFrom == IDC_LINK_WEBSITE)) { + (header->idFrom == IDC_LINK_GITHUB || header->idFrom == IDC_LINK_WEBSITE || + header->idFrom == IDC_LINK_SUPPORT)) { OpenProjectLink(*state, static_cast(header->idFrom)); return TRUE; } diff --git a/src/resource.h b/src/resource.h index f054b44..da220a9 100644 --- a/src/resource.h +++ b/src/resource.h @@ -47,3 +47,4 @@ #define IDC_OFFLINE_CLEAN 1042 #define IDC_LINK_GITHUB 1043 #define IDC_LINK_WEBSITE 1044 +#define IDC_LINK_SUPPORT 1045 diff --git a/src/resources.rc b/src/resources.rc index 0664426..8d767b5 100644 --- a/src/resources.rc +++ b/src/resources.rc @@ -47,6 +47,7 @@ BEGIN CONTROL "GitHub", IDC_LINK_GITHUB, WC_LINK, WS_TABSTOP, 10, 498, 132, 15 CONTROL "Code Alexandrov website", IDC_LINK_WEBSITE, WC_LINK, WS_TABSTOP, 150, 498, 220, 15 + CONTROL "Support the project", IDC_LINK_SUPPORT, WC_LINK, WS_TABSTOP, 390, 498, 220, 15 CONTROL "", IDC_PROGRESS, PROGRESS_CLASS, PBS_SMOOTH, 10, 521, 740, 10 LTEXT "Ready", IDC_STATUS, 10, 535, 740, 13 EDITTEXT IDC_LOG, 10, 550, 740, 48, ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER