From 196538b6409750d7a40648b4ef467460c7ea9453 Mon Sep 17 00:00:00 2001 From: SimplestStudio Date: Wed, 30 Apr 2025 13:49:07 +0300 Subject: [PATCH 1/3] [win] online-installer: fix checkbox alignment --- .../extras/online-installer/src/mainwindow.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/win-linux/extras/online-installer/src/mainwindow.cpp b/win-linux/extras/online-installer/src/mainwindow.cpp index 8352a97d9..f855b4194 100644 --- a/win-linux/extras/online-installer/src/mainwindow.cpp +++ b/win-linux/extras/online-installer/src/mainwindow.cpp @@ -192,7 +192,8 @@ void MainWindow::initInstallationMode(const std::wstring &url) 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(); }); @@ -218,8 +219,8 @@ void MainWindow::initInstallationMode(const std::wstring &url) startInstall(url); }); - 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); }); @@ -342,7 +343,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(); }); @@ -366,8 +368,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); }); From ec4325d073cdad7c94cbe7962558c56398097220 Mon Sep 17 00:00:00 2001 From: SimplestStudio Date: Wed, 30 Apr 2025 13:51:15 +0300 Subject: [PATCH 2/3] [win] online-installer: increase application close timeout --- win-linux/extras/online-installer/src/utils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win-linux/extras/online-installer/src/utils.cpp b/win-linux/extras/online-installer/src/utils.cpp index 6e24627b5..4937f3731 100644 --- a/win-linux/extras/online-installer/src/utils.cpp +++ b/win-linux/extras/online-installer/src/utils.cpp @@ -218,7 +218,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)); From 71ebe4b22788412383ed17c4721ce638d885e106 Mon Sep 17 00:00:00 2001 From: SimplestStudio Date: Wed, 30 Apr 2025 14:11:15 +0300 Subject: [PATCH 3/3] [win] online-installer: show taskbar icon for TaskDialog --- win-linux/extras/online-installer/src/utils.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/win-linux/extras/online-installer/src/utils.cpp b/win-linux/extras/online-installer/src/utils.cpp index 4937f3731..f9d8a7397 100644 --- a/win-linux/extras/online-installer/src/utils.cpp +++ b/win-linux/extras/online-installer/src/utils.cpp @@ -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; }