From f04d64869f3b1de54fb343f28f955584780001b8 Mon Sep 17 00:00:00 2001 From: mataes2007 Date: Sat, 26 Nov 2011 15:41:10 +0000 Subject: Project folders rename part 3 git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@215 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- ieview/ScriverHTMLBuilder.cpp | 451 ------------------------------------------ 1 file changed, 451 deletions(-) delete mode 100644 ieview/ScriverHTMLBuilder.cpp (limited to 'ieview/ScriverHTMLBuilder.cpp') diff --git a/ieview/ScriverHTMLBuilder.cpp b/ieview/ScriverHTMLBuilder.cpp deleted file mode 100644 index 567dedd..0000000 --- a/ieview/ScriverHTMLBuilder.cpp +++ /dev/null @@ -1,451 +0,0 @@ -/* - -IEView Plugin for Miranda IM -Copyright (C) 2005-2010 Piotr Piastucki - -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. - -*/ -#include "ScriverHTMLBuilder.h" - -#include "Options.h" -#include "Utils.h" - -// srmm stuff -#define SMF_LOG_SHOWNICK 1 -#define SMF_LOG_SHOWTIME 2 -#define SMF_LOG_SHOWDATE 4 -#define SMF_LOG_SHOWICONS 8 -#define SMF_LOG_SHOWSTATUSCHANGES 16 -#define SMF_LOG_SHOWSECONDS 32 -#define SMF_LOG_USERELATIVEDATE 64 -#define SMF_LOG_USELONGDATE 128 -#define SMF_LOG_GROUPMESSAGES 256 -#define SMF_LOG_MARKFOLLOWUPS 512 -#define SMF_LOG_MSGONNEWLINE 1024 -#define SMF_LOG_DRAWLINES 2048 - -#define SRMMMOD "SRMM" - -#define SRMSGSET_SHOWLOGICONS "ShowLogIcon" -#define SRMSGSET_HIDENAMES "HideNames" -#define SRMSGSET_SHOWTIME "ShowTime" -#define SRMSGSET_SHOWDATE "ShowDate" -#define SRMSGSET_SHOWSTATUSCHANGES "ShowStatusChanges" -#define SRMSGSET_SHOWSECONDS "ShowSeconds" -#define SRMSGSET_USERELATIVEDATE "UseRelativeDate" -#define SRMSGSET_USELONGDATE "UseLongDate" -#define SRMSGSET_GROUPMESSAGES "GroupMessages" -#define SRMSGSET_MARKFOLLOWUPS "MarkFollowUps" -#define SRMSGSET_MESSAGEONNEWLINE "MessageOnNewLine" -#define SRMSGSET_DRAWLINES "DrawLines" - -#define FONTF_BOLD 1 -#define FONTF_ITALIC 2 -#define FONTF_UNDERLINE 4 - -#define FONT_NUM 10 - -static const char *classNames[] = { - ".messageOut", ".messageIn", ".nameOut", ".timeOut", ".colonOut", ".nameIn", ".timeIn", ".colonIn", - ".inputArea", ".notices" -}; - -ScriverHTMLBuilder::ScriverHTMLBuilder() { - setLastEventType(-1); - setLastEventTime(time(NULL)); - startedTime = time(NULL); -} - -bool ScriverHTMLBuilder::isDbEventShown(DBEVENTINFO * dbei) -{ - switch (dbei->eventType) { - case EVENTTYPE_MESSAGE: - return 1; - case EVENTTYPE_STATUSCHANGE: - // if (dbei->flags & DBEF_READ) return 0; - return 1; - case EVENTTYPE_URL: - return 1; - case EVENTTYPE_FILE: - return 1; - } - return 0; -} - -void ScriverHTMLBuilder::loadMsgDlgFont(int i, LOGFONTA * lf, COLORREF * colour) { - char str[32]; - int style; - DBVARIANT dbv; - if (colour) { - wsprintfA(str, "SRMFont%dCol", i); - *colour = DBGetContactSettingDword(NULL, SRMMMOD, str, 0x000000); - } - if (lf) { - wsprintfA(str, "SRMFont%dSize", i); - lf->lfHeight = (char) DBGetContactSettingByte(NULL, SRMMMOD, str, 10); - lf->lfHeight = abs(lf->lfHeight); - lf->lfWidth = 0; - lf->lfEscapement = 0; - lf->lfOrientation = 0; - wsprintfA(str, "SRMFont%dSty", i); - style = DBGetContactSettingByte(NULL, SRMMMOD, str, 0); - lf->lfWeight = style & FONTF_BOLD ? FW_BOLD : FW_NORMAL; - lf->lfItalic = style & FONTF_ITALIC ? 1 : 0; - lf->lfUnderline = style & FONTF_UNDERLINE ? 1 : 0; - lf->lfStrikeOut = 0; - wsprintfA(str, "SRMFont%dSet", i); - lf->lfCharSet = DBGetContactSettingByte(NULL, SRMMMOD, str, DEFAULT_CHARSET); - lf->lfOutPrecision = OUT_DEFAULT_PRECIS; - lf->lfClipPrecision = CLIP_DEFAULT_PRECIS; - lf->lfQuality = DEFAULT_QUALITY; - lf->lfPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE; - wsprintfA(str, "SRMFont%d", i); - if (DBGetContactSetting(NULL, SRMMMOD, str, &dbv)) - lstrcpyA(lf->lfFaceName, "Verdana"); - else { - lstrcpynA(lf->lfFaceName, dbv.pszVal, sizeof(lf->lfFaceName)); - DBFreeVariant(&dbv); - } - } -} - -char *ScriverHTMLBuilder::timestampToString(DWORD dwFlags, time_t check, int mode) { - static char szResult[512]; - char str[80]; - char format[20]; - DBTIMETOSTRING dbtts; - - szResult[0] = '\0'; - format[0] = '\0'; - - dbtts.cbDest = 70;; - dbtts.szDest = str; - dbtts.szFormat = format; - - if ((mode == 0 || mode == 1) && (dwFlags & SMF_LOG_SHOWDATE)) { - struct tm tm_now, tm_today; - time_t now = time(NULL); - time_t today; - tm_now = *localtime(&now); - tm_today = tm_now; - tm_today.tm_hour = tm_today.tm_min = tm_today.tm_sec = 0; - today = mktime(&tm_today); - - if(dwFlags & SMF_LOG_USERELATIVEDATE && check >= today) { - strcpy(szResult, Translate("Today")); - if (mode == 0) { - strcat(szResult, ","); - } - } else if(dwFlags & SMF_LOG_USERELATIVEDATE && check > (today - 86400)) { - strcpy(szResult, Translate("Yesterday")); - if (mode == 0) { - strcat(szResult, ","); - } - } else { - if(dwFlags & SMF_LOG_USELONGDATE) - strcpy(format, "D"); - else - strcpy(format, "d"); - } - } - if (mode == 0 || mode == 2) { - if (mode == 0 && (dwFlags & SMF_LOG_SHOWDATE)) { - strcat(format, " "); - } - strcat(format, (dwFlags & SMF_LOG_SHOWSECONDS) ? "s" : "t"); - } - if (format[0] != '\0') { -// CallService(MS_DB_TIME_TIMESTAMPTOSTRINGT, check, (LPARAM) & dbtts); - CallService(MS_DB_TIME_TIMESTAMPTOSTRING, check, (LPARAM) & dbtts); - //_tcsncat(szResult, str, 500); - strncat(szResult, str, 500); - } - Utils::UTF8Encode(szResult, szResult, 500); - return szResult; -} - - -void ScriverHTMLBuilder::buildHead(IEView *view, IEVIEWEVENT *event) { - LOGFONTA lf; - COLORREF color; - char *output = NULL; - int outputSize; - ProtocolSettings *protoSettings = getSRMMProtocolSettings(event->hContact); - if (protoSettings == NULL) { - return; - } - if (protoSettings->getSRMMMode() == Options::MODE_TEMPLATE) { - buildHeadTemplate(view, event, protoSettings); - return; - } - if (protoSettings->getSRMMMode() == Options::MODE_CSS) { - const char *externalCSS = protoSettings->getSRMMCssFilename(); - if (strncmp(externalCSS, "http://", 7)) { - Utils::appendText(&output, &outputSize, "\n", externalCSS); - } else { - Utils::appendText(&output, &outputSize, "\n", externalCSS); - } - } else { - HDC hdc = GetDC(NULL); - int logPixelSY = GetDeviceCaps(hdc, LOGPIXELSY); - ReleaseDC(NULL, hdc); - Utils::appendText(&output, &outputSize, ""); - Utils::appendText(&output, &outputSize, "\n"); - } - if (output != NULL) { - view->write(output); - free(output); - } - setLastEventType(-1); -} - -void ScriverHTMLBuilder::appendEventNonTemplate(IEView *view, IEVIEWEVENT *event) { - bool showColon; - DWORD dwFlags = DBGetContactSettingByte(NULL, SRMMMOD, SRMSGSET_SHOWTIME, 0) ? SMF_LOG_SHOWTIME : 0; - dwFlags |= !DBGetContactSettingByte(NULL, SRMMMOD, SRMSGSET_HIDENAMES, 0) ? SMF_LOG_SHOWNICK : 0; - dwFlags |= DBGetContactSettingByte(NULL, SRMMMOD, SRMSGSET_SHOWDATE, 0) ? SMF_LOG_SHOWDATE : 0; - dwFlags |= DBGetContactSettingByte(NULL, SRMMMOD, SRMSGSET_SHOWLOGICONS, 0) ? SMF_LOG_SHOWICONS : 0; - dwFlags |= DBGetContactSettingByte(NULL, SRMMMOD, SRMSGSET_SHOWSTATUSCHANGES, 0) ? SMF_LOG_SHOWSTATUSCHANGES : 0; - dwFlags |= DBGetContactSettingByte(NULL, SRMMMOD, SRMSGSET_SHOWSECONDS, 0) ? SMF_LOG_SHOWSECONDS : 0; - dwFlags |= DBGetContactSettingByte(NULL, SRMMMOD, SRMSGSET_USERELATIVEDATE, 0) ? SMF_LOG_USERELATIVEDATE : 0; - dwFlags |= DBGetContactSettingByte(NULL, SRMMMOD, SRMSGSET_USELONGDATE, 0) ? SMF_LOG_USELONGDATE : 0; - dwFlags |= DBGetContactSettingByte(NULL, SRMMMOD, SRMSGSET_GROUPMESSAGES, 0) ? SMF_LOG_GROUPMESSAGES : 0; - dwFlags |= DBGetContactSettingByte(NULL, SRMMMOD, SRMSGSET_MARKFOLLOWUPS, 0) ? SMF_LOG_MARKFOLLOWUPS : 0; - dwFlags |= DBGetContactSettingByte(NULL, SRMMMOD, SRMSGSET_MESSAGEONNEWLINE, 0) ? SMF_LOG_MSGONNEWLINE : 0; - dwFlags |= DBGetContactSettingByte(NULL, SRMMMOD, SRMSGSET_DRAWLINES, 0) ? SMF_LOG_DRAWLINES : 0; - - char *szRealProto = getRealProto(event->hContact); - IEVIEWEVENTDATA* eventData = event->eventData; - for (int eventIdx = 0; eventData!=NULL && (eventIdx < event->count || event->count==-1); eventData = eventData->next, eventIdx++) { - const char *className = ""; - int outputSize; - char *output; - output = NULL; - int isSent = eventData->dwFlags & IEEDF_SENT; - int isRTL = eventData->dwFlags & IEEDF_RTL; - showColon = false; - if (eventData->iType == IEED_EVENT_MESSAGE || eventData->iType == IEED_EVENT_STATUSCHANGE - || eventData->iType == IEED_EVENT_URL || eventData->iType == IEED_EVENT_FILE) { - int isGroupBreak = TRUE; - if ((dwFlags & SMF_LOG_GROUPMESSAGES) && eventData->dwFlags == LOWORD(getLastEventType()) - && eventData->iType == IEED_EVENT_MESSAGE && HIWORD(getLastEventType()) == IEED_EVENT_MESSAGE - && (isSameDate(eventData->time, getLastEventTime())) - && (((eventData->time < startedTime) == (getLastEventTime() < startedTime)) || !(eventData->dwFlags & IEEDF_READ))) { - isGroupBreak = FALSE; - } - char *szName = NULL; - char *szText = NULL; - if (eventData->dwFlags & IEEDF_UNICODE_NICK) { - szName = encodeUTF8(event->hContact, szRealProto, eventData->pszNickW, ENF_NAMESMILEYS, true); - } else { - szName = encodeUTF8(event->hContact, szRealProto, eventData->pszNick, ENF_NAMESMILEYS, true); - } - if (eventData->dwFlags & IEEDF_UNICODE_TEXT) { - szText = encodeUTF8(event->hContact, szRealProto, eventData->pszTextW, eventData->iType == IEED_EVENT_MESSAGE ? ENF_ALL : 0, isSent); - } else { - szText = encodeUTF8(event->hContact, szRealProto, eventData->pszText, event->codepage, eventData->iType == IEED_EVENT_MESSAGE ? ENF_ALL : 0, isSent); - } - /* Scriver-specific formatting */ - if ((dwFlags & SMF_LOG_DRAWLINES) && isGroupBreak && getLastEventType()!=-1) { - if (eventData->iType == IEED_EVENT_MESSAGE) { - className = isRTL ? isSent ? "divOutGridRTL" : "divInGridRTL" : isSent ? "divOutGrid" : "divInGrid"; - } else { - className = isRTL ? isSent ? "divNoticeGridRTL" : "divNoticeGridRTL" : isSent ? "divNoticeGrid" : "divNoticeGrid"; - } - } else { - if (eventData->iType == IEED_EVENT_MESSAGE) { - className = isRTL ? isSent ? "divOutRTL" : "divInRTL" : isSent ? "divOut" : "divIn"; - } else { - className = isRTL ? isSent ? "divNoticeRTL" : "divNoticeRTL" : isSent ? "divNotice" : "divNotice"; - } - } - Utils::appendText(&output, &outputSize, "
", className); - if ((dwFlags & SMF_LOG_SHOWICONS) && isGroupBreak) { - const char *iconFile = ""; - if (eventData->iType == IEED_EVENT_MESSAGE) { - iconFile = isSent ? "message_out.gif" : "message_in.gif"; - } else if (eventData->iType == IEED_EVENT_FILE) { - iconFile = "file.gif"; - } else if (eventData->iType == IEED_EVENT_URL) { - iconFile = "url.gif"; - } else if (eventData->iType == IEED_EVENT_STATUSCHANGE) { - iconFile = "status.gif"; - } - Utils::appendIcon(&output, &outputSize, iconFile); - } - - if (dwFlags & SMF_LOG_SHOWTIME && - (eventData->iType != IEED_EVENT_MESSAGE || - (dwFlags & SMF_LOG_MARKFOLLOWUPS || isGroupBreak || !(dwFlags & SMF_LOG_GROUPMESSAGES)))) { - char* timestampString = NULL; - if (dwFlags & SMF_LOG_GROUPMESSAGES) { - if (isGroupBreak) { - if (!(dwFlags & SMF_LOG_MARKFOLLOWUPS)) { - timestampString = timestampToString(dwFlags, eventData->time, 0); - } else if (dwFlags & SMF_LOG_SHOWDATE) - timestampString = timestampToString(dwFlags, eventData->time, 1); - } else if (dwFlags & SMF_LOG_MARKFOLLOWUPS) { - timestampString = timestampToString(dwFlags, eventData->time, 2); - } - } else - timestampString = timestampToString(dwFlags, eventData->time, 0); - if (timestampString != NULL) { - Utils::appendText(&output, &outputSize, "%s", - isSent ? "timeOut" : "timeIn", - timestampString); - } - if (eventData->iType != IEED_EVENT_MESSAGE) { - Utils::appendText(&output, &outputSize, ": ", - isSent ? "colonOut" : "colonIn"); - } - showColon = true; - } - if ((dwFlags & SMF_LOG_SHOWNICK && eventData->iType == IEED_EVENT_MESSAGE && isGroupBreak) || eventData->iType == IEED_EVENT_STATUSCHANGE ) { - if (eventData->iType == IEED_EVENT_MESSAGE) { - if (showColon) { - Utils::appendText(&output, &outputSize, " %s", - isSent ? "nameOut" : "nameIn", - szName); - } else { - Utils::appendText(&output, &outputSize, "%s", - isSent ? "nameOut" : "nameIn", - szName); - } - showColon = true; - if (dwFlags & SMF_LOG_GROUPMESSAGES) { - Utils::appendText(&output, &outputSize, "
"); - showColon = false; - } - } else { - Utils::appendText(&output, &outputSize, "%s ", szName); - } - } - if (dwFlags & SMF_LOG_SHOWTIME && dwFlags & SMF_LOG_GROUPMESSAGES && dwFlags & SMF_LOG_MARKFOLLOWUPS - && eventData->iType == IEED_EVENT_MESSAGE && isGroupBreak) { - Utils::appendText(&output, &outputSize, "%s", - isSent ? "timeOut" : "timeIn", - timestampToString(dwFlags, eventData->time, 2)); - showColon = true; - } - if (showColon && eventData->iType == IEED_EVENT_MESSAGE) { - Utils::appendText(&output, &outputSize, ": ", - isSent ? "colonOut" : "colonIn"); - } - if (eventData->iType == IEED_EVENT_MESSAGE) { - if (dwFlags & SMF_LOG_MSGONNEWLINE && showColon) { - Utils::appendText(&output, &outputSize, "
"); - } - className = isSent ? "messageOut" : "messageIn"; - } else { - className = "notices"; - } - if (eventData->iType == IEED_EVENT_FILE) { - if (isSent) { - Utils::appendText(&output, &outputSize, "%s: %s", className, Translate("File sent"), szText); - } else { - Utils::appendText(&output, &outputSize, "%s: %s", className, Translate("File received"), szText); - } - } else if (eventData->iType == IEED_EVENT_URL) { - if (isSent) { - Utils::appendText(&output, &outputSize, "%s: %s", className, Translate("URL sent"), szText); - } else { - Utils::appendText(&output, &outputSize, "%s: %s", className, Translate("URL received"), szText); - } - } else { - Utils::appendText(&output, &outputSize, "%s", className, szText); - } - Utils::appendText(&output, &outputSize, "
\n"); - setLastEventType(MAKELONG(eventData->dwFlags, eventData->iType)); - setLastEventTime(eventData->time); - if (szName!=NULL) delete szName; - if (szText!=NULL) delete szText; - } - if (output != NULL) { - view->write(output); - free(output); - } - } - if (szRealProto!=NULL) delete szRealProto; - view->documentClose(); -// view->scrollToBottom(); -} - -void ScriverHTMLBuilder::appendEvent(IEView *view, IEVIEWEVENT *event) { - ProtocolSettings *protoSettings = getSRMMProtocolSettings(event->hContact); - if (protoSettings == NULL) { - return; - } - if (protoSettings->getSRMMMode() == Options::MODE_TEMPLATE) { - appendEventTemplate(view, event, protoSettings); - } else { - appendEventNonTemplate(view, event); - } -} -- cgit v1.2.3