| 678 | } |
| 679 | |
| 680 | HRESULT OnPreferenceDialogInit(HWND hWnd) |
| 681 | { |
| 682 | #ifndef MINGW_SPECIFIC_HACKS |
| 683 | INITCOMMONCONTROLSEX iccex; |
| 684 | iccex.dwSize = sizeof(INITCOMMONCONTROLSEX); |
| 685 | iccex.dwICC = ICC_TAB_CLASSES; |
| 686 | InitCommonControlsEx(&iccex); |
| 687 | #endif |
| 688 | |
| 689 | bool simplifiedUI = NT31SimplifiedInterface(); |
| 690 | |
| 691 | if (simplifiedUI) |
| 692 | { |
| 693 | // The simplified UI only consists of controls, no tabs. |
| 694 | for (int i = PG_FIRST; i < PG_PAGE_COUNT; i++) |
| 695 | OptionsInitPage(hWnd, i); |
| 696 | |
| 697 | return 0; |
| 698 | } |
| 699 | |
| 700 | DWORD dwDlgBase = GetDialogBaseUnits(); |
| 701 | int cxMargin = LOWORD(dwDlgBase) / 4; |
| 702 | int cyMargin = HIWORD(dwDlgBase) / 8; |
| 703 | |
| 704 | DialogHeader* pHeader = new DialogHeader; |
| 705 | SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR) pHeader); |
| 706 | |
| 707 | // Get the tab control. Note the hardcoded sizes: |
| 708 | HWND hwndTab = GetDlgItem(hWnd, IDC_OPTIONS_TABS); |
| 709 | if (!hwndTab) { |
| 710 | delete pHeader; |
| 711 | return HRESULT_FROM_WIN32(GetLastError()); |
| 712 | } |
| 713 | |
| 714 | pHeader->hwndTab = hwndTab; |
| 715 | |
| 716 | // Add a bunch of tabs. |
| 717 | TCITEM tie; |
| 718 | tie.mask = TCIF_TEXT | TCIF_IMAGE; |
| 719 | |
| 720 | AddTab(hwndTab, tie, PG_ACCOUNT_AND_PRIVACY, (LPTSTR)TmGetTString(IDS_ACCOUNT_PRIVACY)); |
| 721 | AddTab(hwndTab, tie, PG_APPEARANCE, (LPTSTR)TmGetTString(IDS_APPEARANCE)); |
| 722 | AddTab(hwndTab, tie, PG_NOTIFICATIONS, (LPTSTR)TmGetTString(IDS_NOTIFICATIONS)); |
| 723 | AddTab(hwndTab, tie, PG_CHAT, (LPTSTR)TmGetTString(IDS_CHAT)); |
| 724 | AddTab(hwndTab, tie, PG_WINDOW, (LPTSTR)TmGetTString(IDS_WINDOW)); |
| 725 | AddTab(hwndTab, tie, PG_CONNECTION, (LPTSTR)TmGetTString(IDS_CONNECTION)); |
| 726 | |
| 727 | // Lock the resources for the child dialog boxes. |
| 728 | pHeader->apRes[PG_ACCOUNT_AND_PRIVACY] = LockDialogResource(MAKEINTRESOURCE(IDD_DIALOG_MY_ACCOUNT)); |
| 729 | pHeader->apRes[ PG_APPEARANCE ] = LockDialogResource(MAKEINTRESOURCE(IDD_DIALOG_APPEARANCE)); |
| 730 | pHeader->apRes[ PG_NOTIFICATIONS ] = LockDialogResource(MAKEINTRESOURCE(IDD_DIALOG_NOTIFSETTINGS)); |
| 731 | pHeader->apRes[ PG_CHAT ] = LockDialogResource(MAKEINTRESOURCE(IDD_DIALOG_CHATSETTINGS)); |
| 732 | pHeader->apRes[ PG_WINDOW ] = LockDialogResource(MAKEINTRESOURCE(IDD_DIALOG_WINDOWSETTINGS)); |
| 733 | pHeader->apRes[ PG_CONNECTION ] = LockDialogResource(MAKEINTRESOURCE(IDD_DIALOG_CONNECTION)); |
| 734 | |
| 735 | RECT rcTab; |
| 736 | SetRectEmpty(&rcTab); |
| 737 |
no test coverage detected