From 2bf7e3ba50b1bf547c726523cf842e9263d5db18 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 28 Jul 2013 18:37:34 +0000 Subject: first version of WebView that compiles in Unicode (but certaily doesn't work) git-svn-id: http://svn.miranda-ng.org/main/trunk@5516 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/WebView/src/webview.h | 540 ++++++++++++++---------------------------- 1 file changed, 179 insertions(+), 361 deletions(-) (limited to 'plugins/WebView/src/webview.h') diff --git a/plugins/WebView/src/webview.h b/plugins/WebView/src/webview.h index d78adc247c..0e5dd41f3d 100644 --- a/plugins/WebView/src/webview.h +++ b/plugins/WebView/src/webview.h @@ -1,25 +1,69 @@ /* - * A plugin for Miranda IM which displays web page text in a window Copyright + * 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 + * 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 + * 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. + * with this program; if not, write to the Free Software Foundation, Inc., 59 + * Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#define CFM_BACKCOLOR 0x04000000 + +#define MODULENAME "WebView" + +#define MENU_OFF "DisableMenu" +#define REFRESH_KEY "Refresh interval" +#define ON_TOP_KEY "Always on top" +#define OFFLINE_STATUS "OfflineOnBoot" +#define URL_KEY "URL" +#define START_STRING_KEY "Start_string" +#define END_STRING_KEY "End_String" +#define DBLE_WIN_KEY "Doub_click_win" +#define HIDE_STATUS_ICON_KEY "Hide_Status_Icon" +#define HAS_CRASHED_KEY "Has_Crashed" +#define U_ALLSITE_KEY "UseAllTheWebsite" +#define MENU_IS_DISABLED_KEY "MainMenuReallyDisabled" +#define UPDATE_ONALERT_KEY "WND_UPDATE_OALERY_ONLY" +#define DISABLE_AUTOUPDATE_KEY "Disable_Auto_Update" +#define RWSPACE_KEY "level_of_wspace_removal" +#define PRESERVE_NAME_KEY "PreserveName" +#define CLEAR_DISPLAY_KEY "Remove_tags_whitespace" +#define ALRT_S_STRING_KEY "ALRT_S_STRING" +#define ALRT_E_STRING_KEY "ALRT_E_STRING" +#define ALRT_INDEX_KEY "AlertIndex" +#define EVNT_INDEX_KEY "EventIndex" +#define START_DELAY_KEY "StartUpDelay" +#define ALWAYS_LOG_KEY "AlwaysLogToFile" +#define SAVE_INDIVID_POS_KEY "SaveIndividWinPos" +#define NO_PROTECT_KEY "NoDownloadProtection" +#define SAVE_AS_RAW_KEY "SaveAsRaw" +#define FONT_SCRIPT_KEY "FontScript" +#define STOP_KEY "StopProcessing" +#define DATA_POPUP_KEY "DisplayDataPopup" +#define COUNTDOWN_KEY "Countdown" + +#define MINUTE 60000 +#define SECOND 1000 + +#define MS_UPDATE_ALL "Webview/UpdateAll" +#define MS_ADD_SITE "Webview/AddSite" +#define MS_AUTO_UPDATE "Webview/AutoUpdate" + +#define CACHE_FILE_KEY "Filename" + #define Xpos_WIN_KEY "win_Xpos" #define Ypos_WIN_KEY "win_Ypos" #define BG_COLOR_KEY "BgColor" @@ -60,364 +104,138 @@ #define TIME 60 #define Def_color_bg 0x00ffffff #define Def_color_txt 0x00000000 +#define Def_font_face _T("Courier") +#define Def_font_size 14 #define HK_SHOWHIDE 3001 #define MAXSIZE1 250000 #define MAXSIZE2 500000 #define MAXSIZE3 1000000 -static UINT expertOnlyControls[] = -{IDC_ADV_GRP, - IDC_NO_PROTECT, -IDC_NOT_RECOMND_TXT}; +#define Def_win_height 152 +#define Def_win_width 250 //lets get rid of some warnings -void ErrorMsgs(char *contactname, char *displaytext); void CodetoSymbol(char *truncated); -static void GetData(void *hContact); -BOOL CALLBACK DlgProcDisplayData(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); -void FillFontListThread(HWND hwndDlg); -static BOOL CALLBACK DlgProcAlertOpt(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); -int DataWndAlertCommand(void *AContact); - - - // /////////////////////// -// characters and symbols// -// /////////////////////// - -#define AMOUNT3 164 - -char*CharacterCodes[AMOUNT3] = -{ - - """, - "&", - "<", - ">", - " ", - "¡", - "¢", - "£", - "¤", - "¥", - "¦", - "§", - "¨", - "©", - "ª", - "«", - "¬", - "­", - "®", - "¯", - "°", - "±", - "²", - "³", - "´", - "µ", - "¶", - "·", - "¸", - "¹", - "º", - "»", - "¼", - "½", - "¾", - "¿", - "À", - "Á", - "Â", - "Ã", - "Ä", - "Å", - "Æ", - "Ç", - "È", - "É", - "Ê", - "Ë", - "Ì", - "Í", - "Î", - "Ï", - "Ð", - "Ñ", - "Ò", - "Ó", - "Ô", - "Õ", - "Ö", - "×", - "Ø", - "Ù", - "Ú", - "Û", - "Ü", - "Ý", - "Þ", - "ß", - "à", - "á", - "â", - "ã", - "ä", - "å", - "æ", - "ç", - "è", - "é", - "ê", - "ë", - "ì", - "í", - "î", - "ï", - "ð", - "ñ", - "ò", - "ó", - "ô", - "õ", - "ö", - "÷", - "ø", - "ù", - "ú", - "û", - "ü", - "ý", - "þ", - "&yumil;", - "Œ", // greater that 255, extra latin characters - "œ", - "Š", - "š", - "Ÿ", - "ƒ", - "ˆ", - "˜", - "Œ", - "œ", - "Š", - "š", - "Ÿ", - "ƒ", - "ˆ", - "˜", - "–", // Misc other characters - "—", - "‘", - "’", - "‚", - "“", - "”", - "„", - "†", - "‡", - "•", - "…", - "‰", - "‹", - "›", - "€", - "ℑ", - "ℜ", - "™", - "–", - "—", - "‘", - "’", - "‚", - "“", - "”", - "„", - "†", - "‡", - "•", - "…", - "‰", - "‹", - "›", - "€", - "ℑ", - "ℜ", - "™", - " ", - " ", - " ", - " ", - " ", - " ", - "õ", // symbols without numeric code - "¿", - "¦", -"¯"}; - -char Characters[AMOUNT3] = -{ - '\"', - '&', - '<', - '>', - ' ', - '¡', - '¢', - '£', - '¤', - '¥', - '¦', - '§', - '¨', - '©', - 'ª', - '«', - '¬', - '­', - '®', - '¯', - '°', - '±', - '²', - '³', - '´', - 'µ', - '¶', - '·', - '¸', - '¹', - 'º', - '»', - '¼', - '½', - '¾', - '¿', - 'À', - 'Á', - 'Â', - 'Ã', - 'Ä', - 'Å', - 'Æ', - 'Ç', - 'È', - 'É', - 'Ê', - 'Ë', - 'Ì', - 'Í', - 'Î', - 'Ï', - 'Ð', - 'Ñ', - 'Ò', - 'Ó', - 'Ô', - 'Õ', - 'Ö', - '×', - 'Ø', - 'Ù', - 'Ú', - 'Û', - 'Ü', - 'Ý', - 'Þ', - 'ß', - 'à', - 'á', - 'â', - 'ã', - 'ä', - 'å', - 'æ', - 'ç', - 'è', - 'é', - 'ê', - 'ë', - 'ì', - 'í', - 'î', - 'ï', - 'ð', - 'ñ', - 'ò', - 'ó', - 'ô', - 'õ', - 'ö', - '÷', - 'ø', - 'ù', - 'ú', - 'û', - 'ü', - 'ý', - 'þ', - 'ÿ', - 'Œ', // greater than 255 extra latin characters - 'œ', - 'Š', - 'š', - 'Ÿ', - 'ƒ', - 'ˆ', - '˜', - 'Œ', - 'œ', - 'Š', - 'š', - 'Ÿ', - 'ƒ', - 'ˆ', - '˜', - '–', - '—', // misc other characters - '‘', - '’', - '‚', - '“', - '”', - '„', - '†', - '‡', - '•', - '…', - '‰', - '‹', - '›', - '€', - 'I', - 'R', - '™', - '–', - '—', - '‘', - '’', - '‚', - '“', - '”', - '„', - '†', - '‡', - '•', - '…', - '‰', - '‹', - '›', - '€', - 'I', - 'R', - '™', - ' ', - ' ', - ' ', - ' ', - ' ', - ' ', - 'õ', - '¿', - '¦', -'¯'}; +void GetData(HANDLE hContact); +void FillFontListThread(void *); + +INT_PTR CALLBACK DlgProcDisplayData(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK DlgProcAlertOpt(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK DlgProcOpt(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); + +int DataWndAlertCommand(WPARAM wParam, LPARAM lParam); +int PopupAlert(WPARAM wParam, LPARAM lParam); +int WPopupAlert(WPARAM wParam, LPARAM lParam); +int ErrorMsgs(WPARAM wParam, LPARAM lParam); +int OSDAlert(WPARAM wParam, LPARAM lParam); + +void ReadFromFile(void *hContact); + +/* + * some globals for window settings + */ + +extern DWORD Xposition, Yposition, BackgoundClr, TextClr, WindowHeight, WindowWidth; +extern UINT_PTR timerId, Countdown; +extern LOGFONT lf; +extern HFONT h_font; +extern HWND ContactHwnd; +extern HINSTANCE hInst; +extern HMENU hMenu; +extern int bpStatus; +extern HANDLE hNetlibUser, hWindowList; +extern HANDLE hMenuItem1, hMenuItemCountdown; +extern char optionsname[80]; + +//lets get rid of some warnings +void timerfunc(void); +void Countdownfunc(void); +void SavewinSettings(void); +void ValidatePosition(HWND hwndDlg); +int ModulesLoaded(WPARAM wParam, LPARAM lParam); +void ChangeMenuItem3(); +int ContactMenuItemUpdateData (WPARAM wParam, LPARAM lParam); + +int Doubleclick(WPARAM wParam, LPARAM lParam); +int DBSettingChanged(WPARAM wParam, LPARAM lParam); + +int SendToRichEdit(HWND hWindow, char *truncated, COLORREF rgbText, COLORREF rgbBack); + +//Services +INT_PTR GetCaps(WPARAM wParam, LPARAM lParam); +INT_PTR GetName(WPARAM wParam, LPARAM lParam); +INT_PTR BPLoadIcon(WPARAM wParam, LPARAM lParam); // BPLoadIcon + +INT_PTR SetStatus(WPARAM wParam, LPARAM lParam); +INT_PTR GetStatus(WPARAM wParam, LPARAM lParam); + +INT_PTR BasicSearch(WPARAM wParam, LPARAM lParam); +INT_PTR AddToList(WPARAM wParam, LPARAM lParam); +INT_PTR GetInfo(WPARAM wParam, LPARAM lParam); + +INT_PTR OpenCacheDir(WPARAM wParam, LPARAM lParam); + +INT_PTR UpdateAllMenuCommand(WPARAM wParam, LPARAM lParam); +INT_PTR CountdownMenuCommand(WPARAM wParam, LPARAM lParam); +INT_PTR MarkAllReadMenuCommand(WPARAM wParam, LPARAM lParam); +INT_PTR WebsiteMenuCommand(WPARAM wParam, LPARAM lParam); +INT_PTR AddContactMenuCommand(WPARAM wParam, LPARAM lParam); +INT_PTR ContactOptionsMenuCommand(WPARAM wParam, LPARAM lParam); +INT_PTR CntOptionsMenuCommand(WPARAM wParam, LPARAM lParam); +INT_PTR CntAlertMenuCommand(WPARAM wParam, LPARAM lParam); +INT_PTR DataWndMenuCommand(WPARAM wParam, LPARAM lParam); +INT_PTR ShowHideContactCommand(WPARAM wParam, LPARAM lParam); +INT_PTR PingWebsiteMenuCommand(WPARAM wParam, LPARAM lParam); +INT_PTR StpPrcssMenuCommand(WPARAM wParam, LPARAM lParam); + +int UpdateMenuCommand(WPARAM wParam, LPARAM lParam, HANDLE singlecontact); +int OnTopMenuCommand(WPARAM wParam, LPARAM lParam, HANDLE singlecontact); + +// +void ChangeContactStatus(int con_stat); +void InitialiseGlobals(void); +void FontSettings(void); + +/// + +void Removewhitespace(char *truncated); +void RemoveInvis(char *truncated, int AmountWspcRem); +void RemoveTabs(char *truncated); +void FastTagFilter(char *truncated); +void EraseBlock(char *truncated); +void EraseSymbols(char *truncated); +int ProcessAlerts(HANDLE hContact, char *truncated, char *tstr, char *contactname, int notpresent); + +INT_PTR CALLBACK DlgPopUpOpts(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK DlgProcFind(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); +int DataDialogResize(HWND hwndDlg, LPARAM lParam, UTILRESIZECONTROL * urc); + +void Filter(char *truncated); +void TxtclrLoop(); +void BGclrLoop(); +void ContactLoop(void *dummy); +void NumSymbols(char *truncated); + +INT_PTR AutoUpdateMCmd(WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK DlgProcContactOpt(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); +void AckFunc(void *dummy); +int SiteDeleted(WPARAM wParam, LPARAM lParam); + +int WErrorPopup(HANDLE hContact, TCHAR *textdisplay); +int WAlertPopup(HANDLE hContact, TCHAR *displaytext); + +////////////////////// +// wrappers + +extern HANDLE hHookDisplayDataAlert; +#define ME_DISPLAYDATA_ALERT "Miranda/ALERT/DISPLAYDATA" + +extern HANDLE hHookAlertPopup; +#define ME_POPUP_ALERT "Miranda/ALERT/POPUP" + +extern HANDLE hHookErrorPopup; +#define ME_POPUP_ERROR "Miranda/ERROR/POPUP" + +extern HANDLE hHookAlertOSD; +#define ME_OSD_ALERT "Miranda/ALERT/OSD" -- cgit v1.2.3