123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- #include "main.h"
- #include "./options.h"
- #include "./resource.h"
- #include "./obj_ombrowser.h"
- #include "./ifc_omconfig.h"
- #include "./ifc_ombrowserclass.h"
- #include "./ieversion.h"
- #include <windows.h>
- #include <shlwapi.h>
- #include <strsafe.h>
- static INT_PTR CALLBACK OptionsInfo_DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
- HWND CALLBACK OptionsInfo_CreatePage(HWND hParent, UINT style)
- {
- return Plugin_CreateDialogParam(MAKEINTRESOURCE(IDD_OPTIONS_INFO), hParent, OptionsInfo_DialogProc, 0L);
- }
- static void OptionsInfo_SetClassName(HWND hwnd, obj_ombrowser *browserManager)
- {
- HWND hControl = GetDlgItem(hwnd, IDC_CLASS);
- if (NULL == hControl) return;
-
- WCHAR szBuffer[512] = {0};
- BOOL valueInvalid = TRUE;
- ifc_ombrowserclass *browserClass;
- if (NULL != browserManager && SUCCEEDED(browserManager->GetClass(&browserClass)))
- {
- if (SUCCEEDED(browserClass->GetName(szBuffer, ARRAYSIZE(szBuffer))))
- valueInvalid = FALSE;
- browserClass->Release();
- }
-
- if (FALSE != valueInvalid)
- Plugin_LoadString(IDS_UNKNOWN, szBuffer, ARRAYSIZE(szBuffer));
- SetWindowText(hControl, szBuffer);
- }
- static void OptionsInfo_SetConfigPath(HWND hwnd, obj_ombrowser *browserManager)
- {
- HWND hControl = GetDlgItem(hwnd, IDC_CONFIGPATH);
- if (NULL == hControl) return;
-
- WCHAR szBuffer[512] = {0};
- BOOL valueInvalid = TRUE;
- ifc_omconfig *browserConfig;
- if (NULL != browserManager && SUCCEEDED(browserManager->GetConfig(NULL, (void**)&browserConfig)))
- {
- if (SUCCEEDED(browserConfig->GetPath(szBuffer, ARRAYSIZE(szBuffer))))
- valueInvalid = FALSE;
- browserConfig->Release();
- }
-
- if (FALSE != valueInvalid)
- Plugin_LoadString(IDS_UNKNOWN, szBuffer, ARRAYSIZE(szBuffer));
- SetWindowText(hControl, szBuffer);
- }
- static void OptionsInfo_SetIEVersion(HWND hwnd)
- {
- HWND hControl = GetDlgItem(hwnd, IDC_MSIEVERSION);
- if (NULL == hControl) return;
- WCHAR szBuffer[128] = {0};
- if (FAILED(MSIE_GetVersionString(szBuffer, ARRAYSIZE(szBuffer))))
- Plugin_LoadString(IDS_UNKNOWN, szBuffer, ARRAYSIZE(szBuffer));
- SetWindowText(hControl, szBuffer);
- }
- static void OptionsInfo_SetVersion(HWND hwnd, obj_ombrowser *browserManager)
- {
- HWND hControl = GetDlgItem(hwnd, IDC_VERSION);
- if (NULL == hControl) return;
-
- WCHAR szBuffer[32] = {0};
- INT major, minor;
- if (NULL == browserManager ||
- FAILED(browserManager->GetVersion(&major, &minor)) ||
- FAILED(StringCchPrintf(szBuffer, ARRAYSIZE(szBuffer), L"%d.%d", major, minor)))
- {
- Plugin_LoadString(IDS_UNKNOWN, szBuffer, ARRAYSIZE(szBuffer));
- }
-
- SetWindowText(hControl, szBuffer);
- }
- static void OptionsInfo_SetClientId(HWND hwnd, obj_ombrowser *browserManager)
- {
- HWND hControl = GetDlgItem(hwnd, IDC_CLIENTID);
- if (NULL == hControl) return;
-
- WCHAR szBuffer[256] = {0};
- if (NULL == browserManager || FAILED(browserManager->GetClientId(szBuffer, ARRAYSIZE(szBuffer))))
- Plugin_LoadString(IDS_UNKNOWN, szBuffer, ARRAYSIZE(szBuffer));
-
- SetWindowText(hControl, szBuffer);
- }
- static void OptionsInfo_SetSessionId(HWND hwnd, obj_ombrowser *browserManager)
- {
- HWND hControl = GetDlgItem(hwnd, IDC_SESSIONID);
- if (NULL == hControl) return;
-
- WCHAR szBuffer[256] = {0};
- if (NULL == browserManager || FAILED(browserManager->GetSessionId(szBuffer, ARRAYSIZE(szBuffer))))
- Plugin_LoadString(IDS_UNKNOWN, szBuffer, ARRAYSIZE(szBuffer));
-
- SetWindowText(hControl, szBuffer);
- }
- static void OptionsInfo_SetTitleFont(HWND hwnd)
- {
- HWND hControl = GetDlgItem(hwnd, IDC_TITLE);
- if (NULL == hControl) return;
- LOGFONT lfTitle;
- HFONT hFont = (HFONT)SendMessage(hwnd, WM_GETFONT, 0, 0L);
- INT fontHeight;
- fontHeight = (NULL != hFont && 0 != GetObject(hFont, sizeof(lfTitle), &lfTitle)) ? lfTitle.lfHeight : -11;
- fontHeight += (fontHeight > 0) ? 2 : -2;
-
- ZeroMemory(&lfTitle, sizeof(lfTitle));
- lfTitle.lfHeight = fontHeight;
- lfTitle.lfWeight = FW_NORMAL;
- lfTitle.lfItalic = FALSE;
- lfTitle.lfUnderline = FALSE;
- lfTitle.lfStrikeOut = FALSE;
- lfTitle.lfCharSet = DEFAULT_CHARSET;
- lfTitle.lfOutPrecision = OUT_DEFAULT_PRECIS;
- lfTitle.lfClipPrecision = CLIP_DEFAULT_PRECIS;
- lfTitle.lfQuality = CLEARTYPE_QUALITY;
- lfTitle.lfPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE;
- StringCchCopy(lfTitle.lfFaceName, ARRAYSIZE(lfTitle.lfFaceName), L"Arial");
-
- HFONT titleFont = CreateFontIndirect(&lfTitle);
- if (NULL == titleFont) return;
- SendMessage(hControl, WM_SETFONT, (WPARAM)titleFont, 0);
- }
- static INT_PTR OptionsInfo_OnInitDialog(HWND hwnd, HWND hFocus, LPARAM param)
- {
- WCHAR szBuffer[512] = {0};
- Plugin_LoadString(IDS_OPTIONS_INFO, szBuffer, ARRAYSIZE(szBuffer));
- SetWindowText(hwnd, szBuffer);
- HWND hParent = GetParent(hwnd);
-
- obj_ombrowser *browserManager;
- if (FALSE == SendMessage(hParent, BOM_GETBROWSER, 0, (LPARAM)&browserManager))
- browserManager = NULL;
-
- OptionsInfo_SetVersion(hwnd, browserManager);
- OptionsInfo_SetClassName(hwnd, browserManager);
- OptionsInfo_SetClientId(hwnd, browserManager);
- OptionsInfo_SetSessionId(hwnd, browserManager);
- OptionsInfo_SetConfigPath(hwnd, browserManager);
- OptionsInfo_SetIEVersion(hwnd);
- if (NULL != browserManager)
- browserManager->Release();
- OptionsInfo_SetTitleFont(hwnd);
- return 0;
- }
- static void OptionsInfo_OnDestroy(HWND hwnd)
- {
- }
- static INT_PTR OptionsInfo_OnColorStatic(HWND hwnd, HDC hdc, HWND hControl)
- {
- UINT controlId = (UINT)GetWindowLongPtr(hControl, GWLP_ID);
- if (((UINT)-1) == controlId)
- SetTextColor(hdc, GetSysColor(COLOR_HOTLIGHT));
- return 0;
- }
- static INT_PTR CALLBACK OptionsInfo_DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
- {
- switch(uMsg)
- {
- case WM_INITDIALOG: return OptionsInfo_OnInitDialog(hwnd, (HWND)wParam, lParam);
- case WM_DESTROY: OptionsInfo_OnDestroy(hwnd); return 0;
- case WM_CTLCOLORSTATIC: return OptionsInfo_OnColorStatic(hwnd, (HDC)wParam, (HWND)lParam);
- }
- return 0;
- }
|