diff --git a/win-linux/extras/online-installer/src/mainwindow.cpp b/win-linux/extras/online-installer/src/mainwindow.cpp index 46452b59d..d0fd5f99d 100644 --- a/win-linux/extras/online-installer/src/mainwindow.cpp +++ b/win-linux/extras/online-installer/src/mainwindow.cpp @@ -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); }); diff --git a/win-linux/extras/online-installer/src/utils.cpp b/win-linux/extras/online-installer/src/utils.cpp index f1b17277f..dab5b3ffe 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; } @@ -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));