diff options
Diffstat (limited to 'plugins/!NotAdopted/WebView/webview_datawnd.c')
-rw-r--r-- | plugins/!NotAdopted/WebView/webview_datawnd.c | 997 |
1 files changed, 0 insertions, 997 deletions
diff --git a/plugins/!NotAdopted/WebView/webview_datawnd.c b/plugins/!NotAdopted/WebView/webview_datawnd.c deleted file mode 100644 index 3f607e3014..0000000000 --- a/plugins/!NotAdopted/WebView/webview_datawnd.c +++ /dev/null @@ -1,997 +0,0 @@ -/*
- * A plugin for Miranda IM which displays web page text in a window Copyright
- * (C) 2005 Vincent Joyce.
- *
- * Miranda IM: the free icq client for MS Windows Copyright (C) 2000-2
- * Richard Hughes, Roland Rabien & Tristan Van de Vreede
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/*************/
-BOOL CALLBACK DlgProcFind(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- HWND ParentHwnd;
- static char Searchstr[128];
- static int loc;
- static int oldloc;
- static int startposition;
- static int OLDstartposition;
-
- ParentHwnd = GetParent(hwndDlg);
-
- switch (msg)
- {
- case WM_INITDIALOG:
- {
- TranslateDialogDefault(hwndDlg);
- SetWindowLong(hwndDlg, GWL_USERDATA, lParam);
-
- SetWindowText(hwndDlg, Translate("Find"));
-
- SendMessage(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM) LoadIcon(hInst, MAKEINTRESOURCE(IDI_FIND)));
-
- return TRUE;
- }
- break;
-
- case WM_COMMAND:
- switch (LOWORD(wParam))
- {
- case IDC_OK: // find Next
-
- {
- char NewSearchstr[128];
- char *tempbuffer;
- int len;
- int location = 0;
- int startsel = 0, endsel = 0;
- char buff[MAXSIZE1];
-
- ZeroMemory(&NewSearchstr, sizeof(NewSearchstr));
-
- len = GetWindowTextLength(GetDlgItem(ParentHwnd, IDC_DATA));
-
- tempbuffer = malloc(len + 2);
-
- GetWindowText(GetDlgItem(ParentHwnd, IDC_DATA), tempbuffer, len);
- strncpy(buff, tempbuffer, sizeof(buff));
- free(tempbuffer);
-
- Filter(buff);
- CharUpperBuff(buff, lstrlen(buff));
-
- GetDlgItemText(hwndDlg, IDC_FINDWHAT, NewSearchstr, sizeof(NewSearchstr));
- CharUpperBuff(NewSearchstr, lstrlen(NewSearchstr));
-
- OLDstartposition = startposition;
-
- if ((strstr(Searchstr, NewSearchstr)) != 0)
- {
- startposition = loc + strlen(Searchstr);
- } else
- {
- oldloc = 0;
- startposition = 0;
- }
-
- strcpy(Searchstr, NewSearchstr);
- //
-
- /**/
- if (!(startposition > strlen(buff)))
- location = (strstr(buff + startposition, NewSearchstr)) - buff;
- /**/
-
- oldloc = loc;
- loc = location;
-
- if (loc == 0)
- {
- ShowWindow(GetDlgItem(hwndDlg, IDC_SEARCH_COMPLETE), SW_SHOW);
- loc = (strstr(buff, NewSearchstr)) - buff;
- startsel = loc;
- endsel = loc + strlen(NewSearchstr);
- oldloc = 0;
- startposition = 0;
- } else
- {
- ShowWindow(GetDlgItem(hwndDlg, IDC_SEARCH_COMPLETE), SW_HIDE);
- startsel = loc;
- endsel = loc + strlen(NewSearchstr);
- }
-
- CHARRANGE sel2 = {startsel, endsel};
-
- //
- SendMessage(GetDlgItem(ParentHwnd, IDC_DATA), EM_EXSETSEL, 0, (LPARAM) & sel2);
- SetFocus(GetDlgItem(ParentHwnd, IDC_DATA));
- //
-
- return TRUE;
- }
- case WM_DESTROY:
- case IDC_CANCEL:
- {
- EnableWindow(GetDlgItem(ParentHwnd, IDC_FIND_BUTTON), 1);
- EnableWindow(ParentHwnd, 1);
- DestroyWindow(hwndDlg);
- }
- break;
-
- }
- break;
- }
- return FALSE;
-}
-
-/**************/
-
-/*******************************/
-BOOL CALLBACK DlgProcDisplayData(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- DBVARIANT dbv;
- DBVARIANT dbv2;
- DBVARIANT dbv3;
- RECT rc;
- char url[300];
-
- switch (msg)
- {
- case WM_INITDIALOG:
- {
- TranslateDialogDefault(hwndDlg);
-
- //
-
- HANDLE hContact2 = (HANDLE) lParam;
-
- SetWindowLong(hwndDlg, GWL_USERDATA, (LONG) hContact2);
- WindowList_Add(hWindowList, hwndDlg, hContact2);
- // //
- url[0] = '\0';
- DBGetContactSetting(hContact2, DLLNAME, URL_KEY, &dbv);
- _snprintf(url, sizeof(url), "%s", dbv.pszVal);
- DBFreeVariant(&dbv);
- // //
- char buttontext[256];
- char stringbefore[256];
- char *stringafter;
- char newbuttontext[256];
- int pos = 0;
- int posafter = 0;
- int posbefore = 0;
-
- ZeroMemory(&buttontext, sizeof(buttontext));
- ZeroMemory(&newbuttontext, sizeof(newbuttontext));
- _snprintf(buttontext, sizeof(buttontext), "%s", url);
- _snprintf(newbuttontext, sizeof(newbuttontext), "%s", url);
-
- if ((strstr(newbuttontext, "&")) != 0)
- {
- while (1)
- {
-
- ZeroMemory(&stringbefore, sizeof(stringbefore));
-
- if ((strstr(newbuttontext, "&")) == 0)
- break;
-
- _snprintf(buttontext, sizeof(buttontext), "%s", newbuttontext);
- stringafter = strstr(buttontext, "&");
- pos = (stringafter - buttontext);
- posbefore = (stringafter - buttontext) - 1;
- posafter = (stringafter - buttontext) + 1;
- strncpy(&stringafter[0], &stringafter[1], strlen(stringafter));
- _snprintf(stringbefore, pos, "%s", buttontext);
- _snprintf(newbuttontext, sizeof(buttontext), "%s%s%s", stringbefore, "!!", stringafter);
-
- posafter = 0;
- posbefore = 0;
- }
-
- while (1)
- {
- if ((strstr(newbuttontext, "!")) != 0)
- {
- stringafter = strstr(newbuttontext, "!");
- pos = (stringafter - newbuttontext);
- newbuttontext[pos] = '&';
- }
- if ((strstr(newbuttontext, "!")) == 0)
- break;
-
- }
- }
- SetDlgItemText(hwndDlg, IDC_OPEN_URL, newbuttontext);
- //SetDlgItemText(hwndDlg, IDC_HIDDEN_URL, url);
- // //
- //
- char preservename[100];
-
- ZeroMemory(&preservename, sizeof(preservename));
-
- DBGetContactSetting(hContact2, DLLNAME, PRESERVE_NAME_KEY, &dbv);
- _snprintf(preservename, sizeof(preservename), "%s", dbv.pszVal);
- DBFreeVariant(&dbv);
-
- SetWindowText(hwndDlg, preservename);
- //
- SendMessage(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM) LoadIcon(hInst, MAKEINTRESOURCE(IDI_SITE)));
-
- // //////
- COLORREF colour;
- COLORREF txtcolor;
-
- colour = BackgoundClr;
- SendDlgItemMessage(hwndDlg, IDC_DATA, EM_SETBKGNDCOLOR, 0, colour);
- // /////
-
- // //
- SendDlgItemMessage(hwndDlg, IDC_UPDATE_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_UPDATE), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0)));
- SendMessage(GetDlgItem(hwndDlg, IDC_UPDATE_BUTTON), BUTTONADDTOOLTIP, (WPARAM) Translate("Update Data"), 0);
-
- SendDlgItemMessage(hwndDlg, IDC_FIND_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_FIND), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0)));
- SendMessage(GetDlgItem(hwndDlg, IDC_FIND_BUTTON), BUTTONADDTOOLTIP, (WPARAM) Translate("Find"), 0);
-
- SendDlgItemMessage(hwndDlg, IDC_OPTIONS_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_OPTIONS), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0)));
- SendMessage(GetDlgItem(hwndDlg, IDC_OPTIONS_BUTTON), BUTTONADDTOOLTIP, (WPARAM) Translate("Contact Options"), 0);
-
- SendDlgItemMessage(hwndDlg, IDC_ALERT_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_ALERT), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0)));
- SendMessage(GetDlgItem(hwndDlg, IDC_ALERT_BUTTON), BUTTONADDTOOLTIP, (WPARAM) Translate("Alert Options"), 0);
-
- SendDlgItemMessage(hwndDlg, IDC_STOP, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_STOP), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0)));
- SendMessage(GetDlgItem(hwndDlg, IDC_STOP), BUTTONADDTOOLTIP, (WPARAM) Translate("Stop Processing"), 0);
- // ///
- SendMessage(GetDlgItem(hwndDlg, IDC_OPEN_URL), BUTTONADDTOOLTIP, (WPARAM) Translate("Click here to open this URL in a browser window."), 0);
- // ///
-
- if (!(DBGetContactSettingByte(hContact2, DLLNAME, ON_TOP_KEY, 0)))
- {//
- SendDlgItemMessage(hwndDlg, IDC_STICK_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_UNSTICK), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0)));
- SendMessage(GetDlgItem(hwndDlg, IDC_STICK_BUTTON), BUTTONADDTOOLTIP, (WPARAM) Translate("Stick to the front"), 0);
- }
- if (DBGetContactSettingByte(hContact2, DLLNAME, ON_TOP_KEY, 0))
- {
- SendDlgItemMessage(hwndDlg, IDC_STICK_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_STICK), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0)));
- SendMessage(GetDlgItem(hwndDlg, IDC_STICK_BUTTON), BUTTONADDTOOLTIP, (WPARAM) Translate("Disable Stick to the Front"), 0);
- }
- // //
-
- SendMessage(GetDlgItem(hwndDlg, IDC_DATA), WM_SETFONT, (WPARAM) h_font, 1);
-
- txtcolor = TextClr;
-
- SetDlgItemText(hwndDlg, IDC_DATA, "");
-
- InvalidateRect(hwndDlg, NULL, 1);
-
- //
-
- // /
- SendMessage(GetDlgItem(hwndDlg, IDC_DATA), EM_AUTOURLDETECT, 1, 0);
- int mask = (int) SendMessage(GetDlgItem(hwndDlg, IDC_DATA), EM_GETEVENTMASK, 0, 0);
-
- SendMessage(GetDlgItem(hwndDlg, IDC_DATA), EM_SETEVENTMASK, 0, mask | ENM_LINK | ENM_MOUSEEVENTS);
-
- // /
- SendDlgItemMessage(hwndDlg, IDC_STICK_BUTTON, BUTTONSETASFLATBTN, 0, 0);
- SendDlgItemMessage(hwndDlg, IDC_UPDATE_BUTTON, BUTTONSETASFLATBTN, 0, 0);
- SendDlgItemMessage(hwndDlg, IDC_FIND_BUTTON, BUTTONSETASFLATBTN, 0, 0);
- SendDlgItemMessage(hwndDlg, IDC_OPTIONS_BUTTON, BUTTONSETASFLATBTN, 0, 0);
- SendDlgItemMessage(hwndDlg, IDC_ALERT_BUTTON, BUTTONSETASFLATBTN, 0, 0);
- SendDlgItemMessage(hwndDlg, IDC_STOP, BUTTONSETASFLATBTN, 0, 0);
- //
- SendDlgItemMessage(hwndDlg, IDC_OPEN_URL, BUTTONSETASFLATBTN, 0, 0);
- //
-
- {
- int partWidth[2];
- SIZE textSize;
- HDC hdc;
-
- hdc = GetDC(GetDlgItem(hwndDlg, IDC_STATUSBAR));
- SelectObject(hdc, (HFONT) SendDlgItemMessage(hwndDlg, IDC_STATUSBAR, WM_GETFONT, 0, 0));
- GetTextExtentPoint32(hdc, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", lstrlen("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"), &textSize);
- partWidth[0] = textSize.cx;
- ReleaseDC(GetDlgItem(hwndDlg, IDC_STATUSBAR), hdc);
- partWidth[1] = -1;
- SendDlgItemMessage(hwndDlg, IDC_STATUSBAR, SB_SETPARTS, sizeof(partWidth) / sizeof(partWidth[0]), (LPARAM) partWidth);
- SendDlgItemMessage(hwndDlg, IDC_STATUSBAR, SB_SETTEXT, 1 | SBT_OWNERDRAW, 0);
-
- }
- //
-
- if ((DBGetContactSettingByte(NULL, DLLNAME, SAVE_INDIVID_POS_KEY, 0)))
- Utils_RestoreWindowPosition(hwndDlg, hContact2, DLLNAME, "WV");
- }
- break;
-
- // //////////
-
- case WM_NOTIFY:
- switch (((NMHDR *) lParam)->code)
- {
-
- //
- case EN_MSGFILTER:
- switch (((MSGFILTER *) lParam)->msg)
- {
- case WM_RBUTTONUP:
- {
- HMENU hSubMenu;
- POINT pt;
- CHARRANGE sel, all = {0, -1};
-
- hSubMenu = GetSubMenu(hMenu, 0);
- CallService(MS_LANGPACK_TRANSLATEMENU, (WPARAM) hSubMenu, 0);
- SendMessage(((NMHDR *) lParam)->hwndFrom, EM_EXGETSEL, 0, (LPARAM) & sel);
-
- EnableMenuItem(hSubMenu, IDM_COPY, MF_ENABLED);
- EnableMenuItem(hSubMenu, IDM_CUT, MF_ENABLED);
- EnableMenuItem(hSubMenu, IDM_DELETE, MF_ENABLED);
-
- if (sel.cpMin == sel.cpMax)
- {
- EnableMenuItem(hSubMenu, IDM_COPY, MF_BYCOMMAND | MF_GRAYED);
- EnableMenuItem(hSubMenu, IDM_CUT, MF_BYCOMMAND | MF_GRAYED);
- EnableMenuItem(hSubMenu, IDM_DELETE, MF_BYCOMMAND | MF_GRAYED);
- }
- pt.x = (short) LOWORD(((ENLINK *) lParam)->lParam);
- pt.y = (short) HIWORD(((ENLINK *) lParam)->lParam);
- ClientToScreen(((NMHDR *) lParam)->hwndFrom, &pt);
- switch (TrackPopupMenu(hSubMenu, TPM_RETURNCMD, pt.x, pt.y, 0, hwndDlg, NULL))
- {
- case IDM_COPY:
- {
- SendMessage(((NMHDR *) lParam)->hwndFrom, WM_COPY, 0, 0);
- }
- break;
- case IDM_COPYALL:
- {
- SendMessage(((NMHDR *) lParam)->hwndFrom, EM_EXSETSEL, 0, (LPARAM) & all);
- SendMessage(((NMHDR *) lParam)->hwndFrom, WM_COPY, 0, 0);
- SendMessage(((NMHDR *) lParam)->hwndFrom, EM_EXSETSEL, 0, (LPARAM) & sel);
- }
- break;
- case IDM_SELECTALL:
- {
- SendMessage(((NMHDR *) lParam)->hwndFrom, EM_EXSETSEL, 0, (LPARAM) & all);
- }
- break;
- case IDM_CUT:
- {
- SendMessage(((NMHDR *) lParam)->hwndFrom, WM_CUT, 0, 0);
- }
- break;
-
- case IDM_PASTE:
- {
- SendMessage(((NMHDR *) lParam)->hwndFrom, WM_PASTE, 0, 0);
- }
- break;
- case IDM_DELETE:
- {
- SendMessage(((NMHDR *) lParam)->hwndFrom, WM_CLEAR, 0, 0);
- }
- break;
- case IDM_CLEAR_ALL:
- {
- SetDlgItemText(hwndDlg, IDC_DATA, "");
- SetFocus(GetDlgItem(hwndDlg, IDC_DATA));
- }
- break;
- }
- }
- }
- break;
-
- //
- case EN_LINK:
-
- switch (((ENLINK *) lParam)->msg)
- {
- case WM_RBUTTONDOWN:
- case WM_LBUTTONUP:
- {
- TEXTRANGE tr;
- CHARRANGE sel;
-
- SendDlgItemMessage(hwndDlg, IDC_DATA, EM_EXGETSEL, 0, (LPARAM) & sel);
- if (sel.cpMin != sel.cpMax)
- break;
- tr.chrg = ((ENLINK *) lParam)->chrg;
-
- tr.lpstrText = malloc(tr.chrg.cpMax - tr.chrg.cpMin + 8);
-
- SendDlgItemMessage(hwndDlg, IDC_DATA, EM_GETTEXTRANGE, 0, (LPARAM) & tr);
-
-/*
-#ifdef UNICODE_VERISON
- if (wcschr(tr.lpstrText, '@') != NULL && wcschr(tr.lpstrText, ':') == NULL && wcschr(tr.lpstrText, '/') == NULL)
- {
- MoveMemory(tr.lpstrText + 7, tr.lpstrText, tr.chrg.cpMax - tr.chrg.cpMin + 1);
- CopyMemory(tr.lpstrText, "mailto:", 7);
- }
-#endif
-*/
-
-//#ifndef UNICODE_VERISON
- if (strchr(tr.lpstrText, '@') != NULL && strchr(tr.lpstrText, ':') == NULL && strchr(tr.lpstrText, '/') == NULL)
- {
- MoveMemory(tr.lpstrText + 7, tr.lpstrText, tr.chrg.cpMax - tr.chrg.cpMin + 1);
- CopyMemory(tr.lpstrText, "mailto:", 7);
- }
-//#endif
-
- CallService(MS_UTILS_OPENURL, 1, (LPARAM) tr.lpstrText);
- SetFocus(GetDlgItem(hwndDlg, IDC_DATA));
-
- free(tr.lpstrText);
- break;
- }
- }
- break;
-
- }
- break; // notify
-
- // ///////////
-
- case WM_COMMAND:
- switch (LOWORD(wParam))
- {
- case IDC_OPEN_URL:
- {
-
-
- ZeroMemory(&url, sizeof(url));
- GetDlgItemText(hwndDlg, IDC_OPEN_URL, url, sizeof(url));
- CallService(MS_UTILS_OPENURL, 1, (LPARAM) url);
- DBWriteContactSettingWord((HANDLE) wParam, DLLNAME, "Status", ID_STATUS_ONLINE);
-
- }
- break;
-
- case IDC_UPDATE_BUTTON:
- {
- HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
- char *szProto;
- char urltext[300];
- char titlebartxt[300];
- int contactcount = 0;
-
- ZeroMemory(&urltext, sizeof(urltext));
- ZeroMemory(&titlebartxt, sizeof(titlebartxt));
-
- //GetDlgItemText(hwndDlg, IDC_HIDDEN_URL, urltext, sizeof(urltext));
- GetDlgItemText(hwndDlg, IDC_OPEN_URL, urltext, sizeof(urltext));
- GetWindowText(hwndDlg, titlebartxt, sizeof(titlebartxt));
-
- while (hContact != NULL)
- {
- szProto = (char *) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0);
- if (szProto != NULL && !lstrcmp(DLLNAME, szProto))
- {
- DBGetContactSetting(hContact, DLLNAME, URL_KEY, &dbv);
- DBGetContactSetting(hContact, DLLNAME, PRESERVE_NAME_KEY, &dbv2);
-
- if ((!lstrcmp(urltext, dbv.pszVal)) && (!lstrcmp(titlebartxt, dbv2.pszVal)))
- {
- contactcount++;
- if (contactcount > 1)
- {
- MessageBox(NULL, Translate("ERROR: You have two or more Webview contacts with the same URL and contact name."), DLLNAME, MB_OK);
- break;
- }
- EnableWindow(GetDlgItem(hwndDlg, IDC_UPDATE_BUTTON), 0);
- UpdateMenuCommand(wParam, lParam, hContact);
- }
- DBFreeVariant(&dbv);
- DBFreeVariant(&dbv2);
- }
- hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0);
- }
- }
- break;
-
-
-
- case IDC_STOP:
- {
- HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
- char *szProto;
- char urltext[300];
- char titlebartxt[300];
- int contactcount = 0;
-
- ZeroMemory(&urltext, sizeof(urltext));
- ZeroMemory(&titlebartxt, sizeof(titlebartxt));
-
- //GetDlgItemText(hwndDlg, IDC_HIDDEN_URL, urltext, sizeof(urltext));
- GetDlgItemText(hwndDlg, IDC_OPEN_URL, urltext, sizeof(urltext));
- GetWindowText(hwndDlg, titlebartxt, sizeof(titlebartxt));
-
- while (hContact != NULL)
- {
- szProto = (char *) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0);
- if (szProto != NULL && !lstrcmp(DLLNAME, szProto))
- {
- DBGetContactSetting(hContact, DLLNAME, URL_KEY, &dbv);
- DBGetContactSetting(hContact, DLLNAME, PRESERVE_NAME_KEY, &dbv2);
-
- if ((!lstrcmp(urltext, dbv.pszVal)) && (!lstrcmp(titlebartxt, dbv2.pszVal)))
- {
- contactcount++;
- if (contactcount > 1)
- {
- MessageBox(NULL, Translate("ERROR: You have two or more Webview contacts with the same URL and contact name."), DLLNAME, MB_OK);
- break;
- }
- DBWriteContactSettingByte(hContact, DLLNAME, STOP_KEY, 1);
- }
- DBFreeVariant(&dbv);
- DBFreeVariant(&dbv2);
- }
- hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0);
- }
- }
- break;
-
-
-
- case IDC_STICK_BUTTON:
- {
-
-// /////////
-
- HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
- char *szProto;
- char urltext2[300];
- char titlebartxt[300];
- int contactcount = 0;
-
- ZeroMemory(&urltext2, sizeof(urltext2));
- ZeroMemory(&titlebartxt, sizeof(titlebartxt));
-
- //GetDlgItemText(hwndDlg, IDC_HIDDEN_URL, urltext2, sizeof(urltext2));
- GetDlgItemText(hwndDlg, IDC_OPEN_URL, urltext2, sizeof(urltext2));
- GetWindowText(hwndDlg, titlebartxt, sizeof(titlebartxt));
-
- while (hContact != NULL)
- {
- szProto = (char *) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0);
- if (szProto != NULL && !lstrcmp(DLLNAME, szProto))
- {
- DBGetContactSetting(hContact, DLLNAME, URL_KEY, &dbv);
- DBGetContactSetting(hContact, DLLNAME, PRESERVE_NAME_KEY, &dbv2);
-
- if ((!lstrcmp(urltext2, dbv.pszVal)) && (!lstrcmp(titlebartxt, dbv2.pszVal)))
- {
- contactcount++;
- if (contactcount > 1)
- {
- MessageBox(NULL, Translate("ERROR: You have two or more Webview contacts with the same URL and contact name."), DLLNAME, MB_OK);
- break;
- }
- OnTopMenuCommand(wParam, lParam, hContact);
- DBFreeVariant(&dbv);
- break;
- }
- DBFreeVariant(&dbv);
- DBFreeVariant(&dbv2);
- }
- hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0);
- }
- //
-
-// ////////
-
- if (!(DBGetContactSettingByte(hContact, DLLNAME, ON_TOP_KEY, 0)))
- {//
- SendDlgItemMessage(hwndDlg, IDC_STICK_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_UNSTICK), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0)));
- SendMessage(GetDlgItem(hwndDlg, IDC_STICK_BUTTON), BUTTONADDTOOLTIP, (WPARAM) Translate("Stick to the front"), 0);
- if ((DBGetContactSettingByte(NULL, DLLNAME, SAVE_INDIVID_POS_KEY, 0)))
- {
-
- SetWindowPos(
- hwndDlg,
- HWND_NOTOPMOST,
- 0, // Xposition,
- 0, // Yposition,
- 0, // WindowWidth,
- 0, // WindowHeight,
- SWP_NOSIZE | SWP_NOMOVE);
- } else
- {
-
- SetWindowPos(
- hwndDlg,
- HWND_NOTOPMOST,
- 0,
- 0,
- 0,
- 0,
- SWP_NOSIZE | SWP_NOMOVE);
- }
-
- }
- if (DBGetContactSettingByte(hContact, DLLNAME, ON_TOP_KEY, 0))
- {
- SendDlgItemMessage(hwndDlg, IDC_STICK_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_STICK), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0)));
- SendMessage(GetDlgItem(hwndDlg, IDC_STICK_BUTTON), BUTTONADDTOOLTIP, (WPARAM) Translate("Disable Stick to the front"), 0);
-
- if ((DBGetContactSettingByte(NULL, DLLNAME, SAVE_INDIVID_POS_KEY, 0)))
- {
- SetWindowPos(
- hwndDlg,
- HWND_TOPMOST,
- 0, // Xposition,
- 0, // Yposition,
- 0, // WindowWidth,
- 0, // WindowHeight,
- SWP_NOSIZE | SWP_NOMOVE);
- } else
- {
- SetWindowPos(
- hwndDlg,
- HWND_TOPMOST,
- 0,
- 0,
- 0,
- 0,
- SWP_NOSIZE | SWP_NOMOVE);
-
- }
-
- }
- DBFreeVariant(&dbv);
- }
- break;
-
- // //
- case IDC_FIND_BUTTON:
- {
- HWND hwndFind;
-
- hwndFind = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_FIND), hwndDlg, DlgProcFind, (LPARAM) (HANDLE) wParam);
- ShowWindow(hwndFind, SW_SHOW);
- EnableWindow(GetDlgItem(hwndDlg, IDC_FIND_BUTTON), 0);
- }
- break;
-
- case IDC_OPTIONS_BUTTON:
- {
- HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
- char *szProto;
- char urltext[300];
- char titlebartxt[300];
- int contactcount = 0;
-
- //
- ZeroMemory(&urltext, sizeof(urltext));
- ZeroMemory(&titlebartxt, sizeof(titlebartxt));
-
- //GetDlgItemText(hwndDlg, IDC_HIDDEN_URL, urltext, sizeof(urltext));
- GetDlgItemText(hwndDlg, IDC_OPEN_URL, urltext, sizeof(urltext));
- GetWindowText(hwndDlg, titlebartxt, sizeof(titlebartxt));
-
- while (hContact != NULL)
- {
- szProto = (char *) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0);
- if (szProto != NULL && !lstrcmp(DLLNAME, szProto))
- {
- DBGetContactSetting(hContact, DLLNAME, URL_KEY, &dbv);
- DBGetContactSetting(hContact, DLLNAME, PRESERVE_NAME_KEY, &dbv2);
-
- if ((!lstrcmp(urltext, dbv.pszVal)) && (!lstrcmp(titlebartxt, dbv2.pszVal)))
- {
- contactcount++;
- if (contactcount > 1)
- {
- MessageBox(NULL, Translate("ERROR: You have two or more Webview contacts with the same URL and contact name."), DLLNAME, MB_OK);
- break;
- }
- ContactHwnd = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_CONTACT_OPT), hwndDlg, DlgProcContactOpt, (LPARAM) (HANDLE) hContact);
- ShowWindow(ContactHwnd, SW_SHOW);
- SetActiveWindow(ContactHwnd);
- EnableWindow(GetDlgItem(hwndDlg, IDC_OPTIONS_BUTTON), 0);
- EnableWindow(GetDlgItem(hwndDlg, IDC_ALERT_BUTTON), 0);
-
- }
- DBFreeVariant(&dbv);
- DBFreeVariant(&dbv2);
-
- }
- hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0);
- }
-
- //
- }
- break;
-
- // ///
- case IDC_ALERT_BUTTON:
- {
- HWND hwndAlertOpt;
- HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
- char *szProto;
- char urltext[300];
- char titlebartxt[300];
- int contactcount = 0;
-
- //
- ZeroMemory(&urltext, sizeof(urltext));
- ZeroMemory(&titlebartxt, sizeof(titlebartxt));
-
- //GetDlgItemText(hwndDlg, IDC_HIDDEN_URL, urltext, sizeof(urltext));
- GetDlgItemText(hwndDlg, IDC_OPEN_URL, urltext, sizeof(urltext));
- GetWindowText(hwndDlg, titlebartxt, sizeof(titlebartxt));
-
- while (hContact != NULL)
- {
- szProto = (char *) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0);
- if (szProto != NULL && !lstrcmp(DLLNAME, szProto))
- {
- DBGetContactSetting(hContact, DLLNAME, URL_KEY, &dbv);
- DBGetContactSetting(hContact, DLLNAME, PRESERVE_NAME_KEY, &dbv2);
-
- if ((!lstrcmp(urltext, dbv.pszVal)) && (!lstrcmp(titlebartxt, dbv2.pszVal)))
- {
- contactcount++;
- if (contactcount > 1)
- {
- MessageBox(NULL, Translate("ERROR: You have two or more Webview contacts with the same URL and contact name."), DLLNAME, MB_OK);
- break;
- }
- hwndAlertOpt = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_ALRT_OPT), hwndDlg, DlgProcAlertOpt, (LPARAM) (HANDLE) hContact);
- ShowWindow(hwndAlertOpt, SW_SHOW);
- SetActiveWindow(hwndAlertOpt);
- EnableWindow(GetDlgItem(hwndDlg, IDC_ALERT_BUTTON), 0);
- EnableWindow(GetDlgItem(hwndDlg, IDC_OPTIONS_BUTTON), 0);
-
- }
- DBFreeVariant(&dbv);
- DBFreeVariant(&dbv2);
- }
- hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0);
- }
-
- }
- break;
-
- case IDOK:
- case IDCANCEL:
- if (hwndDlg != NULL)
- DestroyWindow(hwndDlg);
- return TRUE;
- }
- break;
-
- break;
-
- case WM_CLOSE:
- {
- //
- HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
- char *szProto;
- char urltext[300];
- char titlebartxt[300];
- int contactcount = 0;
-
- if (Yposition == -32000)
- Yposition = 100;
-
- if (Xposition == -32000)
- Xposition = 100;
-
- SavewinSettings();
-
- /**/
- //
- ZeroMemory(&urltext, sizeof(urltext));
- ZeroMemory(&titlebartxt, sizeof(titlebartxt));
-
- //GetDlgItemText(hwndDlg, IDC_HIDDEN_URL, urltext, sizeof(urltext));
- GetDlgItemText(hwndDlg, IDC_OPEN_URL, urltext, sizeof(urltext));
- GetWindowText(hwndDlg, titlebartxt, sizeof(titlebartxt));
-
- while (hContact != NULL)
- {
- szProto = (char *) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0);
- if (szProto != NULL && !lstrcmp(DLLNAME, szProto))
- {
- DBGetContactSetting(hContact, DLLNAME, URL_KEY, &dbv);
- DBGetContactSetting(hContact, DLLNAME, PRESERVE_NAME_KEY, &dbv2);
-
- if ((!lstrcmp(urltext, dbv.pszVal)) && (!lstrcmp(titlebartxt, dbv2.pszVal)))
- {
- contactcount++;
- if (contactcount > 1)
- break;
-
- //
- Utils_SaveWindowPosition(hwndDlg, hContact, DLLNAME, "WV");
-
- //
-
- }
- DBFreeVariant(&dbv);
- DBFreeVariant(&dbv2);
-
- }
- hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0);
- }
-
- /**/
-
- if (hwndDlg != NULL)
- DestroyWindow(hwndDlg);
- return 0;
- break;
- }
-
- case WM_DESTROY:
- {
- WindowList_Remove(hWindowList, hwndDlg);
- return 0;
- break;
- }
-
- case WM_SIZE:
- {
- UTILRESIZEDIALOG urd = {0};
-
- urd.cbSize = sizeof(urd);
- urd.hInstance = hInst;
- urd.hwndDlg = hwndDlg;
- urd.lParam = 0;
- urd.lpTemplate = MAKEINTRESOURCE(IDD_DISPLAY_DATA);
- urd.pfnResizer = DataDialogResize;
- CallService(MS_UTILS_RESIZEDIALOG, 0, (LPARAM) & urd);
- InvalidateRect(hwndDlg, NULL, TRUE);
-
- GetWindowRect(hwndDlg, &rc);
-
- // global
- Xposition = rc.left;
- Yposition = rc.top;
- WindowHeight = rc.bottom - rc.top;
- WindowWidth = rc.right - rc.left;
-
- break;
- }
-
- case WM_MOVE:
- if ((!IsIconic(hwndDlg)) && (!IsZoomed(hwndDlg)))
- {
-
- GetWindowRect(hwndDlg, &rc);
- // global
- Xposition = rc.left;
- Yposition = rc.top;
- WindowHeight = rc.bottom - rc.top;
- WindowWidth = rc.right - rc.left;
-
- if ((GetAsyncKeyState(VK_CONTROL) & 0x8000))
- {
- break;
- return 0;
- }
- ValidatePosition(hwndDlg);
-
- }
- }
- return FALSE;
-}
-/***********************/
-
-/*****************************/
-
-int DataDialogResize(HWND hwndDlg, LPARAM lParam, UTILRESIZECONTROL * urc)
-{
- switch (urc->wId)
- {
-
- case IDC_OPEN_URL:
- return RD_ANCHORX_WIDTH | RD_ANCHORY_TOP;
- case IDC_DATA:
- return RD_ANCHORX_WIDTH | RD_ANCHORY_HEIGHT;
- case IDC_STATUSBAR:
- return RD_ANCHORX_WIDTH | RD_ANCHORX_RIGHT;
-
- }
- return RD_ANCHORX_LEFT | RD_ANCHORY_TOP;
-}
-
-/****************************/
-
-/************/
-void SavewinSettings(void)
-{
-
- if (Yposition == -32000)
- Yposition = 100;
-
- if (Xposition == -32000)
- Xposition = 100;
-
- DBWriteContactSettingDword(NULL, DLLNAME, Xpos_WIN_KEY, Xposition);
- DBWriteContactSettingDword(NULL, DLLNAME, Ypos_WIN_KEY, Yposition);
-
- DBWriteContactSettingDword(NULL, DLLNAME, BG_COLOR_KEY, BackgoundClr);
- DBWriteContactSettingDword(NULL, DLLNAME, TXT_COLOR_KEY, TextClr);
- DBWriteContactSettingDword(NULL, DLLNAME, WIN_HEIGHT_KEY, WindowHeight);
- DBWriteContactSettingDword(NULL, DLLNAME, WIN_WIDTH_KEY, WindowWidth);
-
-}
-/************/
-
-/************************/
-void ValidatePosition(HWND hwndDlg)
-{
- RECT r;
- POINT pt;
-
- typedef HMONITOR WINAPI MyMonitorFromPoint(POINT, DWORD);
- typedef BOOL WINAPI MyGetMonitorInfo(HMONITOR, LPMONITORINFO);
-
- HMODULE hUserInstance = GetModuleHandle("user32");
-
- SystemParametersInfo(SPI_GETWORKAREA, 0, &r, 0);
-
- MyMonitorFromPoint *LPMyMonitorFromPoint = (MyMonitorFromPoint *) GetProcAddress(hUserInstance, "MonitorFromPoint");
-
- if (LPMyMonitorFromPoint)
- {
- MONITORINFO monitorInfo;
- HMONITOR hMonitor = LPMyMonitorFromPoint(pt, MONITOR_DEFAULTTONEAREST); // always
-
- //
-
- // returns
- // a
- // valid
- // value
-
- monitorInfo.cbSize = sizeof(MONITORINFO);
-
- if ((MyGetMonitorInfo *) GetProcAddress(hUserInstance, "GetMonitorInfoA") (hMonitor, &monitorInfo))
- {
- CopyMemory(&r, &monitorInfo.rcMonitor, sizeof(RECT));
-
- }
- }
-// /window going off right of screen*
- if (((Xposition) + WindowWidth) >= r.right)
- {
- Xposition = r.right - WindowWidth;
-
- }
-// window going off bottom of screen
- if (((Yposition) + (WindowHeight)) >= r.bottom)
- {
- Yposition = (r.bottom - (WindowHeight));
-
- }
-// window going off left of screen
- if (((Xposition)) >= r.right)
- {
- Xposition = 0;
-
- }
-}
-
-/***********************/
|