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;
 -
 -   }
 -}
 -
 -/***********************/
  | 
