summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2024-11-12 18:00:55 +0300
committerGeorge Hazan <george.hazan@gmail.com>2024-11-12 18:00:55 +0300
commit744dda0a74a4afa69bb2e27088f1c0f01a8891d9 (patch)
tree0d260fc4dd522f8869adcd96a4039c5f65f4d132
parentf7bbaf7fd984d26dbc150d9743aa14cd5dd23a8c (diff)
SRMM options unification
-rw-r--r--include/m_srmm_int.h18
-rw-r--r--libs/win32/mir_app.libbin301234 -> 301544 bytes
-rw-r--r--libs/win64/mir_app.libbin301292 -> 301602 bytes
-rw-r--r--plugins/Scriver/src/msgoptions.cpp8
-rw-r--r--plugins/Scriver/src/msgs.h4
-rw-r--r--plugins/Scriver/src/msgutils.cpp2
-rw-r--r--plugins/Scriver/src/srmm.cpp1
-rw-r--r--plugins/Scriver/src/stdafx.h2
-rw-r--r--plugins/TabSRMM/src/msgdlgother.cpp4
-rw-r--r--plugins/TabSRMM/src/msgoptions.cpp9
-rw-r--r--plugins/TabSRMM/src/msgs.cpp5
-rw-r--r--plugins/TabSRMM/src/msgs.h6
-rw-r--r--plugins/TabSRMM/src/srmm.cpp2
-rw-r--r--src/core/stdmsg/src/msgdialog.cpp2
-rw-r--r--src/core/stdmsg/src/msgoptions.cpp8
-rw-r--r--src/core/stdmsg/src/msgs.h5
-rw-r--r--src/core/stdmsg/src/srmm.cpp1
-rw-r--r--src/core/stdmsg/src/stdafx.h1
-rw-r--r--src/mir_app/src/mir_app.def175
-rw-r--r--src/mir_app/src/mir_app64.def3
-rw-r--r--src/mir_app/src/miranda.h4
-rw-r--r--src/mir_app/src/srmm_main.cpp2
22 files changed, 132 insertions, 130 deletions
diff --git a/include/m_srmm_int.h b/include/m_srmm_int.h
index 7ebfa731a8..a67645c47b 100644
--- a/include/m_srmm_int.h
+++ b/include/m_srmm_int.h
@@ -25,12 +25,24 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#ifndef M_SRMM_INT_H__
#define M_SRMM_INT_H__ 1
-#include <shellapi.h>
#include <vector>
#include <m_gui.h>
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// global settings
+
#define SRMM_MODULE "SRMM"
+#define SRMSGMOD "SRMsg"
+
+#define LOADHISTORY_UNREAD 0
+#define LOADHISTORY_COUNT 1
+#define LOADHISTORY_TIME 2
+
+namespace Srmm
+{
+ extern MIR_APP_EXPORT CMOption<uint8_t> iHistoryMode;
+};
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
// toolbar button internal representation
@@ -273,6 +285,10 @@ public:
#include <chat_resource.h>
+#ifndef _INC_SHELLAPI
+DECLARE_HANDLE(HDROP);
+#endif
+
// message procedures' stubs
EXTERN_C MIR_APP_DLL(LRESULT) CALLBACK stubLogProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
EXTERN_C MIR_APP_DLL(LRESULT) CALLBACK stubMessageProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
diff --git a/libs/win32/mir_app.lib b/libs/win32/mir_app.lib
index d344e2ff96..0004dc6cf7 100644
--- a/libs/win32/mir_app.lib
+++ b/libs/win32/mir_app.lib
Binary files differ
diff --git a/libs/win64/mir_app.lib b/libs/win64/mir_app.lib
index 5f02ca0258..873568ded1 100644
--- a/libs/win64/mir_app.lib
+++ b/libs/win64/mir_app.lib
Binary files differ
diff --git a/plugins/Scriver/src/msgoptions.cpp b/plugins/Scriver/src/msgoptions.cpp
index 7e6dddeccb..3be675019a 100644
--- a/plugins/Scriver/src/msgoptions.cpp
+++ b/plugins/Scriver/src/msgoptions.cpp
@@ -585,7 +585,7 @@ public:
bool OnInitDialog() override
{
- switch (g_plugin.iHistoryMode) {
+ switch (Srmm::iHistoryMode) {
case LOADHISTORY_UNREAD:
chkLoadUnread.SetState(true);
break;
@@ -617,11 +617,11 @@ public:
bool OnApply() override
{
if (chkLoadCount.GetState())
- g_plugin.iHistoryMode = LOADHISTORY_COUNT;
+ Srmm::iHistoryMode = LOADHISTORY_COUNT;
else if (chkLoadTime.GetState())
- g_plugin.iHistoryMode = LOADHISTORY_TIME;
+ Srmm::iHistoryMode = LOADHISTORY_TIME;
else
- g_plugin.iHistoryMode = LOADHISTORY_UNREAD;
+ Srmm::iHistoryMode = LOADHISTORY_UNREAD;
FreeMsgLogIcons();
LoadMsgLogIcons();
diff --git a/plugins/Scriver/src/msgs.h b/plugins/Scriver/src/msgs.h
index ea3c677e43..1b6e3572d9 100644
--- a/plugins/Scriver/src/msgs.h
+++ b/plugins/Scriver/src/msgs.h
@@ -209,10 +209,6 @@ int IsAutoPopup(MCONTACT hContact);
void LoadMsgDlgFont(int i, LOGFONT *lf, COLORREF *colour);
extern int fontOptionsListSize;
-#define LOADHISTORY_UNREAD 0
-#define LOADHISTORY_COUNT 1
-#define LOADHISTORY_TIME 2
-
#define SRMSGSET_BKGCOLOUR "BkgColour"
#define SRMSGDEFSET_BKGCOLOUR GetSysColor(COLOR_WINDOW)
#define SRMSGSET_INPUTBKGCOLOUR "InputBkgColour"
diff --git a/plugins/Scriver/src/msgutils.cpp b/plugins/Scriver/src/msgutils.cpp
index 327733cc9f..05159ea6ba 100644
--- a/plugins/Scriver/src/msgutils.cpp
+++ b/plugins/Scriver/src/msgutils.cpp
@@ -117,7 +117,7 @@ bool CMsgDialog::GetFirstEvent()
bool notifyUnread = false;
if (m_hContact) {
- int historyMode = g_plugin.iHistoryMode;
+ int historyMode = Srmm::iHistoryMode;
// This finds the first message to display, it works like shit
m_hDbEventFirst = db_event_firstUnread(m_hContact);
if (m_hDbEventFirst != 0) {
diff --git a/plugins/Scriver/src/srmm.cpp b/plugins/Scriver/src/srmm.cpp
index 242673aefa..1785af45fc 100644
--- a/plugins/Scriver/src/srmm.cpp
+++ b/plugins/Scriver/src/srmm.cpp
@@ -109,7 +109,6 @@ CMPlugin::CMPlugin() :
iActiveAlpha(SRMM_MODULE, "ActiveAlpha", 0),
iInactiveAlpha(SRMM_MODULE, "InactiveAlpha", 0),
iMsgTimeout(SRMM_MODULE, "MessageTimeout", 10),
- iHistoryMode(SRMM_MODULE, "LoadHistory", LOADHISTORY_UNREAD),
iAutoResizeLines(SRMM_MODULE, "AutoResizeLines", 2),
bSoundsFocus(CHAT_MODULE, "SoundsFocus", false),
diff --git a/plugins/Scriver/src/stdafx.h b/plugins/Scriver/src/stdafx.h
index 731e44ad23..dac05cfe58 100644
--- a/plugins/Scriver/src/stdafx.h
+++ b/plugins/Scriver/src/stdafx.h
@@ -79,7 +79,7 @@ struct CMPlugin : public PLUGIN<CMPlugin>
CMOption<uint8_t> bGroupMessages, bMarkFollowups, bMsgOnNewline, bDrawLines, bHideNames, bIndentText;
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;
+ CMOption<uint8_t> iFlashCount;
CMOption<uint16_t> iLimitNames, iLimitTabs, iLimitChatTabs, iLoadCount, iLoadTime, iIndentSize, iAutoResizeLines;
CMOption<uint32_t> iPopFlags, iMsgTimeout, iActiveAlpha, iInactiveAlpha;
diff --git a/plugins/TabSRMM/src/msgdlgother.cpp b/plugins/TabSRMM/src/msgdlgother.cpp
index b7696c9658..b9b1ca8fd3 100644
--- a/plugins/TabSRMM/src/msgdlgother.cpp
+++ b/plugins/TabSRMM/src/msgdlgother.cpp
@@ -400,9 +400,7 @@ void CMsgDialog::EventAdded(MEVENT hDbEvent, const DB::EventInfo &dbei)
bool CMsgDialog::GetFirstEvent()
{
- int historyMode = g_plugin.getByte(m_hContact, SRMSGSET_LOADHISTORY, -1);
- if (historyMode == -1)
- historyMode = (int)g_plugin.getByte(SRMSGSET_LOADHISTORY, SRMSGDEFSET_LOADHISTORY);
+ int historyMode = g_plugin.getByte(m_hContact, "LoadHistory", Srmm::iHistoryMode);
m_hDbEventFirst = db_event_firstUnread(m_hContact);
diff --git a/plugins/TabSRMM/src/msgoptions.cpp b/plugins/TabSRMM/src/msgoptions.cpp
index 10f6d5a091..aec3b0b1c3 100644
--- a/plugins/TabSRMM/src/msgoptions.cpp
+++ b/plugins/TabSRMM/src/msgoptions.cpp
@@ -799,7 +799,7 @@ public:
bool OnInitDialog() override
{
- switch (g_plugin.getByte(SRMSGSET_LOADHISTORY, SRMSGDEFSET_LOADHISTORY)) {
+ switch (Srmm::iHistoryMode) {
case LOADHISTORY_UNREAD:
chkLoadUnread.SetState(true);
break;
@@ -827,11 +827,12 @@ public:
bool OnApply() override
{
if (chkLoadCount.GetState())
- g_plugin.setByte(SRMSGSET_LOADHISTORY, LOADHISTORY_COUNT);
+ Srmm::iHistoryMode = LOADHISTORY_COUNT;
else if (chkLoadTime.GetState())
- g_plugin.setByte(SRMSGSET_LOADHISTORY, LOADHISTORY_TIME);
+ Srmm::iHistoryMode = LOADHISTORY_TIME;
else
- g_plugin.setByte(SRMSGSET_LOADHISTORY, LOADHISTORY_UNREAD);
+ Srmm::iHistoryMode = LOADHISTORY_UNREAD;
+
g_plugin.setWord(SRMSGSET_LOADCOUNT, spnLoadCount.GetPosition());
g_plugin.setWord(SRMSGSET_LOADTIME, spnLoadTime.GetPosition());
diff --git a/plugins/TabSRMM/src/msgs.cpp b/plugins/TabSRMM/src/msgs.cpp
index 3ebc767a9c..c44bcccc4b 100644
--- a/plugins/TabSRMM/src/msgs.cpp
+++ b/plugins/TabSRMM/src/msgs.cpp
@@ -689,6 +689,11 @@ int LoadSendRecvMessageModule(void)
db_delete_module(0, NEN_OLD_MODULE);
}
+ if (!db_is_module_empty(0, SRMSGMOD)) {
+ db_copy_module(SRMSGMOD, SRMM_MODULE);
+ db_delete_module(0, SRMSGMOD);
+ }
+
if (M.GetDword("cWarningsV", 0) == 0)
db_set_dw(0, SRMSGMOD_T, "cWarningsV", M.GetDword("cWarningsL", 0));
diff --git a/plugins/TabSRMM/src/msgs.h b/plugins/TabSRMM/src/msgs.h
index 9e8bfd4283..05ad07b5a3 100644
--- a/plugins/TabSRMM/src/msgs.h
+++ b/plugins/TabSRMM/src/msgs.h
@@ -802,16 +802,10 @@ struct TIconDescW
#define IPFONTID_PROTO 3
#define IPFONTID_TIME 4
-#define LOADHISTORY_UNREAD 0
-#define LOADHISTORY_COUNT 1
-#define LOADHISTORY_TIME 2
-
#define SRMSGSET_MSGTIMEOUT "MessageTimeout"
#define SRMSGDEFSET_MSGTIMEOUT 30000
#define SRMSGSET_MSGTIMEOUT_MIN 5000 // minimum value (5 seconds)
-#define SRMSGSET_LOADHISTORY "LoadHistory"
-#define SRMSGDEFSET_LOADHISTORY LOADHISTORY_COUNT
#define SRMSGSET_LOADCOUNT "LoadCount"
#define SRMSGDEFSET_LOADCOUNT 10
#define SRMSGSET_LOADTIME "LoadTime"
diff --git a/plugins/TabSRMM/src/srmm.cpp b/plugins/TabSRMM/src/srmm.cpp
index b8e84de620..88a3d82614 100644
--- a/plugins/TabSRMM/src/srmm.cpp
+++ b/plugins/TabSRMM/src/srmm.cpp
@@ -52,7 +52,7 @@ PLUGININFOEX pluginInfoEx = {
};
CMPlugin::CMPlugin() :
- PLUGIN<CMPlugin>("SRMsg", pluginInfoEx),
+ PLUGIN<CMPlugin>(SRMM_MODULE, pluginInfoEx),
// main settings
bAutoMin(SRMSGMOD_T, "AutoMin", false),
diff --git a/src/core/stdmsg/src/msgdialog.cpp b/src/core/stdmsg/src/msgdialog.cpp
index ef9cf07067..4b481a6eba 100644
--- a/src/core/stdmsg/src/msgdialog.cpp
+++ b/src/core/stdmsg/src/msgdialog.cpp
@@ -1242,7 +1242,7 @@ bool CMsgDialog::GetFirstEvent()
DB::ECPTR pCursor(DB::EventsRev(m_hContact, m_hDbEventFirst));
- switch (g_plugin.iLoadHistory) {
+ switch (Srmm::iHistoryMode) {
case LOADHISTORY_COUNT:
for (int i = g_plugin.nLoadCount; i--;) {
MEVENT hPrevEvent = pCursor.FetchNext();
diff --git a/src/core/stdmsg/src/msgoptions.cpp b/src/core/stdmsg/src/msgoptions.cpp
index 2eae075286..6020167100 100644
--- a/src/core/stdmsg/src/msgoptions.cpp
+++ b/src/core/stdmsg/src/msgoptions.cpp
@@ -335,7 +335,7 @@ public:
bool OnInitDialog() override
{
- switch (g_plugin.iLoadHistory) {
+ switch (Srmm::iHistoryMode) {
case LOADHISTORY_UNREAD:
chkLoadUnread.SetState(true);
break;
@@ -360,11 +360,11 @@ public:
bool OnApply() override
{
if (chkLoadCount.GetState())
- g_plugin.iLoadHistory = LOADHISTORY_COUNT;
+ Srmm::iHistoryMode = LOADHISTORY_COUNT;
else if (chkLoadTime.GetState())
- g_plugin.iLoadHistory = LOADHISTORY_TIME;
+ Srmm::iHistoryMode = LOADHISTORY_TIME;
else
- g_plugin.iLoadHistory = LOADHISTORY_UNREAD;
+ Srmm::iHistoryMode = LOADHISTORY_UNREAD;
g_plugin.nLoadCount = spinCount.GetPosition();
g_plugin.nLoadTime = spinTime.GetPosition();
diff --git a/src/core/stdmsg/src/msgs.h b/src/core/stdmsg/src/msgs.h
index 582d8fa4d0..56ec7164ba 100644
--- a/src/core/stdmsg/src/msgs.h
+++ b/src/core/stdmsg/src/msgs.h
@@ -175,11 +175,6 @@ int OptInitialise(WPARAM, LPARAM);
bool LoadMsgDlgFont(int i, LOGFONT* lf, COLORREF* colour);
-#define LOADHISTORY_UNREAD 0
-#define LOADHISTORY_COUNT 1
-#define LOADHISTORY_TIME 2
-
-#define SRMSGMOD "SRMsg"
#define DBSAVEDMSG "SavedMsg"
#define SRMSGSET_TYPING "SupportTyping"
diff --git a/src/core/stdmsg/src/srmm.cpp b/src/core/stdmsg/src/srmm.cpp
index 63d7e2481f..af9f94f750 100644
--- a/src/core/stdmsg/src/srmm.cpp
+++ b/src/core/stdmsg/src/srmm.cpp
@@ -80,7 +80,6 @@ CMPlugin::CMPlugin() :
msgTimeout(SRMM_MODULE, "MessageTimeout", 65000),
- iLoadHistory(SRMM_MODULE, "LoadHistory", LOADHISTORY_UNREAD),
nLoadCount(SRMM_MODULE, "LoadCount", 10),
nLoadTime(SRMM_MODULE, "LoadTime", 10),
diff --git a/src/core/stdmsg/src/stdafx.h b/src/core/stdmsg/src/stdafx.h
index 27a9c076e3..9dc20f0b12 100644
--- a/src/core/stdmsg/src/stdafx.h
+++ b/src/core/stdmsg/src/stdafx.h
@@ -178,7 +178,6 @@ struct CMPlugin : public PLUGIN<CMPlugin>
CMOption<uint32_t> msgTimeout;
CMOption<uint32_t> nFlashMax;
- CMOption<uint8_t> iLoadHistory;
CMOption<uint16_t> nLoadCount, nLoadTime;
bool bSmileyInstalled = false;
diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def
index 8fe34eac7d..cb3f7515ec 100644
--- a/src/mir_app/src/mir_app.def
+++ b/src/mir_app/src/mir_app.def
@@ -289,7 +289,7 @@ Netlib_NtlmCreateResponse @383
?get_nick@AUTH_BLOB@DB@@QBEPBDXZ @394 NONAME
?get_reason@AUTH_BLOB@DB@@QBEPBDXZ @395 NONAME
?get_uin@AUTH_BLOB@DB@@QBEIXZ @396 NONAME
-?makeBlob@AUTH_BLOB@DB@@AAEPADXZ @1046 NONAME
+?makeBlob@AUTH_BLOB@DB@@AAEPADXZ @397 NONAME
?size@AUTH_BLOB@DB@@QBEIXZ @398 NONAME
ProtoGetAvatarFormatByMimeType @400
ProtoGetAvatarMimeType @401
@@ -908,89 +908,90 @@ Clist_GroupSaveExpanded @1003 NONAME
?GetReceivedFolder@File@@YGPA_WIPA_WI_N@Z @1039 NONAME
?DlgProc@CUserInfoPageDlg@@UAEHIIJ@Z @1040 NONAME
?wipeNotify@EventInfo@DB@@QAEXXZ @1041 NONAME
-_CallContactService@16 @1048 NONAME
-??0MDatabaseExport@@QAE@XZ @1049 NONAME
-??1MDatabaseExport@@UAE@XZ @1050 NONAME
-??_7MDatabaseExport@@6B@ @1051 NONAME
-??0?$LIST@UMHttpHeader@@@@QAE@ABU0@@Z @1052 NONAME
-??0?$LIST@UMHttpHeader@@@@QAE@HH@Z @1053 NONAME
-??0?$LIST@UMHttpHeader@@@@QAE@HP6AHPBUMHttpHeader@@0@Z@Z @1054 NONAME
-??0?$OBJLIST@UMHttpHeader@@@@QAE@ABU0@@Z @1055 NONAME
-??0?$OBJLIST@UMHttpHeader@@@@QAE@HH@Z @1056 NONAME
-??0?$OBJLIST@UMHttpHeader@@@@QAE@HP6AHPBUMHttpHeader@@0@Z@Z @1057 NONAME
-??0MHttpHeaders@@QAE@ABU0@@Z @1058 NONAME
-??0MHttpHeaders@@QAE@XZ @1059 NONAME
-??0MHttpResponse@@QAE@XZ @1060 NONAME
-??1?$LIST@UMHttpHeader@@@@QAE@XZ @1061 NONAME
-??1?$OBJLIST@UMHttpHeader@@@@QAE@XZ @1062 NONAME
-??1MHttpHeaders@@QAE@XZ @1063 NONAME
-??1MHttpResponse@@QAE@XZ @1064 NONAME
-??4?$LIST@UMHttpHeader@@@@QAEAAU0@ABU0@@Z @1065 NONAME
-??4?$OBJLIST@UMHttpHeader@@@@QAEAAU0@ABU0@@Z @1066 NONAME
-??4MHttpHeaders@@QAEAAU0@ABU0@@Z @1067 NONAME
-??A?$LIST@UMHttpHeader@@@@QBEPAUMHttpHeader@@H@Z @1068 NONAME
-??A?$OBJLIST@UMHttpHeader@@@@QBEAAUMHttpHeader@@H@Z @1069 NONAME
-??AMHttpHeaders@@QAEPBDPBD@Z @1070 NONAME
-?AddHeader@MHttpHeaders@@QAEXPBD0@Z @1071 NONAME
-?FindHeader@MHttpHeaders@@QBEPADPBD@Z @1072 NONAME
-?GetCookies@MHttpHeaders@@QBE?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@XZ @1073 NONAME
-?begin@?$LIST@UMHttpHeader@@@@QBEPAPAUMHttpHeader@@XZ @1074 NONAME
-?destroy@?$LIST@UMHttpHeader@@@@QAEXXZ @1075 NONAME
-?destroy@?$OBJLIST@UMHttpHeader@@@@QAEXXZ @1076 NONAME
-?end@?$LIST@UMHttpHeader@@@@QBEPAPAUMHttpHeader@@XZ @1077 NONAME
-?find@?$LIST@UMHttpHeader@@@@QBEPAUMHttpHeader@@PAU2@@Z @1078 NONAME
-?getArray@?$LIST@UMHttpHeader@@@@QBEPAPAUMHttpHeader@@XZ @1079 NONAME
-?getCount@?$LIST@UMHttpHeader@@@@QBEHXZ @1080 NONAME
-?getIndex@?$LIST@UMHttpHeader@@@@QBEHPAUMHttpHeader@@@Z @1081 NONAME
-?indexOf@?$LIST@UMHttpHeader@@@@QBEHPAPAUMHttpHeader@@@Z @1082 NONAME
-?indexOf@?$LIST@UMHttpHeader@@@@QBEHPAUMHttpHeader@@@Z @1083 NONAME
-?insert@?$LIST@UMHttpHeader@@@@QAEHPAUMHttpHeader@@@Z @1084 NONAME
-?insert@?$LIST@UMHttpHeader@@@@QAEHPAUMHttpHeader@@H@Z @1085 NONAME
-?put@?$LIST@UMHttpHeader@@@@QAEXHPAUMHttpHeader@@@Z @1086 NONAME
-?remove@?$LIST@UMHttpHeader@@@@QAEHH@Z @1087 NONAME
-?remove@?$LIST@UMHttpHeader@@@@QAEHPAUMHttpHeader@@@Z @1088 NONAME
-?remove@?$OBJLIST@UMHttpHeader@@@@QAEHH@Z @1089 NONAME
-?remove@?$OBJLIST@UMHttpHeader@@@@QAEHPAUMHttpHeader@@@Z @1090 NONAME
-?removeItem@?$LIST@UMHttpHeader@@@@QAEPAUMHttpHeader@@PAPAU2@@Z @1091 NONAME
-?removeItem@?$OBJLIST@UMHttpHeader@@@@QAEXPAPAUMHttpHeader@@@Z @1092 NONAME
-?rev_iter@?$LIST@UMHttpHeader@@@@QBE?AVreverse_iterator@1@XZ @1093 NONAME
-Netlib_HttpBuffer @1094
-Netlib_HttpCookies @1095
-Netlib_HttpResult @1096
-?SetData@MHttpRequest@@QAEXPBXI@Z @1097 NONAME
-?DeleteHeader@MHttpHeaders@@QAEXPBD@Z @1098 NONAME
-_Netlib_DownloadFile@20 @1099 NONAME
-??0FILE_BLOB@DB@@QAE@PAXPBD1_N@Z @1100 NONAME
-?getUserInfo@FILE_BLOB@DB@@QBEPAXXZ @1101 NONAME
-?setUserInfo@FILE_BLOB@DB@@QAEXPAX@Z @1102 NONAME
-?Chat_Find@@YGPAUSESSION_INFO@@IPBD@Z @1103 NONAME
-??4EventInfo@DB@@QAEAAV01@I@Z @1104 NONAME
-?MarkEventRead@CSrmmBaseDialog@@QAEXABVEventInfo@DB@@@Z @1105 NONAME
-?getEvent@EventInfo@DB@@QBEIXZ @1106 NONAME
-?GetPreviewPath@PROTO_INTERFACE@@QBE?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@XZ @1107 NONAME
-g_hevEventDelivered @1108 NONAME
-g_hevEventSetJson @1109 NONAME
-?getJson@EventInfo@DB@@QBEAAVJSONNode@@XZ @1110 NONAME
-?setJson@EventInfo@DB@@QAEAAVJSONNode@@XZ @1111 NONAME
-?flushJson@EventInfo@DB@@QAEXXZ @1112 NONAME
-?addReaction@EventInfo@DB@@QAEXPBD@Z @1113 NONAME
-?delReaction@EventInfo@DB@@QAEXPBD@Z @1114 NONAME
-?getText@EventInfo@DB@@QBEPA_WXZ @1115 NONAME
-??0MWebSocket@@QAE@XZ @1116 NONAME
-??1MWebSocket@@QAE@XZ @1117 NONAME
-??_7MWebSocket@@6B@ @1118 NONAME
-?terminate@MWebSocket@@QAEXXZ @1119 NONAME
-??0MJsonWebSocket@@QAE@XZ @1120 NONAME
-??1MJsonWebSocket@@QAE@XZ @1121 NONAME
-??_7MJsonWebSocket@@6B@ @1122 NONAME
-?process@MJsonWebSocket@@EAEXPBEI@Z @1123 NONAME
-_Proto_CanDeleteHistory@8 @1124 NONAME
-?OnCacheInit@PROTO_INTERFACE@@UAEXXZ @1125 NONAME
-?DoRtfToTags@CSrmmBaseDialog@@IBE_NAAV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@@Z @1126 NONAME
-?bUseGroup@Chat@@3V?$CMOption@_N@@A @1127 NONAME
-?isCustom@EventInfo@DB@@QBE_NH@Z @1128 NONAME
-?InsertBbcodeString@CSrmmBaseDialog@@IAEXPB_W@Z @1129 NONAME
-?markRead@SESSION_INFO@@QAEX_N@Z @1130 NONAME
-?Srmm_NotifyRemoteRead@@YGXII@Z @1131 NONAME
-?RemakeLog@CSrmmBaseDialog@@UAEXXZ @1132 NONAME
-?ProcessToolbarHotkey@CSrmmBaseDialog@@AAEXH@Z @1133 NONAME
+_CallContactService@16 @1042 NONAME
+??0MDatabaseExport@@QAE@XZ @1043 NONAME
+??1MDatabaseExport@@UAE@XZ @1044 NONAME
+??_7MDatabaseExport@@6B@ @1045 NONAME
+??0?$LIST@UMHttpHeader@@@@QAE@ABU0@@Z @1046 NONAME
+??0?$LIST@UMHttpHeader@@@@QAE@HH@Z @1047 NONAME
+??0?$LIST@UMHttpHeader@@@@QAE@HP6AHPBUMHttpHeader@@0@Z@Z @1048 NONAME
+??0?$OBJLIST@UMHttpHeader@@@@QAE@ABU0@@Z @1049 NONAME
+??0?$OBJLIST@UMHttpHeader@@@@QAE@HH@Z @1050 NONAME
+??0?$OBJLIST@UMHttpHeader@@@@QAE@HP6AHPBUMHttpHeader@@0@Z@Z @1051 NONAME
+??0MHttpHeaders@@QAE@ABU0@@Z @1052 NONAME
+??0MHttpHeaders@@QAE@XZ @1053 NONAME
+??0MHttpResponse@@QAE@XZ @1054 NONAME
+??1?$LIST@UMHttpHeader@@@@QAE@XZ @1055 NONAME
+??1?$OBJLIST@UMHttpHeader@@@@QAE@XZ @1056 NONAME
+??1MHttpHeaders@@QAE@XZ @1057 NONAME
+??1MHttpResponse@@QAE@XZ @1058 NONAME
+??4?$LIST@UMHttpHeader@@@@QAEAAU0@ABU0@@Z @1059 NONAME
+??4?$OBJLIST@UMHttpHeader@@@@QAEAAU0@ABU0@@Z @1060 NONAME
+??4MHttpHeaders@@QAEAAU0@ABU0@@Z @1061 NONAME
+??A?$LIST@UMHttpHeader@@@@QBEPAUMHttpHeader@@H@Z @1062 NONAME
+??A?$OBJLIST@UMHttpHeader@@@@QBEAAUMHttpHeader@@H@Z @1063 NONAME
+??AMHttpHeaders@@QAEPBDPBD@Z @1064 NONAME
+?AddHeader@MHttpHeaders@@QAEXPBD0@Z @1065 NONAME
+?FindHeader@MHttpHeaders@@QBEPADPBD@Z @1066 NONAME
+?GetCookies@MHttpHeaders@@QBE?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@XZ @1067 NONAME
+?begin@?$LIST@UMHttpHeader@@@@QBEPAPAUMHttpHeader@@XZ @1068 NONAME
+?destroy@?$LIST@UMHttpHeader@@@@QAEXXZ @1069 NONAME
+?destroy@?$OBJLIST@UMHttpHeader@@@@QAEXXZ @1070 NONAME
+?end@?$LIST@UMHttpHeader@@@@QBEPAPAUMHttpHeader@@XZ @1071 NONAME
+?find@?$LIST@UMHttpHeader@@@@QBEPAUMHttpHeader@@PAU2@@Z @1072 NONAME
+?getArray@?$LIST@UMHttpHeader@@@@QBEPAPAUMHttpHeader@@XZ @1073 NONAME
+?getCount@?$LIST@UMHttpHeader@@@@QBEHXZ @1074 NONAME
+?getIndex@?$LIST@UMHttpHeader@@@@QBEHPAUMHttpHeader@@@Z @1075 NONAME
+?indexOf@?$LIST@UMHttpHeader@@@@QBEHPAPAUMHttpHeader@@@Z @1076 NONAME
+?indexOf@?$LIST@UMHttpHeader@@@@QBEHPAUMHttpHeader@@@Z @1077 NONAME
+?insert@?$LIST@UMHttpHeader@@@@QAEHPAUMHttpHeader@@@Z @1078 NONAME
+?insert@?$LIST@UMHttpHeader@@@@QAEHPAUMHttpHeader@@H@Z @1079 NONAME
+?put@?$LIST@UMHttpHeader@@@@QAEXHPAUMHttpHeader@@@Z @1080 NONAME
+?remove@?$LIST@UMHttpHeader@@@@QAEHH@Z @1081 NONAME
+?remove@?$LIST@UMHttpHeader@@@@QAEHPAUMHttpHeader@@@Z @1082 NONAME
+?remove@?$OBJLIST@UMHttpHeader@@@@QAEHH@Z @1083 NONAME
+?remove@?$OBJLIST@UMHttpHeader@@@@QAEHPAUMHttpHeader@@@Z @1084 NONAME
+?removeItem@?$LIST@UMHttpHeader@@@@QAEPAUMHttpHeader@@PAPAU2@@Z @1085 NONAME
+?removeItem@?$OBJLIST@UMHttpHeader@@@@QAEXPAPAUMHttpHeader@@@Z @1086 NONAME
+?rev_iter@?$LIST@UMHttpHeader@@@@QBE?AVreverse_iterator@1@XZ @1087 NONAME
+Netlib_HttpBuffer @1088
+Netlib_HttpCookies @1089
+Netlib_HttpResult @1090
+?SetData@MHttpRequest@@QAEXPBXI@Z @1091 NONAME
+?DeleteHeader@MHttpHeaders@@QAEXPBD@Z @1092 NONAME
+_Netlib_DownloadFile@20 @1093 NONAME
+??0FILE_BLOB@DB@@QAE@PAXPBD1_N@Z @1094 NONAME
+?getUserInfo@FILE_BLOB@DB@@QBEPAXXZ @1095 NONAME
+?setUserInfo@FILE_BLOB@DB@@QAEXPAX@Z @1096 NONAME
+?Chat_Find@@YGPAUSESSION_INFO@@IPBD@Z @1097 NONAME
+??4EventInfo@DB@@QAEAAV01@I@Z @1098 NONAME
+?MarkEventRead@CSrmmBaseDialog@@QAEXABVEventInfo@DB@@@Z @1099 NONAME
+?getEvent@EventInfo@DB@@QBEIXZ @1100 NONAME
+?GetPreviewPath@PROTO_INTERFACE@@QBE?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@XZ @1101 NONAME
+g_hevEventDelivered @1102 NONAME
+g_hevEventSetJson @1103 NONAME
+?getJson@EventInfo@DB@@QBEAAVJSONNode@@XZ @1104 NONAME
+?setJson@EventInfo@DB@@QAEAAVJSONNode@@XZ @1105 NONAME
+?flushJson@EventInfo@DB@@QAEXXZ @1106 NONAME
+?addReaction@EventInfo@DB@@QAEXPBD@Z @1107 NONAME
+?delReaction@EventInfo@DB@@QAEXPBD@Z @1108 NONAME
+?getText@EventInfo@DB@@QBEPA_WXZ @1109 NONAME
+??0MWebSocket@@QAE@XZ @1110 NONAME
+??1MWebSocket@@QAE@XZ @1111 NONAME
+??_7MWebSocket@@6B@ @1112 NONAME
+?terminate@MWebSocket@@QAEXXZ @1113 NONAME
+??0MJsonWebSocket@@QAE@XZ @1114 NONAME
+??1MJsonWebSocket@@QAE@XZ @1115 NONAME
+??_7MJsonWebSocket@@6B@ @1116 NONAME
+?process@MJsonWebSocket@@EAEXPBEI@Z @1117 NONAME
+_Proto_CanDeleteHistory@8 @1118 NONAME
+?OnCacheInit@PROTO_INTERFACE@@UAEXXZ @1119 NONAME
+?DoRtfToTags@CSrmmBaseDialog@@IBE_NAAV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@@Z @1120 NONAME
+?bUseGroup@Chat@@3V?$CMOption@_N@@A @1121 NONAME
+?isCustom@EventInfo@DB@@QBE_NH@Z @1122 NONAME
+?InsertBbcodeString@CSrmmBaseDialog@@IAEXPB_W@Z @1123 NONAME
+?markRead@SESSION_INFO@@QAEX_N@Z @1124 NONAME
+?Srmm_NotifyRemoteRead@@YGXII@Z @1125 NONAME
+?RemakeLog@CSrmmBaseDialog@@UAEXXZ @1126 NONAME
+?ProcessToolbarHotkey@CSrmmBaseDialog@@AAEXH@Z @1127 NONAME
+?iHistoryMode@Srmm@@3V?$CMOption@E@@A @1128 NONAME
diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def
index 0d48f71055..e20374e539 100644
--- a/src/mir_app/src/mir_app64.def
+++ b/src/mir_app/src/mir_app64.def
@@ -993,4 +993,5 @@ Proto_CanDeleteHistory @1118 NONAME
?markRead@SESSION_INFO@@QEAAX_N@Z @1124 NONAME
?Srmm_NotifyRemoteRead@@YAXII@Z @1125 NONAME
?RemakeLog@CSrmmBaseDialog@@UEAAXXZ @1126 NONAME
-?ProcessToolbarHotkey@CSrmmBaseDialog@@AEAAX_J@Z @1129 NONAME
+?ProcessToolbarHotkey@CSrmmBaseDialog@@AEAAX_J@Z @1127 NONAME
+?iHistoryMode@Srmm@@3V?$CMOption@E@@A @1128 NONAME
diff --git a/src/mir_app/src/miranda.h b/src/mir_app/src/miranda.h
index fab65b9524..98cb552ef7 100644
--- a/src/mir_app/src/miranda.h
+++ b/src/mir_app/src/miranda.h
@@ -85,10 +85,6 @@ void KillModuleToolbarIcons(CMPluginBase *pPlugin);
int PopupOptionsInit(WPARAM);
-/**** srmm.cpp *************************************************************************/
-
-#define SRMSGMOD "SRMsg"
-
/**** utf.cpp **************************************************************************/
__forceinline char* Utf8DecodeA(const char* src)
diff --git a/src/mir_app/src/srmm_main.cpp b/src/mir_app/src/srmm_main.cpp
index f990f86be3..5695831180 100644
--- a/src/mir_app/src/srmm_main.cpp
+++ b/src/mir_app/src/srmm_main.cpp
@@ -22,6 +22,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <m_NewStory.h>
#include <m_messagestate.h>
+MIR_APP_EXPORT CMOption<uint8_t> Srmm::iHistoryMode(SRMM_MODULE, "LoadHistory", LOADHISTORY_COUNT);
+
HCURSOR g_hCurHyperlinkHand;
HANDLE hHookIconsChanged, hHookIconPressedEvt, hHookSrmmEvent;