Merge pull request 'Online installer review' (#246) from fix/onlinstaller-review into release/v9.0.0

This commit is contained in:
Maxim Kadushkin
2025-04-30 12:54:02 +00:00
2 changed files with 15 additions and 8 deletions

View File

@ -194,7 +194,8 @@ void MainWindow::initInstallationMode()
chkBox->setChecked(m_is_checked);
setSelectorStyle(chkBox);
chkBox->adjustSizeBasedOnContent();
chkBox->move(m_cenPanel->size().width/2 - chkBox->size().width/2, 254);
int chkMargin = 2 + (chkBox->metrics()->value(Metrics::IconWidth) + chkBox->metrics()->value(Metrics::TextMarginLeft))/2;
chkBox->move(chkMargin + m_cenPanel->size().width/2 - chkBox->size().width/2, 254);
chkBox->onClick([chkBox, this]() {
m_is_checked = chkBox->isChecked();
});
@ -220,8 +221,8 @@ void MainWindow::initInstallationMode()
startInstall();
});
m_resize_conn = m_cenPanel->onResize([chkBox, comntLbl, instlBtn](int w, int h) {
chkBox->move(w/2 - chkBox->size().width/2, 254);
m_resize_conn = m_cenPanel->onResize([chkBox, comntLbl, instlBtn, chkMargin](int w, int h) {
chkBox->move(chkMargin + w/2 - chkBox->size().width/2, 254);
comntLbl->setGeometry(0, h - 130, w, 48);
instlBtn->setGeometry(w/2 - 50, h - 76, 100, 28);
});
@ -344,7 +345,8 @@ void MainWindow::finishInstall(const std::wstring &app_path)
chkBox->setChecked(m_is_checked);
setSelectorStyle(chkBox);
chkBox->adjustSizeBasedOnContent();
chkBox->move(m_cenPanel->size().width/2 - chkBox->size().width/2, 254);
int chkMargin = 2 + (chkBox->metrics()->value(Metrics::IconWidth) + chkBox->metrics()->value(Metrics::TextMarginLeft))/2;
chkBox->move(chkMargin + m_cenPanel->size().width/2 - chkBox->size().width/2, 254);
chkBox->onClick([chkBox, this]() {
m_is_checked = chkBox->isChecked();
});
@ -368,8 +370,8 @@ void MainWindow::finishInstall(const std::wstring &app_path)
close();
});
m_resize_conn = m_cenPanel->onResize([chkBox, comntLbl, closeBtn](int w, int h) {
chkBox->move(w/2 - chkBox->size().width/2, 254);
m_resize_conn = m_cenPanel->onResize([chkBox, comntLbl, closeBtn, chkMargin](int w, int h) {
chkBox->move(chkMargin + w/2 - chkBox->size().width/2, 254);
comntLbl->setGeometry(0, h - 130, w, 48);
closeBtn->setGeometry(w/2 - 50, h - 76, 100, 28);
});

View File

@ -135,7 +135,12 @@ namespace NS_Utils
wc.hInstance = hInst;
wc.lpszClassName = L"FakeWindowClass";
RegisterClass(&wc);
fakeParent = CreateWindowEx(0, wc.lpszClassName, L"", WS_OVERLAPPEDWINDOW, 0, 0, 0, 0, NULL, NULL, hInst, NULL);
fakeParent = CreateWindowEx(0, wc.lpszClassName, _TR(CAPTION), WS_OVERLAPPEDWINDOW, 0, 0, 0, 0, NULL, NULL, hInst, NULL);
HICON hIcon = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_MAINICON), IMAGE_ICON, 96, 96, LR_DEFAULTCOLOR | LR_SHARED);
SendMessage(fakeParent, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);
SendMessage(fakeParent, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
ShowWindow(fakeParent, SW_SHOWMINIMIZED);
UpdateWindow(fakeParent);
parent = fakeParent;
}
@ -218,7 +223,7 @@ namespace NS_Utils
accept = (IDOK == NS_Utils::ShowTaskDialog(parent, msg.c_str(), TD_INFORMATION_ICON));
if (accept) {
PostMessage(app_hwnd, UM_INSTALL_UPDATE, 0, 0);
Sleep(1000);
Sleep(3000);
while(true) {
if ((app_hwnd = FindWindow(WINDOW_CLASS_NAME, NULL)) != nullptr) {
wstring msg(_TR(MSG_ERR_CLOSE_APP));