diff options
Diffstat (limited to 'updater/conf_dialog.cpp')
-rw-r--r-- | updater/conf_dialog.cpp | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/updater/conf_dialog.cpp b/updater/conf_dialog.cpp index 8ccaedf..d436ac2 100644 --- a/updater/conf_dialog.cpp +++ b/updater/conf_dialog.cpp @@ -1,6 +1,10 @@ #include "common.h"
#include "conf_dialog.h"
+#ifndef BCM_SETSHIELD
+#define BCM_SETSHIELD (0x1600 + 0x000C)
+#endif
+
INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
HWND hwndList = GetDlgItem(hwndDlg, IDC_LIST_UPDATES);
@@ -110,7 +114,7 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP mir_snprintf(stored_setting, 256, "DisabledVer%s", todo[i].update.szComponentName);
DBVARIANT dbv;
bool check = todo[i].update_options.enabled;
- if(!DBGetContactSettingString(0, "Updater", stored_setting, &dbv)) {
+ if (!DBGetContactSettingString(0, "Updater", stored_setting, &dbv)) {
if(dbv.pszVal && strcmp(dbv.pszVal, ((UpdateInternal *)lvI.lParam)->newVersion) == 0)
check = false;
else
@@ -122,12 +126,14 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP }
HWND hwOk = GetDlgItem(hwndDlg, IDOK);
- EnableWindow(hwOk, one_enabled ? TRUE : FALSE);
+ EnableWindow(hwOk, one_enabled);
}
// do this after filling list - enables 'ITEMCHANGED' below
SetWindowLongPtr(hwndDlg, GWLP_USERDATA, lParam);
- Utils_RestoreWindowPositionNoSize(hwndDlg,0,MODULE,"ConfirmWindow");
+ Utils_RestoreWindowPositionNoSize(hwndDlg, NULL, MODULE, "ConfirmWindow");
+ if (IsAdminRequired())
+ SendDlgItemMessage(hwndDlg, IDOK, BCM_SETSHIELD, 0, TRUE);
return TRUE;
@@ -207,9 +213,12 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP }
break;
+
case WM_COMMAND:
- if ( HIWORD( wParam ) == BN_CLICKED ) {
- switch( LOWORD( wParam )) {
+ if (HIWORD( wParam ) == BN_CLICKED)
+ {
+ switch(LOWORD(wParam))
+ {
case IDC_BTN_CHANGELOG:
{
char url[256];
@@ -225,17 +234,19 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP sprintf(url, MIM_CHANGELOG_URL_PREFIX "%d", ((UpdateInternal *)lvI.lParam)->file_id);
CallService(MS_UTILS_OPENURL, (WPARAM)TRUE, (LPARAM)url);
} else if(((UpdateInternal *)lvI.lParam)->update_options.use_beta && ((UpdateInternal *)lvI.lParam)->update.szBetaChangelogURL) {
- CallService(MS_UTILS_OPENURL, (WPARAM)TRUE, (LPARAM)((UpdateInternal *)lvI.lParam)->update.szBetaChangelogURL);
+ CallService(MS_UTILS_OPENURL, TRUE, (LPARAM)((UpdateInternal *)lvI.lParam)->update.szBetaChangelogURL);
}
}
return TRUE;
+
case IDC_CHK_CONFALL:
{
HWND hw = GetDlgItem(hwndDlg, IDC_CHK_NOINSTALL);
EnableWindow(hw, !IsDlgButtonChecked(hwndDlg, IDC_CHK_CONFALL));
}
return TRUE;
+
case IDC_CHK_NOINSTALL:
{
HWND hw = GetDlgItem(hwndDlg, IDC_CHK_CONFALL);
@@ -247,11 +258,13 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP SetWindowText(GetDlgItem(hwndDlg, IDOK), TranslateT("Update"));
}
return TRUE;
+
case IDOK:
SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0);
- Utils_SaveWindowPosition(hwndDlg,0,MODULE,"ConfirmWindow");
- DBWriteContactSettingByte(0, "Updater", "DefaultConfAll", IsDlgButtonChecked(hwndDlg, IDC_CHK_CONFALL) ? 1 : 0);
- DBWriteContactSettingByte(0, "Updater", "NoInstall", IsDlgButtonChecked(hwndDlg, IDC_CHK_NOINSTALL) ? 1 : 0);
+ Utils_SaveWindowPosition(hwndDlg, NULL, MODULE, "ConfirmWindow");
+ DBWriteContactSettingByte(NULL, "Updater", "DefaultConfAll", IsDlgButtonChecked(hwndDlg, IDC_CHK_CONFALL) ? 1 : 0);
+ DBWriteContactSettingByte(NULL, "Updater", "NoInstall", IsDlgButtonChecked(hwndDlg, IDC_CHK_NOINSTALL) ? 1 : 0);
+
if(IsDlgButtonChecked(hwndDlg, IDC_CHK_CONFALL))
EndDialog(hwndDlg, CD_CONFALL);
else if(IsDlgButtonChecked(hwndDlg, IDC_CHK_NOINSTALL))
@@ -259,9 +272,10 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP else
EndDialog(hwndDlg, CD_OK);
return TRUE;
+
case IDCANCEL:
SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0);
- Utils_SaveWindowPosition(hwndDlg,0,MODULE,"ConfirmWindow");
+ Utils_SaveWindowPosition(hwndDlg, NULL, MODULE, "ConfirmWindow");
EndDialog(hwndDlg, CD_CANCEL);
return TRUE;
}
|