diff options
author | George Hazan <george.hazan@gmail.com> | 2023-10-30 15:22:28 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2023-10-30 15:22:28 +0300 |
commit | ee2337c6bc391d0ab1d58123899920c6df0d2ef0 (patch) | |
tree | 976d43891e839e11702387f121c505792f284aea | |
parent | 16143e784b1697c4b5349bc888c97f7160cf4534 (diff) |
fixes #3616 (NewStory: не работают настройки цвета своего имени и имени собеседника)
-rw-r--r-- | libs/mTextControl/src/FormattedTextDraw.cpp | 76 | ||||
-rw-r--r-- | libs/mTextControl/src/FormattedTextDraw.h | 14 | ||||
-rw-r--r-- | libs/mTextControl/src/services.cpp | 26 | ||||
-rw-r--r-- | plugins/NewStory/src/fonts.cpp | 8 | ||||
-rw-r--r-- | plugins/NewStory/src/history_array.cpp | 10 | ||||
-rw-r--r-- | plugins/NewStory/src/history_array.h | 9 | ||||
-rw-r--r-- | plugins/NewStory/src/history_control.cpp | 4 | ||||
-rw-r--r-- | plugins/NewStory/src/options.cpp | 2 | ||||
-rw-r--r-- | plugins/NewStory/src/stdafx.h | 1 | ||||
-rw-r--r-- | plugins/NewStory/src/templates.cpp | 108 | ||||
-rw-r--r-- | plugins/NewStory/src/templates.h | 19 | ||||
-rw-r--r-- | plugins/NewStory/src/version.h | 4 |
12 files changed, 129 insertions, 152 deletions
diff --git a/libs/mTextControl/src/FormattedTextDraw.cpp b/libs/mTextControl/src/FormattedTextDraw.cpp index e89ab6ad1d..e093048160 100644 --- a/libs/mTextControl/src/FormattedTextDraw.cpp +++ b/libs/mTextControl/src/FormattedTextDraw.cpp @@ -156,6 +156,8 @@ HRESULT CFormattedTextDraw::putRTFText(char *newVal) if (!m_spTextServices) return S_FALSE; + m_bNative = true; + STREAMDATATEXT streamData = {}; streamData.isUnicode = false; streamData.ansi = newVal; @@ -176,23 +178,25 @@ HRESULT CFormattedTextDraw::putRTFText(char *newVal) HRESULT CFormattedTextDraw::Draw(HDC hdcDraw, RECT *prc) { - LOGFONT lf; - GetObject(GetCurrentObject(hdcDraw, OBJ_FONT), sizeof(lf), &lf); - - LRESULT lResult; - CHARFORMAT cf; - cf.cbSize = sizeof(cf); - cf.dwMask = CFM_FACE/*|CFM_COLOR*/ | CFM_CHARSET | CFM_SIZE | - (lf.lfWeight >= FW_BOLD ? CFM_BOLD : 0) | - (lf.lfItalic ? CFM_ITALIC : 0) | - (lf.lfUnderline ? CFM_UNDERLINE : 0) | - (lf.lfStrikeOut ? CFM_STRIKEOUT : 0); - cf.dwEffects = CFE_BOLD | CFE_ITALIC | CFE_STRIKEOUT | CFE_UNDERLINE; - cf.crTextColor = GetTextColor(hdcDraw); - cf.bCharSet = lf.lfCharSet; - cf.yHeight = 1440 * abs(lf.lfHeight) / GetDeviceCaps(hdcDraw, LOGPIXELSY); - wcsncpy_s(cf.szFaceName, lf.lfFaceName, _TRUNCATE); - m_spTextServices->TxSendMessage(EM_SETCHARFORMAT, SCF_ALL, (LPARAM)&cf, &lResult); + if (!m_bNative) { + LOGFONT lf; + GetObject(GetCurrentObject(hdcDraw, OBJ_FONT), sizeof(lf), &lf); + + LRESULT lResult; + CHARFORMAT cf; + cf.cbSize = sizeof(cf); + cf.dwMask = CFM_FACE/*|CFM_COLOR*/ | CFM_CHARSET | CFM_SIZE | + (lf.lfWeight >= FW_BOLD ? CFM_BOLD : 0) | + (lf.lfItalic ? CFM_ITALIC : 0) | + (lf.lfUnderline ? CFM_UNDERLINE : 0) | + (lf.lfStrikeOut ? CFM_STRIKEOUT : 0); + cf.dwEffects = CFE_BOLD | CFE_ITALIC | CFE_STRIKEOUT | CFE_UNDERLINE; + cf.crTextColor = GetTextColor(hdcDraw); + cf.bCharSet = lf.lfCharSet; + cf.yHeight = 1440 * abs(lf.lfHeight) / GetDeviceCaps(hdcDraw, LOGPIXELSY); + wcsncpy_s(cf.szFaceName, lf.lfFaceName, _TRUNCATE); + m_spTextServices->TxSendMessage(EM_SETCHARFORMAT, SCF_ALL, (LPARAM)&cf, &lResult); + } m_spTextServices->TxDraw( DVASPECT_CONTENT, // Draw Aspect @@ -220,27 +224,29 @@ HRESULT CFormattedTextDraw::get_NaturalSize(HDC hdcDraw, long *Width, long *Heig if (iCaps == 0) return S_FALSE; - LOGFONT lf; - GetObject(GetCurrentObject(hdcDraw, OBJ_FONT), sizeof(lf), &lf); - - LRESULT lResult; - CHARFORMAT cf; - cf.cbSize = sizeof(cf); - cf.dwMask = CFM_FACE/*|CFM_COLOR*/ | CFM_CHARSET | CFM_SIZE | - (lf.lfWeight >= FW_BOLD ? CFM_BOLD : 0) | - (lf.lfItalic ? CFM_ITALIC : 0) | - (lf.lfUnderline ? CFM_UNDERLINE : 0) | - (lf.lfStrikeOut ? CFM_STRIKEOUT : 0); - cf.dwEffects = CFE_BOLD | CFE_ITALIC | CFE_STRIKEOUT | CFE_UNDERLINE; - cf.crTextColor = GetTextColor(hdcDraw); - cf.bCharSet = lf.lfCharSet; - cf.yHeight = 1440 * abs(lf.lfHeight) / iCaps; - wcsncpy_s(cf.szFaceName, lf.lfFaceName, _TRUNCATE); - if (!m_spTextServices) return S_FALSE; - m_spTextServices->TxSendMessage(EM_SETCHARFORMAT, SCF_ALL, (LPARAM)&cf, &lResult); + if (!m_bNative) { + LOGFONT lf; + GetObject(GetCurrentObject(hdcDraw, OBJ_FONT), sizeof(lf), &lf); + + LRESULT lResult; + CHARFORMAT cf; + cf.cbSize = sizeof(cf); + cf.dwMask = CFM_FACE/*|CFM_COLOR*/ | CFM_CHARSET | CFM_SIZE | + (lf.lfWeight >= FW_BOLD ? CFM_BOLD : 0) | + (lf.lfItalic ? CFM_ITALIC : 0) | + (lf.lfUnderline ? CFM_UNDERLINE : 0) | + (lf.lfStrikeOut ? CFM_STRIKEOUT : 0); + cf.dwEffects = CFE_BOLD | CFE_ITALIC | CFE_STRIKEOUT | CFE_UNDERLINE; + cf.crTextColor = GetTextColor(hdcDraw); + cf.bCharSet = lf.lfCharSet; + cf.yHeight = 1440 * abs(lf.lfHeight) / iCaps; + wcsncpy_s(cf.szFaceName, lf.lfFaceName, _TRUNCATE); + + m_spTextServices->TxSendMessage(EM_SETCHARFORMAT, SCF_ALL, (LPARAM)&cf, &lResult); + } *Height = 1; diff --git a/libs/mTextControl/src/FormattedTextDraw.h b/libs/mTextControl/src/FormattedTextDraw.h index f9ff25f2b6..edfcac0d2f 100644 --- a/libs/mTextControl/src/FormattedTextDraw.h +++ b/libs/mTextControl/src/FormattedTextDraw.h @@ -17,17 +17,18 @@ class CFormattedTextDraw : public ITextHost, public MZeroedObject { HWND m_hwndParent; - RECT m_rcClient; // Client Rect - RECT m_rcViewInset; // view rect inset - SIZEL m_sizelExtent; // Extent array + RECT m_rcClient; // Client Rect + RECT m_rcViewInset; // view rect inset + SIZEL m_sizelExtent; // Extent array - int nPixelsPerInchX; // Pixels per logical inch along width - int nPixelsPerInchY; // Pixels per logical inch along height + int nPixelsPerInchX; // Pixels per logical inch along width + int nPixelsPerInchY; // Pixels per logical inch along height CHARFORMAT2W m_CF; PARAFORMAT2 m_PF; - uint32_t m_dwPropertyBits; // Property bits + uint32_t m_dwPropertyBits; // Property bits + bool m_bNative = false; // Doesn't generate RTF itself, uses external plain RTF ITextServices *m_spTextServices; ITextDocument *m_spTextDocument; @@ -45,6 +46,7 @@ public: __forceinline ITextServices *getTextService() { return m_spTextServices; }; __forceinline ITextDocument *getTextDocument() { return m_spTextDocument; }; + __forceinline bool isNative() const { return m_bNative; } __forceinline void setParentWnd(HWND hwnd, RECT rect) { m_hwndParent = hwnd; m_rcClient = rect; } // IUnknown diff --git a/libs/mTextControl/src/services.cpp b/libs/mTextControl/src/services.cpp index 1575b716dd..8c6e06d165 100644 --- a/libs/mTextControl/src/services.cpp +++ b/libs/mTextControl/src/services.cpp @@ -85,16 +85,6 @@ MTEXTCONTROL_DLL(TextObject *) MTextCreateW(HANDLE userHandle, const char *szPro MText_InitFormatting0(result->ftd, result->options); result->ftd->putTextW((wchar_t *)text); MText_InitFormatting1(result); - - /* - LRESULT res; - CMStringA buf; - EDITSTREAM es = { 0 }; - es.dwCookie = (DWORD_PTR)&buf; - es.pfnCallback = &EditStreamOutCallback; - result->ftd->getTextService()->TxSendMessage(EM_STREAMOUT, SF_RTF, (LPARAM)&es, &res); - - Netlib_Logf(0, "Rtf created: %s", buf.c_str());*/ return result; } @@ -145,14 +135,16 @@ MTEXTCONTROL_DLL(int) MTextDisplay(HDC dc, POINT pos, SIZE sz, TextObject *text) if (!text || !dc) return 0; - COLORREF cl = GetTextColor(dc); + if (!text->ftd->isNative()) { + COLORREF cl = GetTextColor(dc); - LRESULT lResult; - CHARFORMAT cf = { 0 }; - cf.cbSize = sizeof(cf); - cf.dwMask = CFM_COLOR; - cf.crTextColor = cl; - text->ftd->getTextService()->TxSendMessage(EM_SETCHARFORMAT, SCF_ALL, (LPARAM)&cf, &lResult); + LRESULT lResult; + CHARFORMAT cf = { 0 }; + cf.cbSize = sizeof(cf); + cf.dwMask = CFM_COLOR; + cf.crTextColor = cl; + text->ftd->getTextService()->TxSendMessage(EM_SETCHARFORMAT, SCF_ALL, (LPARAM)&cf, &lResult); + } SetBkMode(dc, TRANSPARENT); diff --git a/plugins/NewStory/src/fonts.cpp b/plugins/NewStory/src/fonts.cpp index f7e32c1ef9..8cdd428859 100644 --- a/plugins/NewStory/src/fonts.cpp +++ b/plugins/NewStory/src/fonts.cpp @@ -20,8 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. MyColourID g_colorTable[COLOR_COUNT] = { - { LPGEN("Incoming name"), "ColorNickIn", RGB(0xc8, 0x3f, 0x6b) }, - { LPGEN("Outgoing name"), "ColorNickOut", RGB(0x08, 0x60, 0xbd) }, + { LPGEN("Incoming name"), "ColorNickIn", RGB(0x00, 0x00, 0x00) }, + { LPGEN("Outgoing name"), "ColorNickOut", RGB(0x00, 0x00, 0x00) }, { LPGEN("Incoming messages"), "ColorMsgIn", RGB(0xd6, 0xf5, 0xc0) }, { LPGEN("Outgoing messages"), "ColorMsgOut", RGB(0xf5, 0xe7, 0xd8) }, @@ -38,7 +38,7 @@ MyColourID g_colorTable[COLOR_COUNT] = { LPGEN("Selected item's background"), "ColorSel", GetSysColor(COLOR_HIGHLIGHT) }, { LPGEN("Selected item's frame"), "ColorSelFrm", GetSysColor(COLOR_HIGHLIGHTTEXT) }, - { LPGEN("Highlighted messages"), "ColorHighlight", RGB(0xf0, 0xf0, 0xf0) }, + { LPGEN("Highlighted messages"), "ColorHighlight", RGB(0xf0, 0xf0, 0xf0) }, { LPGEN("Grid background"), "Background", RGB(0xff, 0xff, 0xff) }, { LPGEN("Separator"), "Separator", RGB(0x60, 0x60, 0x60) }, }; @@ -52,7 +52,7 @@ MyFontID g_fontTable[FONT_COUNT] = { LPGEN("Outgoing files"), "FontFileOut" }, { LPGEN("Status changes"), "FontStatus" }, - { LPGEN("Highlighted messages"), "FontHighlight", DBFONTF_BOLD, RGB(0x7f, 0, 0) }, + { LPGEN("Highlighted messages"), "FontHighlight", DBFONTF_BOLD, RGB(0x7f, 0, 0) }, { LPGEN("Other incoming events"), "FontIn" }, { LPGEN("Other outgoing events"), "FontOut" }, diff --git a/plugins/NewStory/src/history_array.cpp b/plugins/NewStory/src/history_array.cpp index 67505d91d1..db00f46f98 100644 --- a/plugins/NewStory/src/history_array.cpp +++ b/plugins/NewStory/src/history_array.cpp @@ -306,9 +306,6 @@ void ItemData::load(bool bFullLoad) db_event_markRead(hContact, hEvent); Clist_RemoveEvent(-1, hEvent); } - - // uncomment this to use RTF engine - // m_bRtf = true; __fallthrough; case EVENTTYPE_STATUSCHANGE: @@ -372,12 +369,7 @@ void ItemData::load(bool bFullLoad) void ItemData::setText() { - if (m_bRtf) { - NSRtfProvider prov(this); - data = MTextCreateEx(htuLog, &prov, MTEXT_FLG_RTF); - } - else data = MTextCreateW(htuLog, Proto_GetBaseAccountName(hContact), TplFormatString(getTemplate(), hContact, this)); - + data = MTextCreateEx(htuLog, formatRtf().GetBuffer(), MTEXT_FLG_RTF); savedHeight = -1; } diff --git a/plugins/NewStory/src/history_array.h b/plugins/NewStory/src/history_array.h index cfefca9612..151ff568ca 100644 --- a/plugins/NewStory/src/history_array.h +++ b/plugins/NewStory/src/history_array.h @@ -8,12 +8,13 @@ enum GROUPING_ITEM = 2, }; +CMStringW TplFormatString(int tpl, MCONTACT hContact, ItemData *item); + struct ItemData { MCONTACT hContact; MEVENT hEvent; - bool m_bRtf; bool m_bSelected, m_bHighlighted; bool m_bLoaded, m_bIsResult; bool m_bOfflineFile, m_bOfflineDownloaded; @@ -25,7 +26,7 @@ struct ItemData wchar_t *wtext; wchar_t *wszNick; - HANDLE data; + HText data; ItemData(); ~ItemData(); @@ -43,6 +44,10 @@ struct ItemData int getCopyTemplate() const; void getFontColor(int &fontId, int &colorId) const; + CMStringA formatRtf(); + CMStringW formatString() { return TplFormatString(getTemplate(), hContact, this); } + CMStringW formatStringEx(int tpl, wchar_t *sztpl); + inline wchar_t *getWBuf() { load(true); diff --git a/plugins/NewStory/src/history_control.cpp b/plugins/NewStory/src/history_control.cpp index 365ad3e8aa..d7102b980a 100644 --- a/plugins/NewStory/src/history_control.cpp +++ b/plugins/NewStory/src/history_control.cpp @@ -290,7 +290,7 @@ void NewstoryListData::Copy(bool bTextOnly) res.Append(L"\r\n"); } else { // copy text only - CMStringW wszText(TplFormatString(p->getCopyTemplate(), p->hContact, p)); + CMStringW wszText(p->formatString()); RemoveBbcodes(wszText); res.Append(wszText); } @@ -497,7 +497,7 @@ int NewstoryListData::GetItemHeight(int index) int width = rc.right - rc.left; SIZE sz = { width - 6, 0 }; - MTextMeasure(hdc, &sz, (HANDLE)item->data); + MTextMeasure(hdc, &sz, item->data); SelectObject(hdc, hOldFont); ReleaseDC(m_hwnd, hdc); diff --git a/plugins/NewStory/src/options.cpp b/plugins/NewStory/src/options.cpp index 2d5f355e1b..ee84cd1b79 100644 --- a/plugins/NewStory/src/options.cpp +++ b/plugins/NewStory/src/options.cpp @@ -83,7 +83,7 @@ class CTemplateOptsDlg : public CBaseOptsDlg item.hEvent = m_hDbEVent; item.load(true); - CMStringW wszText(TplFormatStringEx(int(m_curr - templates), m_curr->tmpValue, &item)); + CMStringW wszText(item.formatStringEx(int(m_curr - templates), m_curr->tmpValue)); preview.SetText(wszText); gpreview.SetText(wszText); } diff --git a/plugins/NewStory/src/stdafx.h b/plugins/NewStory/src/stdafx.h index 70039c4c3f..fc0c78dd22 100644 --- a/plugins/NewStory/src/stdafx.h +++ b/plugins/NewStory/src/stdafx.h @@ -45,6 +45,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include <m_langpack.h> #include <m_message.h> #include <m_metacontacts.h> +#include <m_netlib.h> #include <m_options.h> #include <m_protocols.h> #include <m_protosvc.h> diff --git a/plugins/NewStory/src/templates.cpp b/plugins/NewStory/src/templates.cpp index 7e6f82a0a7..8d2e1bd242 100644 --- a/plugins/NewStory/src/templates.cpp +++ b/plugins/NewStory/src/templates.cpp @@ -27,46 +27,17 @@ wchar_t *months[12] = }; /////////////////////////////////////////////////////////////////////////////// -// Template formatting for options dialog - -CMStringW TplFormatStringEx(int tpl, wchar_t *sztpl, ItemData *item) -{ - if (tpl < 0 || tpl >= TPL_COUNT || !sztpl) - return mir_wstrdup(L""); - - TemplateVars vars; - - auto &T = templates[tpl]; - for (auto &it : T.vf) - if (it) - it(&vars, item->hContact, item); - - CMStringW buf; - for (wchar_t *p = sztpl; *p; p++) { - if (*p == '%') { - wchar_t *var = vars.GetVar((p[1] & 0xff)); - if (var) - buf.Append(var); - p++; - } - else buf.AppendChar(*p); - } - - return buf; -} - -/////////////////////////////////////////////////////////////////////////////// -// Template formatting for the control +// RTF generator static void AppendUnicodeToBuffer(CMStringA &buf, const wchar_t *p) { for (; *p; p++) { if (*p == '\r' && p[1] == '\n') { - buf.Append("\\p "); + buf.Append("\\par "); p++; } else if (*p == '\n') { - buf.Append("\\p "); + buf.Append("\\par "); } else if (*p == '\t') { buf.Append("\\tab "); @@ -118,39 +89,35 @@ static void AppendUnicodeToBuffer(CMStringA &buf, const wchar_t *p) } } -CMStringA NSRtfProvider::CreateRtfHeader() +CMStringA ItemData::formatRtf() { CMStringA buf; buf.Append("{\\rtf1\\ansi\\deff0"); - auto &F = g_fontTable[(m_pItem->dbe.flags & DBEF_SENT) ? FONT_OUTMSG : FONT_INMSG]; + int fontID, colorID; + getFontColor(fontID, colorID); + auto &F = g_fontTable[fontID]; buf.AppendFormat("{\\fonttbl{\\f0\\fnil\\fcharset0 %s;}}", F.lf.lfFaceName); - COLORREF cr = GetSysColor(COLOR_WINDOWTEXT); + COLORREF cr = F.cl; buf.AppendFormat("{\\colortbl \\red%u\\green%u\\blue%u;", GetRValue(cr), GetGValue(cr), GetBValue(cr)); - cr = g_colorTable[(m_pItem->dbe.flags & DBEF_SENT) ? COLOR_OUTNICK : COLOR_INNICK].cl; + cr = g_colorTable[(dbe.flags & DBEF_SENT) ? COLOR_OUTNICK : COLOR_INNICK].cl; buf.AppendFormat("\\red%u\\green%u\\blue%u;}", GetRValue(cr), GetGValue(cr), GetBValue(cr)); - return buf; -} -CMStringA NSRtfProvider::CreateRtfBody() -{ - auto &F = g_fontTable[(m_pItem->dbe.flags & DBEF_SENT) ? FONT_OUTMSG : FONT_INMSG]; - CMStringW wszText = TplFormatString(m_pItem->getTemplate(), m_pItem->hContact, m_pItem); + HDC hdc = GetDC(nullptr); + int logPixelSY = GetDeviceCaps(hdc, LOGPIXELSY); + ReleaseDC(nullptr, hdc); - CMStringA buf; - buf.AppendFormat("\\viewkind4\\uc1\\pard \\f0\\b0\\i0\\fs%d ", F.lf.lfHeight); - AppendUnicodeToBuffer(buf, wszText); - return buf; -} + buf.AppendFormat("\\uc1\\pard \\cf0\\f0\\b0\\i0\\fs%d ", 2 * abs(F.lf.lfHeight) * 74 / logPixelSY); + AppendUnicodeToBuffer(buf, formatString()); -CMStringA NSRtfProvider::CreateRtfFooter() -{ - return " \\par }"; + buf.Append("}"); + Netlib_Logf(0, buf); + return buf; } /////////////////////////////////////////////////////////////////////////////// -// Template formatting for copying text +// Template formatting for the control CMStringW TplFormatString(int tpl, MCONTACT hContact, ItemData *item) { @@ -184,6 +151,35 @@ CMStringW TplFormatString(int tpl, MCONTACT hContact, ItemData *item) } /////////////////////////////////////////////////////////////////////////////// +// Template formatting for options dialog + +CMStringW ItemData::formatStringEx(int tpl, wchar_t *sztpl) +{ + CMStringW buf; + if (tpl < 0 || tpl >= TPL_COUNT || !sztpl) + return buf; + + TemplateVars vars; + + auto &T = templates[tpl]; + for (auto &it : T.vf) + if (it) + it(&vars, hContact, this); + + for (wchar_t *p = sztpl; *p; p++) { + if (*p == '%') { + wchar_t *var = vars.GetVar((p[1] & 0xff)); + if (var) + buf.Append(var); + p++; + } + else buf.AppendChar(*p); + } + + return buf; +} + +/////////////////////////////////////////////////////////////////////////////// // TemplateVars members TemplateVars::TemplateVars() @@ -246,13 +242,13 @@ void vfEvent(TemplateVars *vars, MCONTACT, ItemData *item) if (!item->wszNick) { char *proto = Proto_GetBaseAccountName(item->hContact); ptrW nick(Contact::GetInfo(CNF_DISPLAY, 0, proto)); - vars->SetNick(nick, false); + vars->SetNick(nick); } - else vars->SetNick(item->wszNick, false); + else vars->SetNick(item->wszNick); } else { wchar_t *nick = (item->wszNick) ? item->wszNick : Clist_GetContactDisplayName(item->hContact, 0); - vars->SetNick(nick, true); + vars->SetNick(nick); } // %I: Icon @@ -392,9 +388,9 @@ void vfOther(TemplateVars *vars, MCONTACT, ItemData *item) ///////////////////////////////////////////////////////////////////////////////////////// -void TemplateVars::SetNick(wchar_t *v, bool bIncoming) +void TemplateVars::SetNick(wchar_t *v) { - CMStringW wszNick(FORMAT, L"[color=%d]%s[/color]", g_colorTable[(bIncoming) ? COLOR_INNICK : COLOR_OUTNICK].cl, v); + CMStringW wszNick(FORMAT, L"[c1]%s[c0]", v); auto &V = vars['N']; if (V.del) diff --git a/plugins/NewStory/src/templates.h b/plugins/NewStory/src/templates.h index 1ad2deed48..bfb7e123e7 100644 --- a/plugins/NewStory/src/templates.h +++ b/plugins/NewStory/src/templates.h @@ -16,7 +16,7 @@ struct TemplateVars return vars[id].val; } - void SetNick(wchar_t *v, bool bIncoming); + void SetNick(wchar_t *v); void SetVar(uint8_t id, wchar_t *v, bool d); }; @@ -71,21 +71,4 @@ extern TemplateInfo templates[TPL_COUNT]; void LoadTemplates(); void SaveTemplates(); -CMStringW TplFormatString(int tpl, MCONTACT hContact, ItemData *item); -CMStringW TplFormatStringEx(int tpl, wchar_t *sztpl, ItemData *args); - -class NSRtfProvider : public MRtfProvider -{ - ItemData *m_pItem; - -public: - NSRtfProvider(ItemData *pItem) : - m_pItem(pItem) - {} - - CMStringA CreateRtfHeader() override; - CMStringA CreateRtfBody() override; - CMStringA CreateRtfFooter() override; -}; - #endif // __templates_h__
\ No newline at end of file diff --git a/plugins/NewStory/src/version.h b/plugins/NewStory/src/version.h index b23dcd2b60..23bd96a08b 100644 --- a/plugins/NewStory/src/version.h +++ b/plugins/NewStory/src/version.h @@ -1,7 +1,7 @@ #define __MAJOR_VERSION 0
-#define __MINOR_VERSION 1
+#define __MINOR_VERSION 2
#define __RELEASE_NUM 0
-#define __BUILD_NUM 4
+#define __BUILD_NUM 1
#include <stdver.h>
|