summaryrefslogtreecommitdiff
path: root/plugins/Scriver
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2024-09-16 19:21:57 +0300
committerGeorge Hazan <george.hazan@gmail.com>2024-09-16 19:21:57 +0300
commitccde738e49d3102681ab38c6b3e250e9fb57c8bb (patch)
tree20fc7d1da6b43ce9323dbdcba1b99605224a2931 /plugins/Scriver
parent41b98908e8f8b9014d1525d123c5a4c3b845230b (diff)
fixes #4675 (Не работают кнопки форматирования в StdMsg/Scriver)
Diffstat (limited to 'plugins/Scriver')
-rw-r--r--plugins/Scriver/res/resource.rc19
-rw-r--r--plugins/Scriver/scriver.vcxproj52
-rw-r--r--plugins/Scriver/scriver.vcxproj.filters148
-rw-r--r--plugins/Scriver/src/msgdialog.cpp3
-rw-r--r--plugins/Scriver/src/msgoptions.cpp4
-rw-r--r--plugins/Scriver/src/msgs.h1
-rw-r--r--plugins/Scriver/src/msgutils.cpp6
-rw-r--r--plugins/Scriver/src/resource.h2
-rw-r--r--plugins/Scriver/src/srmm.cpp1
-rw-r--r--plugins/Scriver/src/stdafx.h2
10 files changed, 227 insertions, 11 deletions
diff --git a/plugins/Scriver/res/resource.rc b/plugins/Scriver/res/resource.rc
index aba7df9289..7f6ef8da39 100644
--- a/plugins/Scriver/res/resource.rc
+++ b/plugins/Scriver/res/resource.rc
@@ -27,12 +27,12 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
// Dialog
//
-IDD_OPT_MSGDLG DIALOGEX 2, 0, 304, 147
+IDD_OPT_MSGDLG DIALOGEX 2, 0, 304, 164
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
EXSTYLE WS_EX_CONTROLPARENT
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
- GROUPBOX "Behavior",IDC_STATIC,0,0,304,143
+ GROUPBOX "Behavior",IDC_STATIC,0,0,304,160
CONTROL "Automatically pop up the window when",IDC_AUTOPOPUP,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,12,155,10
CONTROL "Tree1",IDC_POPLIST,"SysTreeView32",TVS_DISABLEDRAGDROP | TVS_NOTOOLTIPS | TVS_NONEVENHEIGHT | WS_BORDER | WS_HSCROLL | WS_TABSTOP,163,12,98,44
@@ -45,10 +45,12 @@ BEGIN
CONTROL "Remember unsent messages",IDC_SAVEDRAFTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,103,293,10
CONTROL "Delete temporary contacts on closing",IDC_DELTEMP,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,114,293,10
- LTEXT "Show warning when message has not been received after",IDC_STATIC,6,127,201,8
- EDITTEXT IDC_SECONDS,213,125,35,12,ES_RIGHT | ES_NUMBER
- CONTROL "",IDC_SECONDSSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,239,124,11,13
- LTEXT "seconds",IDC_STATIC,253,127,44,8
+ CONTROL "Use BBCodes to send format inside messages",IDC_SEND_FORMAT,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,126,293,10
+ LTEXT "Show warning when message has not been received after",IDC_STATIC,6,145,201,8
+ EDITTEXT IDC_SECONDS,213,143,35,12,ES_RIGHT | ES_NUMBER
+ CONTROL "",IDC_SECONDSSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,239,143,11,13
+ LTEXT "seconds",IDC_STATIC,253,145,44,8
END
IDD_OPT_MSGTABS DIALOGEX 2, 0, 304, 230
@@ -220,8 +222,8 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
CONTROL "",IDC_SRMM_LOG,"RichEdit50W",WS_CLIPSIBLINGS | WS_VSCROLL | WS_TABSTOP | 0x844,1,41,181,28,WS_EX_STATICEDGE
CONTROL "",IDC_SRMM_MESSAGE,"RichEdit50W",WS_VSCROLL | WS_TABSTOP | 0x1144,0,87,181,13,WS_EX_ACCEPTFILES | WS_EX_STATICEDGE
- CONTROL "",IDC_SRMM_QUOTE,"RichEdit50W",ES_AUTOHSCROLL | WS_DISABLED | WS_BORDER | WS_TABSTOP,0,95,235,16
- CONTROL "",IDC_SRMM_CLOSEQUOTE,"MButtonClass", WS_TABSTOP,237,97,16,16
+ CONTROL "",IDC_SRMM_QUOTE,"RichEdit50W",WS_DISABLED | WS_BORDER | WS_TABSTOP | 0x80,0,95,235,16
+ CONTROL "",IDC_SRMM_CLOSEQUOTE,"MButtonClass",WS_TABSTOP,237,97,16,16
CONTROL "",IDC_SPLITTERX,"Static",SS_ENHMETAFILE,172,23,10,73
CONTROL "",IDC_SPLITTERY,"Static",SS_ENHMETAFILE | WS_CLIPSIBLINGS,0,85,183,2
LISTBOX IDC_SRMM_NICKLIST,182,23,69,73,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | NOT WS_BORDER | WS_VSCROLL | WS_TABSTOP,WS_EX_STATICEDGE
@@ -321,6 +323,7 @@ GUIDELINES DESIGNINFO
BEGIN
IDD_OPT_MSGDLG, DIALOG
BEGIN
+ BOTTOMMARGIN, 147
END
IDD_OPT_MSGTABS, DIALOG
diff --git a/plugins/Scriver/scriver.vcxproj b/plugins/Scriver/scriver.vcxproj
index a92315853a..93f4cd9644 100644
--- a/plugins/Scriver/scriver.vcxproj
+++ b/plugins/Scriver/scriver.vcxproj
@@ -64,4 +64,56 @@
<ResourceCompile Include="res\resource.rc" />
<ResourceCompile Include="res\Version.rc" />
</ItemGroup>
+ <ItemGroup>
+ <Image Include="res\addcontact.ico" />
+ <Image Include="res\bing.ico" />
+ <Image Include="res\chat\action.ico" />
+ <Image Include="res\chat\addmode.ico" />
+ <Image Include="res\chat\bkgcolor.ico" />
+ <Image Include="res\chat\bold.ico" />
+ <Image Include="res\chat\color.ico" />
+ <Image Include="res\chat\filter.ico" />
+ <Image Include="res\chat\filter2.ico" />
+ <Image Include="res\chat\info.ico" />
+ <Image Include="res\chat\italic.ico" />
+ <Image Include="res\chat\join.ico" />
+ <Image Include="res\chat\kick.ico" />
+ <Image Include="res\chat\nick.ico" />
+ <Image Include="res\chat\nicklist.ico" />
+ <Image Include="res\chat\nicklist2.ico" />
+ <Image Include="res\chat\notice.ico" />
+ <Image Include="res\chat\overlay.ico" />
+ <Image Include="res\chat\part.ico" />
+ <Image Include="res\chat\quit.ico" />
+ <Image Include="res\chat\removestatus.ico" />
+ <Image Include="res\chat\topic.ico" />
+ <Image Include="res\chat\topicbut.ico" />
+ <Image Include="res\chat\underline.ico" />
+ <Image Include="res\chat\window.ico" />
+ <Image Include="res\clock.ico" />
+ <Image Include="res\closex.ico" />
+ <Image Include="res\details.ico" />
+ <Image Include="res\foodnetwork.ico" />
+ <Image Include="res\gmaps.ico" />
+ <Image Include="res\google.ico" />
+ <Image Include="res\gtranslate.ico" />
+ <Image Include="res\highlight.ico" />
+ <Image Include="res\history.ico" />
+ <Image Include="res\message.ico" />
+ <Image Include="res\messageout.ico" />
+ <Image Include="res\private.ico" />
+ <Image Include="res\quote.ico" />
+ <Image Include="res\send.ico" />
+ <Image Include="res\smiley.ico" />
+ <Image Include="res\typing.ico" />
+ <Image Include="res\typingoff.ico" />
+ <Image Include="res\unverified.ico" />
+ <Image Include="res\wikipedia.ico" />
+ <Image Include="res\yahoo.ico" />
+ <Image Include="res\yandex.ico" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="res\dragcopy.cur" />
+ <None Include="res\hyperlin.cur" />
+ </ItemGroup>
</Project> \ No newline at end of file
diff --git a/plugins/Scriver/scriver.vcxproj.filters b/plugins/Scriver/scriver.vcxproj.filters
index ffe211f657..ac5f862451 100644
--- a/plugins/Scriver/scriver.vcxproj.filters
+++ b/plugins/Scriver/scriver.vcxproj.filters
@@ -106,4 +106,152 @@
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
+ <ItemGroup>
+ <Image Include="res\addcontact.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\details.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\history.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\send.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\smiley.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\typing.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\typingoff.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\clock.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\quote.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\message.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\messageout.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\highlight.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\closex.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\underline.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\bold.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\italic.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\join.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\topic.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\addmode.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\info.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\kick.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\nick.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\notice.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\part.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\quit.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\removestatus.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\action.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\topicbut.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\bkgcolor.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\window.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\color.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\filter.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\nicklist.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\overlay.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\nicklist2.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\chat\filter2.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\google.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\bing.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\yandex.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\wikipedia.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\gmaps.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\gtranslate.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\yahoo.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\foodnetwork.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\unverified.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\private.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="res\hyperlin.cur">
+ <Filter>Resource Files</Filter>
+ </None>
+ <None Include="res\dragcopy.cur">
+ <Filter>Resource Files</Filter>
+ </None>
+ </ItemGroup>
</Project> \ No newline at end of file
diff --git a/plugins/Scriver/src/msgdialog.cpp b/plugins/Scriver/src/msgdialog.cpp
index 47f8893719..69783ba143 100644
--- a/plugins/Scriver/src/msgdialog.cpp
+++ b/plugins/Scriver/src/msgdialog.cpp
@@ -108,6 +108,7 @@ void CMsgDialog::Init()
SetParent(GetParentWindow(m_hContact, isChat()));
m_pParent = (ParentWindowData *)GetWindowLongPtr(m_hwndParent, GWLP_USERDATA);
+ m_bSendFormat = g_plugin.bSendFormat;
m_btnOk.OnClick = Callback(this, &CMsgDialog::onClick_Ok);
timerType.OnEvent = Callback(this, &CMsgDialog::onType);
@@ -329,7 +330,7 @@ void CMsgDialog::onClick_Ok(CCtrlButton *pButton)
if (isChat()) {
CMStringW ptszText(ptrW(mir_utf8decodeW(msi.sendBuffer)));
- g_chatApi.DoRtfToTags(ptszText, 0, nullptr);
+ DoRtfToTags(ptszText);
ptszText.Trim();
if (m_si->pMI->bAckMsg) {
diff --git a/plugins/Scriver/src/msgoptions.cpp b/plugins/Scriver/src/msgoptions.cpp
index 7e6dddeccb..473929fa5d 100644
--- a/plugins/Scriver/src/msgoptions.cpp
+++ b/plugins/Scriver/src/msgoptions.cpp
@@ -243,7 +243,7 @@ class CMainOptionsDlg : public CBaseOptionDlg
CCtrlSpin spinTimeout;
CCtrlCheck chkAutoMin, chkAutoPopup, chkCascade, chkSavePerContact, chkStayMinimized;
- CCtrlCheck chkSaveDrafts, chkDelTemp, chkHideContainer;
+ CCtrlCheck chkSaveDrafts, chkDelTemp, chkHideContainer, chkSendFormat;
CCtrlTreeView m_tree;
public:
@@ -255,6 +255,7 @@ public:
chkCascade(this, IDC_CASCADE),
chkDelTemp(this, IDC_DELTEMP),
chkAutoPopup(this, IDC_AUTOPOPUP),
+ chkSendFormat(this, IDC_SEND_FORMAT),
chkSaveDrafts(this, IDC_SAVEDRAFTS),
chkHideContainer(this, IDC_HIDECONTAINERS),
chkStayMinimized(this, IDC_STAYMINIMIZED),
@@ -264,6 +265,7 @@ public:
CreateLink(chkCascade, g_plugin.bCascade);
CreateLink(chkAutoMin, g_plugin.bAutoMin);
CreateLink(chkAutoPopup, g_plugin.bAutoPopup);
+ CreateLink(chkSendFormat, g_plugin.bSendFormat);
CreateLink(chkSaveDrafts, g_plugin.bSaveDrafts);
CreateLink(chkHideContainer, g_plugin.bHideContainer);
CreateLink(chkStayMinimized, g_plugin.bStayMinimized);
diff --git a/plugins/Scriver/src/msgs.h b/plugins/Scriver/src/msgs.h
index 28ec396099..3a71949364 100644
--- a/plugins/Scriver/src/msgs.h
+++ b/plugins/Scriver/src/msgs.h
@@ -132,6 +132,7 @@ public:
void DrawNickList(USERINFO *ui, DRAWITEMSTRUCT *dis) override;
void EventAdded(MEVENT, const DB::EventInfo &dbei) override;
bool GetFirstEvent() override;
+ void GetInputFont(LOGFONTW &lf, COLORREF &bg, COLORREF &fg) const override;
void LoadSettings() override;
void OnOptionsApplied() override;
void RemakeLog() override;
diff --git a/plugins/Scriver/src/msgutils.cpp b/plugins/Scriver/src/msgutils.cpp
index 9167a4f3dd..263afe7da8 100644
--- a/plugins/Scriver/src/msgutils.cpp
+++ b/plugins/Scriver/src/msgutils.cpp
@@ -170,6 +170,12 @@ bool CMsgDialog::GetFirstEvent()
return notifyUnread;
}
+void CMsgDialog::GetInputFont(LOGFONTW &lf, COLORREF &bg, COLORREF &fg) const
+{
+ bg = m_clrInputBG;
+ LoadMsgDlgFont(MSGFONTID_MESSAGEAREA, &lf, &fg);
+}
+
void CMsgDialog::FixTabIcons()
{
HICON hIcon;
diff --git a/plugins/Scriver/src/resource.h b/plugins/Scriver/src/resource.h
index 2f97993ce5..7f5bb9ed3d 100644
--- a/plugins/Scriver/src/resource.h
+++ b/plugins/Scriver/src/resource.h
@@ -127,6 +127,8 @@
#define IDC_NOTIFYTRAY 1607
#define IDC_NOTIFYBALLOON 1608
#define IDC_DELTEMP 1609
+#define IDC_DELTEMP2 1610
+#define IDC_SEND_FORMAT 1610
#define IDC_AVATARSUPPORT 1611
#define IDC_LIMITNAMES 1615
#define IDC_TRANSPARENCY 1616
diff --git a/plugins/Scriver/src/srmm.cpp b/plugins/Scriver/src/srmm.cpp
index 242673aefa..268a3bda76 100644
--- a/plugins/Scriver/src/srmm.cpp
+++ b/plugins/Scriver/src/srmm.cpp
@@ -56,6 +56,7 @@ CMPlugin::CMPlugin() :
bAutoClose(SRMM_MODULE, "AutoClose", false),
bAutoPopup(SRMM_MODULE, "AutoPopupMsg", false),
bSaveDrafts(SRMM_MODULE, "SaveDrafts", false),
+ bSendFormat(SRMM_MODULE, "SendFormat", false),
bTypingUnknown(SRMM_MODULE, "UnknownTyping", false),
bHideContainer(SRMM_MODULE, "HideContainers", false),
bStayMinimized(SRMM_MODULE, "StayMinimized", false),
diff --git a/plugins/Scriver/src/stdafx.h b/plugins/Scriver/src/stdafx.h
index 731e44ad23..15de6bab32 100644
--- a/plugins/Scriver/src/stdafx.h
+++ b/plugins/Scriver/src/stdafx.h
@@ -76,7 +76,7 @@ struct CMPlugin : public PLUGIN<CMPlugin>
CMOption<uint8_t> bUseTransparency, bTopmost, bAutoClose, bTypingNew, bTypingUnknown;
CMOption<uint8_t> bShowTitleBar, bShowStatusBar, bShowToolBar, bShowInfoBar;
CMOption<uint8_t> bShowAvatar, bShowProgress, bShowIcons, bShowTime, bShowSeconds, bShowDate, bLongDate, bRelativeDate;
- CMOption<uint8_t> bGroupMessages, bMarkFollowups, bMsgOnNewline, bDrawLines, bHideNames, bIndentText;
+ CMOption<uint8_t> bGroupMessages, bMarkFollowups, bMsgOnNewline, bDrawLines, bHideNames, bIndentText, bSendFormat;
CMOption<uint8_t> bUseTabs, bLimitTabs, bLimitChatTabs, bLimitNames, bSeparateChats, bTabCloseButton, bHideOneTab, bTabsAtBottom, bSwitchToActive;
CMOption<uint8_t> bShowTyping, bShowTypingWin, bShowTypingTray, bShowTypingClist, bShowTypingSwitch;
CMOption<uint8_t> iFlashCount, iHistoryMode;