From 3bf31e0a0f3332fe8c150c24cd79da6d8acca722 Mon Sep 17 00:00:00 2001 From: Tobias Weimer Date: Fri, 18 Apr 2014 10:10:25 +0000 Subject: metacontacts: -fixed a rare crash -some ressource fixes -code cleanup git-svn-id: http://svn.miranda-ng.org/main/trunk@9000 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/modules/metacontacts/meta_addto.cpp | 2 +- src/modules/metacontacts/meta_edit.cpp | 49 ++++++++--------- src/modules/metacontacts/meta_menu.cpp | 25 +++++---- src/modules/metacontacts/meta_options.cpp | 84 ++++++++++++++---------------- src/modules/metacontacts/meta_services.cpp | 43 ++++++--------- src/modules/metacontacts/meta_utils.cpp | 42 ++++++--------- src/resource.rc | 66 +++++++++++++---------- 7 files changed, 146 insertions(+), 165 deletions(-) diff --git a/src/modules/metacontacts/meta_addto.cpp b/src/modules/metacontacts/meta_addto.cpp index 98d1a310e8..696b375237 100644 --- a/src/modules/metacontacts/meta_addto.cpp +++ b/src/modules/metacontacts/meta_addto.cpp @@ -170,7 +170,7 @@ static INT_PTR CALLBACK Meta_SelectDialogProc(HWND hwndDlg, UINT msg, WPARAM wPa switch (LOWORD(wParam)) { case IDOK: { - int item = SendMessage(GetDlgItem(hwndDlg, IDC_METALIST), LB_GETCURSEL, 0, 0); // Get the index of the selected metacontact + int item = SendDlgItemMessage(hwndDlg, IDC_METALIST, LB_GETCURSEL, 0, 0); // Get the index of the selected metacontact if (item == -1) return IDOK == MessageBox(hwndDlg, TranslateT("Please select a MetaContact"), TranslateT("No MetaContact selected"), MB_ICONHAND); diff --git a/src/modules/metacontacts/meta_edit.cpp b/src/modules/metacontacts/meta_edit.cpp index b0ce85dfce..d5496b7dd4 100644 --- a/src/modules/metacontacts/meta_edit.cpp +++ b/src/modules/metacontacts/meta_edit.cpp @@ -208,9 +208,6 @@ LRESULT ProcessCustomDraw(LPARAM lParam) static INT_PTR CALLBACK Meta_EditDialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { - HWND hwnd; - int sel, i; - switch (msg) { case WM_INITDIALOG: TranslateDialogDefault(hwndDlg); @@ -225,7 +222,7 @@ static INT_PTR CALLBACK Meta_EditDialogProc(HWND hwndDlg, UINT msg, WPARAM wPara // Disable the 'Apply' button. EnableWindow(GetDlgItem(hwndDlg, IDC_VALIDATE), FALSE); - hwnd = GetDlgItem(hwndDlg, IDC_LST_CONTACTS); + HWND hwnd = GetDlgItem(hwndDlg, IDC_LST_CONTACTS); ListView_SetExtendedListViewStyle(hwnd, LVS_EX_FULLROWSELECT); // Create list columns @@ -268,7 +265,7 @@ static INT_PTR CALLBACK Meta_EditDialogProc(HWND hwndDlg, UINT msg, WPARAM wPara g_data.num_deleted = 0; g_data.hDefaultContact = Meta_GetContactHandle(g_data.cc, cc->nDefault); g_data.hOfflineContact = Meta_GetContactHandle(g_data.cc, offline_contact_number); - for (i = 0; i < cc->nSubs; i++) + for (int i = 0; i < cc->nSubs; i++) g_data.hContact[i] = Meta_GetContactHandle(g_data.cc, i); SendMessage(hwndDlg, WMU_SETTITLE, 0, lParam); @@ -283,7 +280,7 @@ static INT_PTR CALLBACK Meta_EditDialogProc(HWND hwndDlg, UINT msg, WPARAM wPara if (ptszCDN == NULL) ptszCDN = TranslateT("(Unknown Contact)"); - SetWindowText(GetDlgItem(hwndDlg, IDC_ED_NAME), ptszCDN); + SetDlgItemText(hwndDlg, IDC_ED_NAME, ptszCDN); } return TRUE; @@ -291,7 +288,7 @@ static INT_PTR CALLBACK Meta_EditDialogProc(HWND hwndDlg, UINT msg, WPARAM wPara switch (LOWORD(wParam)) { // hit control case IDC_LST_CONTACTS: // did we hit our ListView contorl? if (((LPNMHDR)lParam)->code == NM_CLICK) { - sel = ListView_GetNextItem(GetDlgItem(hwndDlg, IDC_LST_CONTACTS), -1, LVNI_FOCUSED | LVNI_SELECTED); // return item selected + int sel = ListView_GetNextItem(GetDlgItem(hwndDlg, IDC_LST_CONTACTS), -1, LVNI_FOCUSED | LVNI_SELECTED); // return item selected // enable buttons EnableWindow(GetDlgItem(hwndDlg, IDC_BTN_REM), sel != -1); @@ -339,9 +336,9 @@ static INT_PTR CALLBACK Meta_EditDialogProc(HWND hwndDlg, UINT msg, WPARAM wPara EndDialog(hwndDlg, IDCANCEL); return TRUE; - case IDC_BTN_SETDEFAULT: - hwnd = GetDlgItem(hwndDlg, IDC_LST_CONTACTS); - sel = ListView_GetNextItem(hwnd, -1, LVNI_FOCUSED | LVNI_SELECTED); + case IDC_BTN_SETDEFAULT: { + HWND hwnd = GetDlgItem(hwndDlg, IDC_LST_CONTACTS); + int sel = ListView_GetNextItem(hwnd, -1, LVNI_FOCUSED | LVNI_SELECTED); InvalidateRect(hwnd, 0, TRUE); g_data.hDefaultContact = g_data.hContact[sel]; SendMessage(hwndDlg, WMU_SETTITLE, 0, (LPARAM)g_data.hContact[sel]); @@ -351,10 +348,10 @@ static INT_PTR CALLBACK Meta_EditDialogProc(HWND hwndDlg, UINT msg, WPARAM wPara EnableWindow(GetDlgItem(hwndDlg, IDC_BTN_SETDEFAULT), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_VALIDATE), TRUE); return TRUE; - - case IDC_BTN_SETOFFLINE: - hwnd = GetDlgItem(hwndDlg, IDC_LST_CONTACTS); - sel = ListView_GetNextItem(hwnd, -1, LVNI_FOCUSED | LVNI_SELECTED); + } + case IDC_BTN_SETOFFLINE: { + HWND hwnd = GetDlgItem(hwndDlg, IDC_LST_CONTACTS); + int sel = ListView_GetNextItem(hwnd, -1, LVNI_FOCUSED | LVNI_SELECTED); InvalidateRect(hwnd, 0, TRUE); g_data.hOfflineContact = g_data.hContact[sel]; @@ -363,10 +360,10 @@ static INT_PTR CALLBACK Meta_EditDialogProc(HWND hwndDlg, UINT msg, WPARAM wPara EnableWindow(GetDlgItem(hwndDlg, IDC_BTN_SETOFFLINE), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_VALIDATE), TRUE); return TRUE; - - case IDC_BTN_REM: - hwnd = GetDlgItem(hwndDlg, IDC_LST_CONTACTS); - sel = ListView_GetNextItem(hwnd, -1, LVNI_FOCUSED | LVNI_SELECTED); + } + case IDC_BTN_REM: { + HWND hwnd = GetDlgItem(hwndDlg, IDC_LST_CONTACTS); + int sel = ListView_GetNextItem(hwnd, -1, LVNI_FOCUSED | LVNI_SELECTED); g_data.num_contacts--; g_data.hDeletedContacts[g_data.num_deleted++] = g_data.hContact[sel]; if (g_data.hDefaultContact == g_data.hContact[sel]) { @@ -380,7 +377,7 @@ static INT_PTR CALLBACK Meta_EditDialogProc(HWND hwndDlg, UINT msg, WPARAM wPara } } - for (i = sel; i < g_data.num_contacts; i++) + for (int i = sel; i < g_data.num_contacts; i++) g_data.hContact[i] = g_data.hContact[i + 1]; FillContactList(hwndDlg); @@ -394,10 +391,10 @@ static INT_PTR CALLBACK Meta_EditDialogProc(HWND hwndDlg, UINT msg, WPARAM wPara // Enable the 'Apply' button. EnableWindow(GetDlgItem(hwndDlg, IDC_VALIDATE), TRUE); return TRUE; - - case IDC_BTN_UP: - hwnd = GetDlgItem(hwndDlg, IDC_LST_CONTACTS); - sel = ListView_GetNextItem(hwnd, -1, LVNI_FOCUSED | LVNI_SELECTED); + } + case IDC_BTN_UP: { + HWND hwnd = GetDlgItem(hwndDlg, IDC_LST_CONTACTS); + int sel = ListView_GetNextItem(hwnd, -1, LVNI_FOCUSED | LVNI_SELECTED); { MCONTACT temp = g_data.hContact[sel]; g_data.hContact[sel] = g_data.hContact[sel - 1]; @@ -411,10 +408,10 @@ static INT_PTR CALLBACK Meta_EditDialogProc(HWND hwndDlg, UINT msg, WPARAM wPara EnableWindow(GetDlgItem(hwndDlg, IDC_BTN_DOWN), (sel < g_data.num_contacts - 1)); EnableWindow(GetDlgItem(hwndDlg, IDC_VALIDATE), TRUE); return TRUE; - + } case IDC_BTN_DOWN: - hwnd = GetDlgItem(hwndDlg, IDC_LST_CONTACTS); - sel = ListView_GetNextItem(hwnd, -1, LVNI_FOCUSED | LVNI_SELECTED); + HWND hwnd = GetDlgItem(hwndDlg, IDC_LST_CONTACTS); + int sel = ListView_GetNextItem(hwnd, -1, LVNI_FOCUSED | LVNI_SELECTED); { MCONTACT temp = g_data.hContact[sel]; g_data.hContact[sel] = g_data.hContact[sel + 1]; diff --git a/src/modules/metacontacts/meta_menu.cpp b/src/modules/metacontacts/meta_menu.cpp index 4e8cd40187..755ba5084a 100644 --- a/src/modules/metacontacts/meta_menu.cpp +++ b/src/modules/metacontacts/meta_menu.cpp @@ -106,24 +106,24 @@ void Meta_RemoveContactNumber(DBCachedContact *ccMeta, int number, bool bUpdateI Meta_SwapContacts(ccMeta, i, i - 1); // remove the last one - char buffer[512], idStr[20]; - _itoa(ccMeta->nSubs - 1, idStr, 10); - strcpy(buffer, "Protocol"); strcat(buffer, idStr); + int id = ccMeta->nSubs - 1; + char buffer[512]; + mir_snprintf(buffer, SIZEOF(buffer), "Protocol%d", id); db_unset(ccMeta->contactID, META_PROTO, buffer); - strcpy(buffer, "Status"); strcat(buffer, idStr); + mir_snprintf(buffer, SIZEOF(buffer), "Status%d", id); db_unset(ccMeta->contactID, META_PROTO, buffer); - strcpy(buffer, "StatusString"); strcat(buffer, idStr); + mir_snprintf(buffer, SIZEOF(buffer), "StatusString%d", id); db_unset(ccMeta->contactID, META_PROTO, buffer); - strcpy(buffer, "Login"); strcat(buffer, idStr); + mir_snprintf(buffer, SIZEOF(buffer), "Login%d", id); db_unset(ccMeta->contactID, META_PROTO, buffer); - strcpy(buffer, "Nick"); strcat(buffer, idStr); + mir_snprintf(buffer, SIZEOF(buffer), "Nick%d", id); db_unset(ccMeta->contactID, META_PROTO, buffer); - strcpy(buffer, "CListName"); strcat(buffer, idStr); + mir_snprintf(buffer, SIZEOF(buffer), "CListName%d", id); db_unset(ccMeta->contactID, META_PROTO, buffer); ccSub->parentID = 0; @@ -157,7 +157,7 @@ void Meta_RemoveContactNumber(DBCachedContact *ccMeta, int number, bool bUpdateI AI.format = PA_FORMAT_UNKNOWN; _tcscpy(AI.filename, _T("X")); - if ((int)CallProtoService(META_PROTO, PS_GETAVATARINFOT, 0, (LPARAM)&AI) == GAIR_SUCCESS) + if (CallProtoService(META_PROTO, PS_GETAVATARINFOT, 0, (LPARAM)&AI) == GAIR_SUCCESS) db_set_ts(ccMeta->contactID, "ContactPhoto", "File", AI.filename); } } @@ -320,7 +320,7 @@ int Meta_ModifyMenu(WPARAM hMeta, LPARAM lParam) } PROTOACCOUNT *pa = Proto_GetAccount(cc->szProto); - if (!db_mc_isEnabled() || pa->bIsVirtual) { + if (!db_mc_isEnabled() || !pa || pa->bIsVirtual) { // groups disabled - all meta menu options hidden Menu_ShowItem(hMenuDefault, false); Menu_ShowItem(hMenuDelete, false); @@ -428,7 +428,6 @@ void InitMenus() mi.pszName = LPGEN("Subcontacts"); hMenuRoot = Menu_AddContactMenuItem(&mi); - char buffer[512], buffer2[512]; mi.flags = CMIF_HIDDEN | CMIF_CHILDPOPUP; mi.hParentMenu = hMenuRoot; @@ -436,8 +435,8 @@ void InitMenus() mi.position--; mi.pszName = ""; - strcpy(buffer, "MetaContacts/MenuFunc"); - strcat(buffer, _itoa(i, buffer2, 10)); + char buffer[512]; + mir_snprintf(buffer, SIZEOF(buffer),"MetaContacts/MenuFunc%d", i); mi.pszService = buffer; hMenuContact[i] = Menu_AddContactMenuItem(&mi); diff --git a/src/modules/metacontacts/meta_options.cpp b/src/modules/metacontacts/meta_options.cpp index 1346f0b049..e7772fa96f 100644 --- a/src/modules/metacontacts/meta_options.cpp +++ b/src/modules/metacontacts/meta_options.cpp @@ -29,9 +29,6 @@ MetaOptions options_changes; INT_PTR CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { - HWND hw; - TCHAR buff[40]; - switch ( msg ) { case WM_INITDIALOG: TranslateDialogDefault( hwndDlg ); @@ -49,10 +46,11 @@ INT_PTR CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPara CheckDlgButton(hwndDlg, IDC_RAD_NICK, options_changes.clist_contact_name == CNNT_NICK); CheckDlgButton(hwndDlg, IDC_RAD_NAME, options_changes.clist_contact_name == CNNT_DISPLAYNAME); CheckDlgButton(hwndDlg, IDC_CHK_LOCKHANDLE, options_changes.bLockHandle); - - hw = GetDlgItem(hwndDlg, IDC_ED_DAYS); - _itot(options_changes.days_history, buff, 10); - SetWindowText(hw, buff); + { + TCHAR buff[40]; + _itot(options_changes.days_history, buff, SIZEOF(buff)); + SetDlgItemText(hwndDlg, IDC_ED_DAYS, buff); + } return TRUE; case WM_COMMAND: @@ -128,8 +126,8 @@ INT_PTR CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPara case WM_NOTIFY: if (((LPNMHDR)lParam)->code == PSN_APPLY ) { - hw = GetDlgItem(hwndDlg, IDC_ED_DAYS); - GetWindowText(hw, buff, SIZEOF(buff)); + TCHAR buff[40]; + GetDlgItemText(hwndDlg, IDC_ED_DAYS, buff, SIZEOF(buff)); if (buff[0] != 0) options_changes.days_history = _ttoi(buff); @@ -318,9 +316,6 @@ void ResetPriorities() INT_PTR CALLBACK DlgProcOptsPriorities(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { - HWND hw; - int sel; - switch (msg) { case WM_INITDIALOG: TranslateDialogDefault(hwndDlg); @@ -331,29 +326,28 @@ INT_PTR CALLBACK DlgProcOptsPriorities(HWND hwndDlg, UINT msg, WPARAM wParam, LP PROTOACCOUNT **pppDesc; ProtoEnumAccounts(&num_protocols, &pppDesc); - hw = GetDlgItem(hwndDlg, IDC_CMB_PROTOCOL); - int index = SendMessage(hw, CB_INSERTSTRING, -1, (LPARAM)TranslateT("")); - SendMessage(hw, CB_SETITEMDATA, index, -1); + int index = SendDlgItemMessage(hwndDlg, IDC_CMB_PROTOCOL, CB_INSERTSTRING, -1, (LPARAM)TranslateT("")); + SendDlgItemMessage(hwndDlg, IDC_CMB_PROTOCOL, CB_SETITEMDATA, index, -1); for (int i = 0; i < num_protocols; i++) { if (strcmp(pppDesc[i]->szModuleName, META_PROTO) != 0) { - index = SendMessage(hw, CB_INSERTSTRING, -1, (LPARAM)pppDesc[i]->tszAccountName); - SendMessage(hw, CB_SETITEMDATA, index, i); + index = SendDlgItemMessage(hwndDlg, IDC_CMB_PROTOCOL, CB_INSERTSTRING, -1, (LPARAM)pppDesc[i]->tszAccountName); + SendDlgItemMessage(hwndDlg, IDC_CMB_PROTOCOL, CB_SETITEMDATA, index, i); } } - SendMessage(hw, CB_SETCURSEL, 0, 0); + SendDlgItemMessage(hwndDlg, IDC_CMB_PROTOCOL, CB_SETCURSEL, 0, 0); SendMessage(hwndDlg, WMU_FILLSTATUSCMB, 0, 0); SendMessage(hwndDlg, WMU_FILLPRIODATA, 0, 0); } return FALSE; - case WMU_FILLPRIODATA: - sel = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_PROTOCOL), CB_GETCURSEL, 0, 0); + case WMU_FILLPRIODATA: { + int sel = SendDlgItemMessage(hwndDlg, IDC_CMB_PROTOCOL, CB_GETCURSEL, 0, 0); if (sel != -1) { - int index = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_PROTOCOL), CB_GETITEMDATA, sel, 0); - sel = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_STATUS), CB_GETCURSEL, 0, 0); + int index = SendDlgItemMessage(hwndDlg, IDC_CMB_PROTOCOL, CB_GETITEMDATA, sel, 0); + sel = SendDlgItemMessage(hwndDlg, IDC_CMB_STATUS, CB_GETCURSEL, 0, 0); if (sel != -1) { - int status = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_STATUS), CB_GETITEMDATA, sel, 0); + int status = SendDlgItemMessage(hwndDlg, IDC_CMB_STATUS, CB_GETITEMDATA, sel, 0); SetDlgItemInt(hwndDlg, IDC_ED_PRIORITY, GetPriority(index, status), FALSE); if (index == -1) { EnableWindow(GetDlgItem(hwndDlg, IDC_ED_PRIORITY), TRUE); @@ -378,17 +372,16 @@ INT_PTR CALLBACK DlgProcOptsPriorities(HWND hwndDlg, UINT msg, WPARAM wParam, LP } } return TRUE; - - case WMU_FILLSTATUSCMB: - sel = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_PROTOCOL), CB_GETCURSEL, 0, 0); + } + case WMU_FILLSTATUSCMB:{ + int sel = SendDlgItemMessage(hwndDlg, IDC_CMB_PROTOCOL, CB_GETCURSEL, 0, 0); if (sel != -1) { - int index = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_PROTOCOL), CB_GETITEMDATA, sel, 0); - HWND hw = GetDlgItem(hwndDlg, IDC_CMB_STATUS); - SendMessage(hw, CB_RESETCONTENT, 0, 0); + int index = SendDlgItemMessage(hwndDlg, IDC_CMB_PROTOCOL, CB_GETITEMDATA, sel, 0); + SendDlgItemMessage(hwndDlg, IDC_CMB_STATUS, CB_RESETCONTENT, 0, 0); if (index == -1) { for (int i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { - index = SendMessage(hw, CB_INSERTSTRING, -1, (LPARAM)cli.pfnGetStatusModeDescription(i, 0)); - SendMessage(hw, CB_SETITEMDATA, index, i); + index = SendDlgItemMessage(hwndDlg, IDC_CMB_STATUS, CB_INSERTSTRING, -1, (LPARAM)cli.pfnGetStatusModeDescription(i, 0)); + SendDlgItemMessage(hwndDlg, IDC_CMB_STATUS, CB_SETITEMDATA, index, i); } } else { @@ -400,27 +393,28 @@ INT_PTR CALLBACK DlgProcOptsPriorities(HWND hwndDlg, UINT msg, WPARAM wParam, LP for (int i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { if (caps & Proto_Status2Flag(i)) { - index = SendMessage(hw, CB_INSERTSTRING, -1, (LPARAM)cli.pfnGetStatusModeDescription(i, 0)); - SendMessage(hw, CB_SETITEMDATA, index, i); + index = SendDlgItemMessage(hwndDlg, IDC_CMB_STATUS, CB_INSERTSTRING, -1, (LPARAM)cli.pfnGetStatusModeDescription(i, 0)); + SendDlgItemMessage(hwndDlg, IDC_CMB_STATUS, CB_SETITEMDATA, index, i); } } } - SendMessage(hw, CB_SETCURSEL, 0, 0); + SendDlgItemMessage(hwndDlg, IDC_CMB_STATUS, CB_SETCURSEL, 0, 0); SendMessage(hwndDlg, WMU_FILLPRIODATA, 0, 0); } return TRUE; + } case WM_COMMAND: if (HIWORD(wParam) == BN_CLICKED) { switch (LOWORD(wParam)) { - case IDC_CHK_DEFAULT: - sel = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_PROTOCOL), CB_GETCURSEL, 0, 0); + case IDC_CHK_DEFAULT: { + int sel = SendDlgItemMessage(hwndDlg, IDC_CMB_PROTOCOL, CB_GETCURSEL, 0, 0); if (sel != -1) { - int index = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_PROTOCOL), CB_GETITEMDATA, sel, 0); - sel = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_STATUS), CB_GETCURSEL, 0, 0); + int index = SendDlgItemMessage(hwndDlg, IDC_CMB_PROTOCOL, CB_GETITEMDATA, sel, 0); + sel = SendDlgItemMessage(hwndDlg, IDC_CMB_STATUS, CB_GETCURSEL, 0, 0); if (sel != -1) { BOOL checked = IsDlgButtonChecked(hwndDlg, IDC_CHK_DEFAULT); - int status = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_STATUS), CB_GETITEMDATA, sel, 0); + int status = SendDlgItemMessage(hwndDlg, IDC_CMB_STATUS, CB_GETITEMDATA, sel, 0); if (checked) { SetPriority(index, status, TRUE, 0); SetDlgItemInt(hwndDlg, IDC_ED_PRIORITY, GetPriority(index, status), FALSE); @@ -433,7 +427,7 @@ INT_PTR CALLBACK DlgProcOptsPriorities(HWND hwndDlg, UINT msg, WPARAM wParam, LP } } break; - + } case IDC_BTN_RESET: ResetPriorities(); SendMessage(GetDlgItem(hwndDlg, IDC_CMB_PROTOCOL), CB_SETCURSEL, 0, 0); @@ -445,12 +439,12 @@ INT_PTR CALLBACK DlgProcOptsPriorities(HWND hwndDlg, UINT msg, WPARAM wParam, LP } if (HIWORD(wParam) == EN_CHANGE && LOWORD(wParam) == IDC_ED_PRIORITY && (HWND)lParam == GetFocus()) { - sel = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_PROTOCOL), CB_GETCURSEL, 0, 0); + int sel = SendDlgItemMessage(hwndDlg, IDC_CMB_PROTOCOL, CB_GETCURSEL, 0, 0); if (sel != -1) { - int index = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_PROTOCOL), CB_GETITEMDATA, sel, 0); - sel = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_STATUS), CB_GETCURSEL, 0, 0); + int index = SendDlgItemMessage(hwndDlg, IDC_CMB_PROTOCOL, CB_GETITEMDATA, sel, 0); + sel = SendDlgItemMessage(hwndDlg, IDC_CMB_STATUS, CB_GETCURSEL, 0, 0); if (sel != -1) { - int status = SendMessage(GetDlgItem(hwndDlg, IDC_CMB_STATUS), CB_GETITEMDATA, sel, 0); + int status = SendDlgItemMessage(hwndDlg, IDC_CMB_STATUS, CB_GETITEMDATA, sel, 0); int prio = GetDlgItemInt(hwndDlg, IDC_ED_PRIORITY, 0, FALSE); SetPriority(index, status, FALSE, prio); if (prio != GetPriority(index, status)) @@ -488,7 +482,7 @@ INT_PTR CALLBACK DlgProcOptsPriorities(HWND hwndDlg, UINT msg, WPARAM wParam, LP ///////////////////////////////////////////////////////////////////////////////////////// -int Meta_OptInit(WPARAM wParam, LPARAM lParam) +int Meta_OptInit(WPARAM wParam, LPARAM) { OPTIONSDIALOGPAGE odp = { sizeof(odp) }; odp.position = -790000000; diff --git a/src/modules/metacontacts/meta_services.cpp b/src/modules/metacontacts/meta_services.cpp index 7a1fb8ad6e..30c7d6ae0e 100644 --- a/src/modules/metacontacts/meta_services.cpp +++ b/src/modules/metacontacts/meta_services.cpp @@ -312,7 +312,7 @@ int Meta_HandleACK(WPARAM, LPARAM lParam) int Meta_SettingChanged(WPARAM hContact, LPARAM lParam) { DBCONTACTWRITESETTING *dcws = (DBCONTACTWRITESETTING *)lParam; - char buffer[512], szId[40]; + char buffer[512]; // the only global options we're interested in if (hContact == 0) @@ -361,14 +361,12 @@ int Meta_SettingChanged(WPARAM hContact, LPARAM lParam) } else if (!strcmp(dcws->szSetting, "Nick") && !dcws->value.type == DBVT_DELETED) { // subcontact nick has changed - update metacontact - strcpy(buffer, "Nick"); - strcat(buffer, _itoa(contact_number, szId, 10)); + mir_snprintf(buffer, SIZEOF(buffer), "Nick%d", contact_number); db_set(ccMeta->contactID, META_PROTO, buffer, &dcws->value); DBVARIANT dbv; if (db_get_s(hContact, "CList", "MyHandle", &dbv, 0)) { - strcpy(buffer, "CListName"); - strcat(buffer, _itoa(contact_number, szId, 10)); + mir_snprintf(buffer, SIZEOF(buffer), "CListName%d", contact_number); db_set(ccMeta->contactID, META_PROTO, buffer, &dcws->value); } else db_free(&dbv); @@ -394,8 +392,7 @@ int Meta_SettingChanged(WPARAM hContact, LPARAM lParam) else if (!strcmp(dcws->szModule, "CList") && !strcmp(dcws->szSetting, "MyHandle")) { if (dcws->value.type == DBVT_DELETED) { char *proto = GetContactProto(hContact); - strcpy(buffer, "CListName"); - strcat(buffer, _itoa(contact_number, szId, 10)); + mir_snprintf(buffer, SIZEOF(buffer), "CListName%d", contact_number); DBVARIANT dbv; if (proto && !db_get_ts(hContact, proto, "Nick", &dbv)) { @@ -406,8 +403,7 @@ int Meta_SettingChanged(WPARAM hContact, LPARAM lParam) } else { // subcontact clist displayname has changed - update metacontact - strcpy(buffer, "CListName"); - strcat(buffer, _itoa(contact_number, szId, 10)); + mir_snprintf(buffer, SIZEOF(buffer), "CListName%d", contact_number); db_set(ccMeta->contactID, META_PROTO, buffer, &dcws->value); } @@ -420,12 +416,10 @@ int Meta_SettingChanged(WPARAM hContact, LPARAM lParam) // subcontact changing status // update subcontact status setting - strcpy(buffer, "Status"); - strcat(buffer, _itoa(contact_number, szId, 10)); + mir_snprintf(buffer, SIZEOF(buffer), "Status%d", contact_number); db_set_w(ccMeta->contactID, META_PROTO, buffer, dcws->value.wVal); - - strcpy(buffer, "StatusString"); - strcat(buffer, _itoa(contact_number, szId, 10)); + + mir_snprintf(buffer, SIZEOF(buffer), "StatusString%d", contact_number); db_set_ts(ccMeta->contactID, META_PROTO, buffer, cli.pfnGetStatusModeDescription(dcws->value.wVal, 0)); // set status to that of most online contact @@ -636,6 +630,9 @@ int Meta_ModulesLoaded(WPARAM wParam, LPARAM lParam) { HookEvent(ME_CLIST_PREBUILDCONTACTMENU, Meta_ModifyMenu); HookEvent(ME_CLIST_DOUBLECLICKED, Meta_ClistDoubleClicked); + // hook srmm window close/open events + HookEvent(ME_MSG_WINDOWEVENT, Meta_MessageWindowEvent); + HookEvent(ME_MSG_ICONPRESSED, Meta_SrmmIconClicked); //////////////////////////////////////////////////////////////////////////// InitMenus(); @@ -646,10 +643,6 @@ int Meta_ModulesLoaded(WPARAM wParam, LPARAM lParam) sid.hIcon = LoadSkinnedProtoIcon(META_PROTO, ID_STATUS_ONLINE); Srmm_AddIcon(&sid); - // hook srmm window close/open events - HookEvent(ME_MSG_WINDOWEVENT, Meta_MessageWindowEvent); - HookEvent(ME_MSG_ICONPRESSED, Meta_SrmmIconClicked); - // hook protocol nudge events to forward to subcontacts int numberOfProtocols; PROTOACCOUNT ** ppProtocolDescriptors; @@ -690,15 +683,11 @@ INT_PTR Meta_ContactMenuFunc(WPARAM hMeta, LPARAM lParam) // open message window if protocol supports message sending or chat, else simulate double click char *proto = GetContactProto(hContact); if (proto) { - char buffer[512]; - strcpy(buffer, proto); - strcat(buffer, PS_GETCAPS); - - int caps = CallService(buffer, PFLAGNUM_1, 0); - if ((caps & PF1_IMSEND) || (caps & PF1_CHAT) || (proto && strcmp(proto, "IRC") == 0)) { + INT_PTR caps = CallProtoService(proto, PS_GETCAPS, PFLAGNUM_1, 0); + if ((caps & PF1_IMSEND) || (caps & PF1_CHAT)) { // set default contact for sending/status and open message window db_mc_setDefaultNum(hMeta, lParam); - CallService(MS_MSG_SENDMESSAGE, hMeta, 0); + CallService(MS_MSG_SENDMESSAGET, hMeta, 0); } else // protocol does not support messaging - simulate double click CallService(MS_CLIST_CONTACTDOUBLECLICKED, hContact, 0); @@ -731,7 +720,7 @@ INT_PTR Meta_FileSend(WPARAM wParam, LPARAM lParam) char *proto = GetContactProto(most_online); if (proto) - return (int)(CallContactService(most_online, PSS_FILE, ccs->wParam, ccs->lParam)); + return CallContactService(most_online, PSS_FILE, ccs->wParam, ccs->lParam); return 0; // fail } @@ -752,7 +741,7 @@ INT_PTR Meta_GetAwayMsg(WPARAM wParam, LPARAM lParam) return 0; ccs->hContact = most_online; - return (int)(CallContactService(ccs->hContact, PSS_GETAWAYMSG, ccs->wParam, ccs->lParam)); + return CallContactService(ccs->hContact, PSS_GETAWAYMSG, ccs->wParam, ccs->lParam); } INT_PTR Meta_GetAvatarInfo(WPARAM wParam, LPARAM lParam) diff --git a/src/modules/metacontacts/meta_utils.cpp b/src/modules/metacontacts/meta_utils.cpp index 6f3b67bd78..32986361e8 100644 --- a/src/modules/metacontacts/meta_utils.cpp +++ b/src/modules/metacontacts/meta_utils.cpp @@ -108,8 +108,6 @@ BOOL Meta_Assign(MCONTACT hSub, MCONTACT hMeta, BOOL set_as_default) return FALSE; } - char szId[40]; - _itoa(ccDest->nSubs++, szId, 10); if (ccDest->nSubs >= MAX_CONTACTS) { MessageBox(0, TranslateT("MetaContact is full"), TranslateT("Assignment error"), MB_OK | MB_ICONWARNING); db_free(&dbv); @@ -117,8 +115,9 @@ BOOL Meta_Assign(MCONTACT hSub, MCONTACT hMeta, BOOL set_as_default) } // write the contact's protocol + int id = ccDest->nSubs++; char buffer[512]; - strcpy(buffer, "Protocol"); strcat(buffer, szId); + mir_snprintf(buffer, SIZEOF(buffer),"Protocol%d",id); if (db_set_s(hMeta, META_PROTO, buffer, szProto)) { MessageBox(0, TranslateT("Could not write contact protocol to MetaContact"), TranslateT("Assignment error"), MB_OK | MB_ICONWARNING); db_free(&dbv); @@ -126,7 +125,7 @@ BOOL Meta_Assign(MCONTACT hSub, MCONTACT hMeta, BOOL set_as_default) } // write the login - strcpy(buffer, "Login"); strcat(buffer, szId); + mir_snprintf(buffer, SIZEOF(buffer),"Login%d",id); if (db_set(hMeta, META_PROTO, buffer, &dbv)) { MessageBox(0, TranslateT("Could not write unique ID of contact to MetaContact"), TranslateT("Assignment error"), MB_OK | MB_ICONWARNING); db_free(&dbv); @@ -138,10 +137,10 @@ BOOL Meta_Assign(MCONTACT hSub, MCONTACT hMeta, BOOL set_as_default) // If we can get the nickname of the subcontact... if (!db_get(hSub, szProto, "Nick", &dbv)) { // write the nickname - strcpy(buffer, "Nick"); - strcat(buffer, szId); + mir_snprintf(buffer, SIZEOF(buffer),"Nick%d",id); if (db_set(hMeta, META_PROTO, buffer, &dbv)) { MessageBox(0, TranslateT("Could not write nickname of contact to MetaContact"), TranslateT("Assignment error"), MB_OK | MB_ICONWARNING); + db_free(&dbv); return FALSE; } @@ -149,23 +148,22 @@ BOOL Meta_Assign(MCONTACT hSub, MCONTACT hMeta, BOOL set_as_default) } // write the display name - strcpy(buffer, "CListName"); - strcat(buffer, szId); + mir_snprintf(buffer, SIZEOF(buffer),"CListName%d",id); db_set_ts(hMeta, META_PROTO, buffer, cli.pfnGetContactDisplayName(hSub, 0)); // Get the status WORD status = (!szProto) ? ID_STATUS_OFFLINE : db_get_w(hSub, szProto, "Status", ID_STATUS_OFFLINE); // write the status - strcpy(buffer, "Status"); strcat(buffer, szId); + mir_snprintf(buffer, SIZEOF(buffer),"Status%d",id); db_set_w(hMeta, META_PROTO, buffer, status); // write the handle - strcpy(buffer, "Handle"); strcat(buffer, szId); + mir_snprintf(buffer, SIZEOF(buffer),"Handle%d",id); db_set_dw(hMeta, META_PROTO, buffer, hSub); // write status string - strcpy(buffer, "StatusString"); strcat(buffer, szId); + mir_snprintf(buffer, SIZEOF(buffer),"StatusString%d",id); TCHAR *szStatus = cli.pfnGetStatusModeDescription(status, 0); db_set_ts(hMeta, META_PROTO, buffer, szStatus); @@ -331,7 +329,7 @@ MCONTACT Meta_GetContactHandle(DBCachedContact *cc, int contact_number) int Meta_HideLinkedContacts(void) { DBVARIANT dbv, dbv2; - char buffer[512], buffer2[512]; + char buffer[512]; for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { DBCachedContact *cc = currDb->m_cache->GetCachedContact(hContact); @@ -345,28 +343,25 @@ int Meta_HideLinkedContacts(void) // get contact number int contact_number = Meta_GetContactNumber(cc, hContact); - // prepare to update metacontact record of subcontat status - char *szProto = GetContactProto(hContact); - // find metacontact if (contact_number < 0 || contact_number >= ccMeta->nSubs) continue; // update metacontact's record of status for this contact - strcpy(buffer, "Status"); - strcat(buffer, _itoa(contact_number, buffer2, 10)); + mir_snprintf(buffer, SIZEOF(buffer), "Status%d",contact_number); + + // prepare to update metacontact record of subcontat status + char *szProto = GetContactProto(hContact); WORD status = (!szProto) ? ID_STATUS_OFFLINE : db_get_w(hContact, szProto, "Status", ID_STATUS_OFFLINE); db_set_w(ccMeta->contactID, META_PROTO, buffer, status); // update metacontact's record of nick for this contact if (szProto && !db_get(hContact, szProto, "Nick", &dbv)) { - strcpy(buffer, "Nick"); - strcat(buffer, _itoa(contact_number, buffer2, 10)); + mir_snprintf(buffer, SIZEOF(buffer), "Nick%d",contact_number); db_set(ccMeta->contactID, META_PROTO, buffer, &dbv); - strcpy(buffer, "CListName"); - strcat(buffer, _itoa(contact_number, buffer2, 10)); + mir_snprintf(buffer, SIZEOF(buffer), "CListName%d",contact_number); if (db_get(hContact, "CList", "MyHandle", &dbv2)) db_set(ccMeta->contactID, META_PROTO, buffer, &dbv); else { @@ -378,8 +373,7 @@ int Meta_HideLinkedContacts(void) } else { if (!db_get(hContact, "CList", "MyHandle", &dbv)) { - strcpy(buffer, "CListName"); - strcat(buffer, _itoa(contact_number, buffer2, 10)); + mir_snprintf(buffer, SIZEOF(buffer),"CListName%d",contact_number); db_set(ccMeta->contactID, META_PROTO, buffer, &dbv); db_free(&dbv); } @@ -509,8 +503,6 @@ static void SwapValues(MCONTACT hContact, LPCSTR szSetting, int n1, int n2) int Meta_SwapContacts(DBCachedContact *cc, int n1, int n2) { - MCONTACT hContact1 = Meta_GetContactHandle(cc, n1), hContact2 = Meta_GetContactHandle(cc, n2); - SwapValues(cc->contactID, "Protocol", n1, n2); SwapValues(cc->contactID, "Status", n1, n2); SwapValues(cc->contactID, "StatusString", n1, n2); diff --git a/src/resource.rc b/src/resource.rc index 287b2ec578..75db71ff81 100644 --- a/src/resource.rc +++ b/src/resource.rc @@ -742,10 +742,10 @@ CAPTION "Add to Existing MetaContact" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN CTEXT "Please select a MetaContact:",IDC_STATIC,5,4,207,8 + LISTBOX IDC_METALIST,4,16,211,222,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + CONTROL "Sort Alphabetically",IDC_CHK_SRT,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,6,244,104,8 DEFPUSHBUTTON "&OK",IDOK,115,241,48,14 PUSHBUTTON "&Cancel",IDCANCEL,167,241,48,14 - LISTBOX IDC_METALIST,4,16,211,222,LBS_NOINTEGRALHEIGHT | WS_VSCROLL - CONTROL "Sort Alphabetically",IDC_CHK_SRT,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,6,244,104,8 END IDD_METAEDIT DIALOGEX 0, 0, 383, 260 @@ -754,38 +754,38 @@ EXSTYLE WS_EX_STATICEDGE CAPTION "Editing" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN - DEFPUSHBUTTON "&OK",IDOK,220,241,50,14 - PUSHBUTTON "&Cancel",IDCANCEL,274,241,50,14 - RTEXT "Name:",IDC_STATIC,70,17,51,8 GROUPBOX "Information",IDC_STATIC,4,4,375,29 + RTEXT "Name:",IDC_STATIC,70,17,51,8 + EDITTEXT IDC_ED_NAME,129,15,183,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP GROUPBOX "Contacts",IDC_FRAME,4,33,375,202 - PUSHBUTTON "&Apply",IDC_VALIDATE,328,241,50,14 - DEFPUSHBUTTON "&Remove",IDC_BTN_REM,87,216,54,14 + CONTROL "List1",IDC_LST_CONTACTS,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,10,43,363,169,WS_EX_CLIENTEDGE + PUSHBUTTON "&Remove",IDC_BTN_REM,87,216,54,14 PUSHBUTTON "&Set as Default",IDC_BTN_SETDEFAULT,145,216,54,14 PUSHBUTTON "Move &Up",IDC_BTN_UP,261,216,54,14 PUSHBUTTON "Move &Down",IDC_BTN_DOWN,319,216,54,14 - EDITTEXT IDC_ED_NAME,129,15,183,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - CONTROL "List1",IDC_LST_CONTACTS,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,10,43,363,169,WS_EX_CLIENTEDGE PUSHBUTTON "Send &Offline",IDC_BTN_SETOFFLINE,203,216,54,14 + DEFPUSHBUTTON "&OK",IDOK,220,241,50,14 + PUSHBUTTON "&Cancel",IDCANCEL,274,241,50,14 + PUSHBUTTON "&Apply",IDC_VALIDATE,328,241,50,14 END -IDD_METAOPTIONS DIALOGEX 0, 0, 298, 178 +IDD_METAOPTIONS DIALOGEX 0, 0, 298, 168 STYLE DS_SETFONT | DS_FIXEDSYS | DS_CENTER | WS_CHILD EXSTYLE WS_EX_CONTROLPARENT FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - GROUPBOX "Context Menu",IDC_STATIC,4,79,289,58 - CONTROL "Use contact's unique ID",IDC_RAD_UID,"Button",BS_AUTORADIOBUTTON | WS_GROUP,13,100,112,10 - CONTROL "Use contact's display name",IDC_RAD_DID,"Button",BS_AUTORADIOBUTTON | WS_GROUP,13,114,112,10 - GROUPBOX "Contact Labels",IDC_STATIC,9,87,120,45,WS_GROUP - GROUPBOX "Function",IDC_STATIC,133,87,155,45,WS_GROUP - CONTROL "Set default and open message window",IDC_RAD_MSG,"Button",BS_AUTORADIOBUTTON | WS_GROUP,137,98,148,10 - CONTROL "Show subcontact context menu",IDC_RAD_MENU,"Button",BS_AUTORADIOBUTTON | WS_GROUP,137,108,148,10 - CONTROL "Show user information",IDC_RAD_INFO,"Button",BS_AUTORADIOBUTTON | WS_GROUP,137,118,148,10 - GROUPBOX "Contact List",IDC_STATIC,4,139,289,33,WS_GROUP - CONTROL "Display subcontact nickname",IDC_RAD_NICK,"Button",BS_AUTORADIOBUTTON | WS_GROUP,9,149,144,10 - CONTROL "Display subcontact display name",IDC_RAD_NAME,"Button",BS_AUTORADIOBUTTON | WS_GROUP,9,160,144,10 - CONTROL "Lock name to first contact",IDC_CHK_LOCKHANDLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,173,155,115,10 + GROUPBOX "Context Menu",IDC_STATIC,4,4,289,109 + CONTROL "Use contact's unique ID",IDC_RAD_UID,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,16,30,264,10 + CONTROL "Use contact's display name",IDC_RAD_DID,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,16,43,264,10 + GROUPBOX "Contact Labels",IDC_STATIC,9,16,278,45,WS_GROUP + GROUPBOX "Function",IDC_STATIC,10,65,277,45,WS_GROUP + CONTROL "Set default and open message window",IDC_RAD_MSG,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,16,76,264,10 + CONTROL "Show subcontact context menu",IDC_RAD_MENU,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,16,87,264,10 + CONTROL "Show user information",IDC_RAD_INFO,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,16,97,264,10 + GROUPBOX "Contact List",IDC_STATIC,4,117,289,47,WS_GROUP + CONTROL "Display subcontact nickname",IDC_RAD_NICK,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,10,129,277,10 + CONTROL "Display subcontact display name",IDC_RAD_NAME,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,10,140,277,10 + CONTROL "Lock name to first contact",IDC_CHK_LOCKHANDLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,151,278,10 END IDD_METACOPYPROGRESS DIALOG 0, 0, 186, 90 @@ -812,16 +812,16 @@ EXSTYLE WS_EX_CONTROLPARENT FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN GROUPBOX "Subcontact Priorities",IDC_STATIC,7,7,252,143 - EDITTEXT IDC_ED_PRIORITY,157,78,40,14,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_SP_PRIORITY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,195,78,11,14 - RTEXT "Rank:",IDC_STATIC,42,81,49,8 - RTEXT "Status:",IDC_STATIC,30,57,61,8 - COMBOBOX IDC_CMB_STATUS,98,53,112,87,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP RTEXT "Protocol:",IDC_STATIC,30,31,61,8 COMBOBOX IDC_CMB_PROTOCOL,98,28,112,112,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Reset All",IDC_BTN_RESET,87,119,91,14 + RTEXT "Status:",IDC_STATIC,30,57,61,8 + COMBOBOX IDC_CMB_STATUS,98,53,112,87,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + RTEXT "Rank:",IDC_STATIC,42,81,49,8 CONTROL "Default",IDC_CHK_DEFAULT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,97,81,58,10 + EDITTEXT IDC_ED_PRIORITY,157,78,40,14,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "",IDC_SP_PRIORITY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,195,78,11,14 CTEXT "(Lower ranks are preferred)",IDC_STATIC,51,99,162,8 + PUSHBUTTON "Reset All",IDC_BTN_RESET,87,119,91,14 END IDD_OPT_LANGUAGES DIALOGEX 0, 0, 301, 191 @@ -1126,6 +1126,16 @@ BEGIN BEGIN END + IDD_METAOPTIONS, DIALOG + BEGIN + VERTGUIDE, 4 + VERTGUIDE, 10 + VERTGUIDE, 16 + VERTGUIDE, 280 + VERTGUIDE, 287 + VERTGUIDE, 293 + END + IDD_OPT_LANGUAGES, DIALOG BEGIN VERTGUIDE, 5 -- cgit v1.2.3