diff options
Diffstat (limited to 'updater/conf_dialog.cpp')
-rw-r--r-- | updater/conf_dialog.cpp | 64 |
1 files changed, 39 insertions, 25 deletions
diff --git a/updater/conf_dialog.cpp b/updater/conf_dialog.cpp index cbd6887..8ccaedf 100644 --- a/updater/conf_dialog.cpp +++ b/updater/conf_dialog.cpp @@ -1,13 +1,15 @@ #include "common.h"
#include "conf_dialog.h"
-INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
+INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
+{
+ HWND hwndList = GetDlgItem(hwndDlg, IDC_LIST_UPDATES);
switch ( msg ) {
case WM_INITDIALOG:
TranslateDialogDefault( hwndDlg );
SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0);
- SendMessage(GetDlgItem(hwndDlg, IDC_LIST_UPDATES),LVM_SETEXTENDEDLISTVIEWSTYLE, 0,LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES);
+ SendMessage(hwndList, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES);
if(options.save_zips && options.no_unzip) {
CheckDlgButton(hwndDlg, IDC_CHK_CONFALL, FALSE);
@@ -39,23 +41,28 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP lvc.iSubItem = 0;
lvc.pszText = TranslateT("Component Name");
lvc.cx = 145; // width of column in pixels
- ListView_InsertColumn(GetDlgItem(hwndDlg, IDC_LIST_UPDATES), 0, &lvc);
+ ListView_InsertColumn(hwndList, 0, &lvc);
lvc.iSubItem = 1;
lvc.pszText = TranslateT("New Version");
lvc.cx = 80; // width of column in pixels
- ListView_InsertColumn(GetDlgItem(hwndDlg, IDC_LIST_UPDATES), 1, &lvc);
+ ListView_InsertColumn(hwndList, 1, &lvc);
lvc.iSubItem = 2;
lvc.pszText = TranslateT("Current Version");
lvc.cx = 90; // width of column in pixels
- ListView_InsertColumn(GetDlgItem(hwndDlg, IDC_LIST_UPDATES), 2, &lvc);
+ ListView_InsertColumn(hwndList, 2, &lvc);
+
+ lvc.iSubItem = 3;
+ lvc.pszText = TranslateT("Beta");
+ lvc.cx = 90; // width of column in pixels
+ ListView_InsertColumn(hwndList, 3, &lvc);
}
//enumerate plugins, fill in list
{
bool one_enabled = false;
- ListView_DeleteAllItems(GetDlgItem(hwndDlg, IDC_LIST_UPDATES));
+ ListView_DeleteAllItems(hwndList);
LVITEM lvI = {0};
TCHAR *temp_str;
@@ -66,37 +73,44 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP lvI.mask = LVIF_TEXT | LVIF_PARAM | LVIF_NORECOMPUTE;// | LVIF_IMAGE;
UpdateList &todo = *(UpdateList *)lParam;
- for(int i=0; i<todo.getCount(); ++i) {
+ for (int i = 0; i < todo.getCount(); ++i)
+ {
lvI.mask = LVIF_TEXT | LVIF_PARAM;// | LVIF_IMAGE;
lvI.iSubItem = 0;
lvI.lParam = (LPARAM)&todo[i];
- lvI.pszText = (temp_str = GetTString(todo[i].update.szComponentName));
- lvI.iItem = ListView_InsertItem(GetDlgItem(hwndDlg, IDC_LIST_UPDATES), &lvI);
+ lvI.pszText = (temp_str = mir_a2t(todo[i].update.szComponentName));
+ lvI.iItem = ListView_InsertItem(hwndList, &lvI);
mir_free(temp_str);
lvI.mask = LVIF_TEXT;// | LVIF_IMAGE;
lvI.iSubItem = 1;
//lvI.pszText = LPSTR_TEXTCALLBACK; //i->newVersion;
- lvI.pszText = (temp_str = GetTString(((UpdateInternal *)lvI.lParam)->newVersion));
- ListView_SetItem(GetDlgItem(hwndDlg, IDC_LIST_UPDATES), &lvI);
+ lvI.pszText = (temp_str = mir_a2t(((UpdateInternal *)lvI.lParam)->newVersion));
+ ListView_SetItem(hwndList, &lvI);
mir_free(temp_str);
lvI.iSubItem = 2;
//lvI.pszText = LPSTR_TEXTCALLBACK; //i->newVersion;
- lvI.pszText = (temp_str = GetTString((char *)((UpdateInternal *)lvI.lParam)->update.pbVersion));
- ListView_SetItem(GetDlgItem(hwndDlg, IDC_LIST_UPDATES), &lvI);
+ lvI.pszText = (temp_str = mir_a2t((char *)((UpdateInternal *)lvI.lParam)->update.pbVersion));
+ ListView_SetItem(hwndList, &lvI);
mir_free(temp_str);
- //MessageBox(0, i->newVersion,
+
+ lvI.iSubItem = 3;
+ lvI.pszText = ((UpdateInternal *)lvI.lParam)->update_options.use_beta ?
+ TranslateT("Yes") : TranslateT("No");
+ ListView_SetItem(hwndList, &lvI);
+
+ //MessageBox(0, todo[i].newVersion,
//"Version", MB_OK);
- //i->update.szComponentName, MB_OK);
+ //todo[i].update.szComponentName, MB_OK);
// remember whether the user has decided not to update this component with this particular new version
char stored_setting[256];
mir_snprintf(stored_setting, 256, "DisabledVer%s", todo[i].update.szComponentName);
DBVARIANT dbv;
bool check = todo[i].update_options.enabled;
- if(!DBGetContactSetting(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
@@ -104,7 +118,7 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP DBFreeVariant(&dbv);
}
one_enabled |= check;
- ListView_SetCheckState(GetDlgItem(hwndDlg, IDC_LIST_UPDATES), lvI.iItem, check);
+ ListView_SetCheckState(hwndList, lvI.iItem, check);
}
HWND hwOk = GetDlgItem(hwndDlg, IDOK);
@@ -118,7 +132,7 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP return TRUE;
case WM_NOTIFY:
- if(((LPNMHDR) lParam)->hwndFrom == GetDlgItem(hwndDlg, IDC_LIST_UPDATES)) {
+ if(((LPNMHDR) lParam)->hwndFrom == hwndList) {
switch (((LPNMHDR) lParam)->code) {
case LVN_ITEMCHANGED:
@@ -130,11 +144,11 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP lvI.iItem = nmlv->iItem;
lvI.iSubItem = 0;
lvI.mask = LVIF_PARAM;
- ListView_GetItem(GetDlgItem(hwndDlg, IDC_LIST_UPDATES), &lvI);
+ ListView_GetItem(hwndList, &lvI);
- //if(IsWindowVisible(GetDlgItem(hwndDlg, IDC_LIST_UPDATES)) && ((nmlv->uNewState ^ nmlv->uOldState) & LVIS_STATEIMAGEMASK)) {
+ //if(IsWindowVisible(hwndList) && ((nmlv->uNewState ^ nmlv->uOldState) & LVIS_STATEIMAGEMASK)) {
if((nmlv->uNewState ^ nmlv->uOldState) & LVIS_STATEIMAGEMASK) {
- ((UpdateInternal *)lvI.lParam)->update_options.enabled = ListView_GetCheckState(GetDlgItem(hwndDlg, IDC_LIST_UPDATES), nmlv->iItem) ? true : false;
+ ((UpdateInternal *)lvI.lParam)->update_options.enabled = ListView_GetCheckState(hwndList, nmlv->iItem) != 0;
char stored_setting[256];
mir_snprintf(stored_setting, 256, "DisabledVer%s", ((UpdateInternal *)lvI.lParam)->update.szComponentName);
@@ -143,7 +157,7 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP DBDeleteContactSetting(0, "Updater", stored_setting); // user has re-enabled update to this version - remove setting from db
else
DBWriteContactSettingString(0, "Updater", stored_setting, ((UpdateInternal *)lvI.lParam)->newVersion);
- //ListView_SetItem(GetDlgItem(hwndDlg, IDC_LIST_UPDATES), &lvI);
+ //ListView_SetItem(hwndList, &lvI);
UpdateList &todo = *(UpdateList *)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
@@ -175,7 +189,7 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP lvi.mask = LVIF_PARAM;
lvi.iItem = ((NMLVDISPINFO *)lParam)->item.iItem;
lvi.iSubItem = 0;
- SendMessage(GetDlgItem(hwndDlg, IDC_LIST_UPDATES), LVM_GETITEM, 0, (LPARAM)&lvi);
+ SendMessage(hwndList, LVM_GETITEM, 0, (LPARAM)&lvi);
switch (((NMLVDISPINFO *)lParam)->item.iSubItem) {
case 0:
MessageBox(0, _T("LVN_GETDISPINFO (0)"), _T("msg"), MB_OK);
@@ -199,13 +213,13 @@ INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP case IDC_BTN_CHANGELOG:
{
char url[256];
- int sel = ListView_GetSelectionMark(GetDlgItem(hwndDlg, IDC_LIST_UPDATES));
+ int sel = ListView_GetSelectionMark(hwndList);
LVITEM lvI = {0};
lvI.iItem = sel;
lvI.iSubItem = 0;
lvI.mask = LVIF_PARAM;
- ListView_GetItem(GetDlgItem(hwndDlg, IDC_LIST_UPDATES), &lvI);
+ ListView_GetItem(hwndList, &lvI);
if(!((UpdateInternal *)lvI.lParam)->update_options.use_beta && ((UpdateInternal *)lvI.lParam)->file_id != -1) {
sprintf(url, MIM_CHANGELOG_URL_PREFIX "%d", ((UpdateInternal *)lvI.lParam)->file_id);
|