diff options
author | George Hazan <ghazan@miranda.im> | 2023-03-20 13:40:01 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2023-03-20 13:40:01 +0300 |
commit | 54b2cd28874a94509275206e8869d0d26eabd451 (patch) | |
tree | 57730f7a26ab56a8f62bcadd66a88c96f2bff68a | |
parent | 43eaa430b1e56d4465bfbbbb9f8540f14bc2bae2 (diff) |
fixes #3439 (Scriver/StdMsg: unified popup & tray icon settings with the same default values)
-rw-r--r-- | include/m_chat.h | 7 | ||||
-rw-r--r-- | include/m_chat_int.h | 11 | ||||
-rw-r--r-- | libs/win32/mir_app.lib | bin | 238616 -> 240174 bytes | |||
-rw-r--r-- | libs/win64/mir_app.lib | bin | 235558 -> 237116 bytes | |||
-rw-r--r-- | plugins/Scriver/src/chat_main.cpp | 17 | ||||
-rw-r--r-- | plugins/Scriver/src/chat_options.cpp | 2 | ||||
-rw-r--r-- | plugins/TabSRMM/src/chat_tools.cpp | 33 | ||||
-rw-r--r-- | src/core/stdmsg/src/chat_manager.cpp | 16 | ||||
-rw-r--r-- | src/mir_app/src/chat.h | 1 | ||||
-rw-r--r-- | src/mir_app/src/chat_manager.cpp | 2 | ||||
-rw-r--r-- | src/mir_app/src/chat_opts.cpp | 5 | ||||
-rw-r--r-- | src/mir_app/src/chat_svc.cpp | 9 | ||||
-rw-r--r-- | src/mir_app/src/chat_tools.cpp | 8 | ||||
-rw-r--r-- | src/mir_app/src/chat_ui.cpp | 27 | ||||
-rw-r--r-- | src/mir_app/src/mir_app.def | 5 | ||||
-rw-r--r-- | src/mir_app/src/mir_app64.def | 5 | ||||
-rw-r--r-- | src/mir_app/src/srmm_base.cpp | 2 |
17 files changed, 60 insertions, 90 deletions
diff --git a/include/m_chat.h b/include/m_chat.h index 49a636f220..1c628bf8d6 100644 --- a/include/m_chat.h +++ b/include/m_chat.h @@ -345,9 +345,10 @@ MIR_APP_DLL(struct SESSION_INFO*) Chat_NewSession( // Error messages
#define GC_EVENT_ERROR 2 // An internal error occurred.
-#define GC_EVENT_ALL (GC_EVENT_ACTION | GC_EVENT_MESSAGE | GC_EVENT_NICK | GC_EVENT_JOIN | \
- GC_EVENT_PART | GC_EVENT_TOPIC | GC_EVENT_ADDSTATUS | GC_EVENT_INFORMATION | GC_EVENT_QUIT | \
- GC_EVENT_KICK | GC_EVENT_NOTICE)
+// By default users see only those events
+#define GC_EVENT_FILTERED (GC_EVENT_ACTION | GC_EVENT_INFORMATION | GC_EVENT_TOPIC | GC_EVENT_MESSAGE | GC_EVENT_NOTICE)
+
+#define GC_EVENT_ALL (GC_EVENT_FILTERED | GC_EVENT_NICK | GC_EVENT_JOIN | GC_EVENT_PART | GC_EVENT_ADDSTATUS | GC_EVENT_QUIT | GC_EVENT_KICK)
// The GCEVENT structure
diff --git a/include/m_chat_int.h b/include/m_chat_int.h index 8d5fa8a393..f5d86317ca 100644 --- a/include/m_chat_int.h +++ b/include/m_chat_int.h @@ -154,7 +154,7 @@ struct MIR_APP_EXPORT SESSION_INFO : public MZeroedObject, public MNonCopyable int iType;
int iEventCount;
int iStatusCount;
- int iLogTrayFlags, iLogPopupFlags;
+ int iTrayFlags, iPopupFlags;
uint16_t wStatus;
uint16_t wState;
@@ -218,8 +218,6 @@ struct GlobalLogSettingsBase bool bShowContactStatus;
bool bContactStatusFirst;
uint32_t dwIconFlags;
- uint32_t dwTrayIconFlags;
- uint32_t dwPopupFlags;
int LogIconSize;
int LogTextIndent;
int LoggingLimit;
@@ -412,6 +410,13 @@ namespace Chat bLogIndentEnabled,
bLogLimitNames,
bStripFormat;
+
+ extern MIR_APP_EXPORT CMOption<uint32_t>
+ iPopupFlags,
+ iSoundFlags,
+ iFilterFlags,
+ iDiskLogFlags,
+ iTrayIconFlags;
};
#endif // M_CHAT_INT_H__
diff --git a/libs/win32/mir_app.lib b/libs/win32/mir_app.lib Binary files differindex e00190c13c..718693e434 100644 --- a/libs/win32/mir_app.lib +++ b/libs/win32/mir_app.lib diff --git a/libs/win64/mir_app.lib b/libs/win64/mir_app.lib Binary files differindex 99349d01ad..dcc344ccd4 100644 --- a/libs/win64/mir_app.lib +++ b/libs/win64/mir_app.lib diff --git a/plugins/Scriver/src/chat_main.cpp b/plugins/Scriver/src/chat_main.cpp index c5964f3219..12acbf6113 100644 --- a/plugins/Scriver/src/chat_main.cpp +++ b/plugins/Scriver/src/chat_main.cpp @@ -97,20 +97,6 @@ static void OnCreateModule(MODULEINFO *mi) mi->hOfflineIconBig = Skin_LoadProtoIcon(mi->pszModule, ID_STATUS_OFFLINE, true);
}
-static BOOL DoTrayIcon(SESSION_INFO *si, GCEVENT *gce)
-{
- if (gce->iType & g_Settings.dwTrayIconFlags)
- return oldDoTrayIcon(si, gce);
- return TRUE;
-}
-
-static BOOL DoPopup(SESSION_INFO *si, GCEVENT *gce)
-{
- if (gce->iType & g_Settings.dwPopupFlags)
- return oldDoPopup(si, gce);
- return TRUE;
-}
-
static void OnLoadSettings()
{
g_Settings.bAddColonToAutoComplete = db_get_b(0, CHAT_MODULE, "AddColonToAutoComplete", 1) != 0;
@@ -163,9 +149,6 @@ int Chat_Load() Srmm_CreateHotkey(LPGEN("Messaging"), LPGEN("Action: Send message"));
- oldDoPopup = g_chatApi.DoPopup; g_chatApi.DoPopup = DoPopup;
- oldDoTrayIcon = g_chatApi.DoTrayIcon; g_chatApi.DoTrayIcon = DoTrayIcon;
g_chatApi.ReloadSettings();
-
return 0;
}
diff --git a/plugins/Scriver/src/chat_options.cpp b/plugins/Scriver/src/chat_options.cpp index 537d63473e..b8661eec77 100644 --- a/plugins/Scriver/src/chat_options.cpp +++ b/plugins/Scriver/src/chat_options.cpp @@ -524,8 +524,6 @@ static INT_PTR CALLBACK DlgProcOptions2(HWND hwndDlg, UINT uMsg, WPARAM wParam, mir_free(pszText);
g_Settings.dwIconFlags = db_get_dw(0, CHAT_MODULE, "IconFlags", 0x0000);
- g_Settings.dwTrayIconFlags = db_get_dw(0, CHAT_MODULE, "TrayIconFlags", GC_EVENT_HIGHLIGHT);
- g_Settings.dwPopupFlags = db_get_dw(0, CHAT_MODULE, "PopupFlags", GC_EVENT_HIGHLIGHT);
g_Settings.bStripFormat = db_get_b(0, CHAT_MODULE, "TrimFormatting", 0) != 0;
g_Settings.bLogIndentEnabled = (db_get_b(0, CHAT_MODULE, "LogIndentEnabled", 1) != 0) ? TRUE : FALSE;
diff --git a/plugins/TabSRMM/src/chat_tools.cpp b/plugins/TabSRMM/src/chat_tools.cpp index be49e1210a..754f19705b 100644 --- a/plugins/TabSRMM/src/chat_tools.cpp +++ b/plugins/TabSRMM/src/chat_tools.cpp @@ -78,14 +78,6 @@ static LRESULT CALLBACK PopupDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPA return DefWindowProc(hWnd, message, wParam, lParam);
}
-BOOL DoTrayIcon(SESSION_INFO *si, GCEVENT *gce)
-{
- int iEvent = gce->iType;
- if (si && (iEvent & si->iLogTrayFlags))
- return oldDoTrayIcon(si, gce);
- return TRUE;
-}
-
int ShowPopup(MCONTACT hContact, SESSION_INFO *si, HICON hIcon, char* pszProtoName, wchar_t*, COLORREF crBkg, const wchar_t* fmt, ...)
{
POPUPDATAW pd;
@@ -132,7 +124,7 @@ int ShowPopup(MCONTACT hContact, SESSION_INFO *si, HICON hIcon, char* pszProtoNa BOOL DoPopup(SESSION_INFO *si, GCEVENT *gce)
{
int iEvent = gce->iType;
- if (si == nullptr || !(iEvent & si->iLogPopupFlags))
+ if (si == nullptr || !(iEvent & si->iPopupFlags))
return true;
CMsgDialog *dat = si->pDlg;
@@ -145,7 +137,7 @@ BOOL DoPopup(SESSION_INFO *si, GCEVENT *gce) }
else bbStart = bbEnd = L"";
- if (!NEN::bMucPopups) // no popups at all. Period
+ if (!NEN::bMucPopups) // no popups at all. Period
return 0;
// check the status mode against the status mask
@@ -221,7 +213,7 @@ BOOL DoSoundsFlashPopupTrayStuff(SESSION_INFO *si, GCEVENT *gce, BOOL bHighlight if (bInactive) {
bFlagUnread = true;
- DoTrayIcon(si, gce);
+ g_chatApi.DoTrayIcon(si, gce);
}
if (dat || NEN::bMucPopups)
@@ -247,7 +239,7 @@ BOOL DoSoundsFlashPopupTrayStuff(SESSION_INFO *si, GCEVENT *gce, BOOL bHighlight else {
// do blinking icons in tray
if (bInactive || !g_Settings.bTrayIconInactiveOnly) {
- DoTrayIcon(si, gce);
+ g_chatApi.DoTrayIcon(si, gce);
if (iEvent == GC_EVENT_MESSAGE)
bFlagUnread = true;
}
@@ -298,7 +290,7 @@ BOOL DoSoundsFlashPopupTrayStuff(SESSION_INFO *si, GCEVENT *gce, BOOL bHighlight HICON hNotifyIcon = (bManyFix && !bInactive) ? 0 : g_chatApi.getIcon(gce->iType);
BOOL bForcedIcon = (hNotifyIcon == hIconHighlight || hNotifyIcon == hIconMessage);
- if ((gce->iType & si->iLogTrayFlags) || bForcedIcon) {
+ if ((gce->iType & si->iTrayFlags) || bForcedIcon) {
if (!bActiveTab) {
if (hNotifyIcon == hIconHighlight)
dat->m_iFlashIcon = hNotifyIcon;
@@ -334,7 +326,7 @@ BOOL DoSoundsFlashPopupTrayStuff(SESSION_INFO *si, GCEVENT *gce, BOOL bHighlight if (!dat->m_pContainer->cfg.flags.m_bNoFlash)
dat->m_pContainer->FlashContainer(1, 0);
- if (hNotifyIcon && bInactive && ((gce->iType & si->iLogTrayFlags) || bForcedIcon)) {
+ if (hNotifyIcon && bInactive && ((gce->iType & si->iTrayFlags) || bForcedIcon)) {
if (bMustFlash)
dat->m_hTabIcon = hNotifyIcon;
else if (dat->m_iFlashIcon) {
@@ -365,13 +357,12 @@ BOOL DoSoundsFlashPopupTrayStuff(SESSION_INFO *si, GCEVENT *gce, BOOL bHighlight void Chat_SetFilters(SESSION_INFO *si)
{
- uint32_t dwFlags_default = db_get_dw(0, CHAT_MODULE, "FilterFlags", GC_EVENT_ALL);
uint32_t dwFlags_local = db_get_dw(si->hContact, CHAT_MODULE, "FilterFlags", GC_EVENT_ALL);
uint32_t dwMask = db_get_dw(si->hContact, CHAT_MODULE, "FilterMask", 0);
CMsgDialog *pDlg = si->pDlg;
if (pDlg) {
- pDlg->m_iLogFilterFlags = dwFlags_default;
+ pDlg->m_iLogFilterFlags = Chat::iFilterFlags;
for (int i = 0; i < 32; i++) {
uint32_t dwBit = 1 << i;
if (dwMask & dwBit)
@@ -379,26 +370,24 @@ void Chat_SetFilters(SESSION_INFO *si) }
}
- dwFlags_default = db_get_dw(0, CHAT_MODULE, "PopupFlags", GC_EVENT_HIGHLIGHT);
dwFlags_local = db_get_dw(si->hContact, CHAT_MODULE, "PopupFlags", GC_EVENT_HIGHLIGHT);
dwMask = db_get_dw(si->hContact, CHAT_MODULE, "PopupMask", 0);
- si->iLogPopupFlags = dwFlags_default;
+ si->iPopupFlags = Chat::iPopupFlags;
for (int i = 0; i < 32; i++) {
uint32_t dwBit = 1 << i;
if (dwMask & dwBit)
- si->iLogPopupFlags = (dwFlags_local & dwBit) ? si->iLogPopupFlags | dwBit : si->iLogPopupFlags & ~dwBit;
+ si->iPopupFlags = (dwFlags_local & dwBit) ? si->iPopupFlags | dwBit : si->iPopupFlags & ~dwBit;
}
- dwFlags_default = db_get_dw(0, CHAT_MODULE, "TrayIconFlags", GC_EVENT_HIGHLIGHT);
dwFlags_local = db_get_dw(si->hContact, CHAT_MODULE, "TrayIconFlags", GC_EVENT_HIGHLIGHT);
dwMask = db_get_dw(si->hContact, CHAT_MODULE, "TrayIconMask", 0);
- si->iLogTrayFlags = dwFlags_default;
+ si->iTrayFlags = Chat::iTrayIconFlags;
for (int i = 0; i < 32; i++) {
uint32_t dwBit = 1 << i;
if (dwMask & dwBit)
- si->iLogTrayFlags = (dwFlags_local & dwBit) ? si->iLogTrayFlags | dwBit : si->iLogTrayFlags & ~dwBit;
+ si->iTrayFlags = (dwFlags_local & dwBit) ? si->iTrayFlags | dwBit : si->iTrayFlags & ~dwBit;
}
if (pDlg != nullptr && pDlg->m_iLogFilterFlags == 0)
diff --git a/src/core/stdmsg/src/chat_manager.cpp b/src/core/stdmsg/src/chat_manager.cpp index d3e0da1969..a06c0a89f6 100644 --- a/src/core/stdmsg/src/chat_manager.cpp +++ b/src/core/stdmsg/src/chat_manager.cpp @@ -94,20 +94,6 @@ static void OnFlashWindow(SESSION_INFO *si, int bInactive) si->pDlg->StartFlash();
}
-static BOOL DoTrayIcon(SESSION_INFO *si, GCEVENT *gce)
-{
- if (gce->iType & g_Settings.dwTrayIconFlags)
- return oldDoTrayIcon(si, gce);
- return TRUE;
-}
-
-static BOOL DoPopup(SESSION_INFO *si, GCEVENT *gce)
-{
- if (gce->iType & g_Settings.dwPopupFlags)
- return oldDoPopup(si, gce);
- return TRUE;
-}
-
static void OnLoadSettings()
{
g_Settings.iX = db_get_dw(0, CHAT_MODULE, "roomx", -1);
@@ -221,8 +207,6 @@ void Load_ChatModule() Srmm_CreateHotkey(LPGEN("Messaging"), LPGEN("Send message"));
- oldDoPopup = g_chatApi.DoPopup; g_chatApi.DoPopup = DoPopup;
- oldDoTrayIcon = g_chatApi.DoTrayIcon; g_chatApi.DoTrayIcon = DoTrayIcon;
g_chatApi.ReloadSettings();
g_hMenu = LoadMenu(g_plugin.getInst(), MAKEINTRESOURCE(IDR_MENU));
diff --git a/src/mir_app/src/chat.h b/src/mir_app/src/chat.h index 6604acd027..1168fc2815 100644 --- a/src/mir_app/src/chat.h +++ b/src/mir_app/src/chat.h @@ -38,7 +38,6 @@ extern wchar_t *g_szFontGroup; extern mir_cs csChat;
extern HICON g_hChatIcons[20];
-extern uint32_t g_dwDiskLogFlags;
extern HCURSOR g_hCurHyperlinkHand;
extern char* pLogIconBmpBits[14];
extern HANDLE hevSendEvent, hevBuildMenuEvent;
diff --git a/src/mir_app/src/chat_manager.cpp b/src/mir_app/src/chat_manager.cpp index c978c6fa9a..be26a50a5b 100644 --- a/src/mir_app/src/chat_manager.cpp +++ b/src/mir_app/src/chat_manager.cpp @@ -133,7 +133,7 @@ SESSION_INFO::~SESSION_INFO() const char* SESSION_INFO::SESSION_INFO::getSoundName(int iEventType) const
{
// if sounds are filtered out for this event type, do nothing;
- if (!(db_get_dw(0, CHAT_MODULE, "SoundFlags", GC_EVENT_HIGHLIGHT) & iEventType))
+ if (!(Chat::iSoundFlags & iEventType))
return nullptr;
if (iEventType & GC_EVENT_HIGHLIGHT)
diff --git a/src/mir_app/src/chat_opts.cpp b/src/mir_app/src/chat_opts.cpp index 61f7cbadfc..af2b8c5176 100644 --- a/src/mir_app/src/chat_opts.cpp +++ b/src/mir_app/src/chat_opts.cpp @@ -27,7 +27,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern SESSION_INFO g_TabSession;
HICON g_hChatIcons[20];
-uint32_t g_dwDiskLogFlags;
HPLUGIN g_pChatPlugin;
GlobalLogSettingsBase *g_Settings;
int g_cbModuleInfo = sizeof(MODULEINFO), g_iFontMode;
@@ -208,8 +207,6 @@ void LoadGlobalSettings(void) g_Settings->bSoundsFocus = db_get_b(0, CHAT_MODULE, "SoundsFocus", 0) != 0;
g_Settings->iEventLimit = db_get_w(0, CHAT_MODULE, "LogLimit", 100);
g_Settings->dwIconFlags = db_get_dw(0, CHAT_MODULE, "IconFlags", 0x0000);
- g_Settings->dwTrayIconFlags = db_get_dw(0, CHAT_MODULE, "TrayIconFlags", 0x1000);
- g_Settings->dwPopupFlags = db_get_dw(0, CHAT_MODULE, "PopupFlags", 0x0000);
g_Settings->LoggingLimit = db_get_w(0, CHAT_MODULE, "LoggingLimit", 100);
g_Settings->bLoggingEnabled = db_get_b(0, CHAT_MODULE, "LoggingEnabled", 0) != 0;
g_Settings->bHighlightEnabled = db_get_b(0, CHAT_MODULE, "HighlightEnabled", 1) != 0;
@@ -258,8 +255,6 @@ void LoadGlobalSettings(void) g_Settings->UserListHeadingsFont = CreateFontIndirect(&lf);
SetIndentSize();
-
- g_dwDiskLogFlags = db_get_dw(0, CHAT_MODULE, "DiskLogFlags", GC_EVENT_ALL);
}
static void FreeGlobalSettings(void)
diff --git a/src/mir_app/src/chat_svc.cpp b/src/mir_app/src/chat_svc.cpp index 911a04788d..c3c47430f9 100644 --- a/src/mir_app/src/chat_svc.cpp +++ b/src/mir_app/src/chat_svc.cpp @@ -40,6 +40,11 @@ CMOption<bool> Chat::bLogIndentEnabled(CHAT_MODULE, "LogIndentEnabled", true); CMOption<bool> Chat::bShowTimeIfChanged(CHAT_MODULE, "ShowTimeStampIfChanged", false);
CMOption<bool> Chat::bTimeStampEventColour(CHAT_MODULE, "TimeStampEventColour", false);
+CMOption<uint32_t> Chat::iPopupFlags(CHAT_MODULE, "PopupFlags", GC_EVENT_HIGHLIGHT);
+CMOption<uint32_t> Chat::iSoundFlags(CHAT_MODULE, "SoundFlags", GC_EVENT_HIGHLIGHT);
+CMOption<uint32_t> Chat::iFilterFlags(CHAT_MODULE, "FilterFlags", GC_EVENT_FILTERED);
+CMOption<uint32_t> Chat::iDiskLogFlags(CHAT_MODULE, "DiskLogFlags", GC_EVENT_ALL);
+CMOption<uint32_t> Chat::iTrayIconFlags(CHAT_MODULE, "TrayIconFlags", GC_EVENT_HIGHLIGHT);
INT_PTR SvcGetChatManager(WPARAM, LPARAM);
@@ -259,8 +264,8 @@ MIR_APP_DLL(SESSION_INFO*) Chat_NewSession( else
wcsncpy_s(szTemp, si->ptszName, _TRUNCATE);
si->hContact = AddRoom(pszModule, ptszID, szTemp, si->iType);
- si->iLogPopupFlags = db_get_dw(0, CHAT_MODULE, "PopupFlags", GC_EVENT_HIGHLIGHT);
- si->iLogTrayFlags = db_get_dw(0, CHAT_MODULE, "TrayIconFlags", GC_EVENT_HIGHLIGHT);
+ si->iPopupFlags = Chat::iPopupFlags;
+ si->iTrayFlags = Chat::iTrayIconFlags;
db_set_s(si->hContact, si->pszModule, "Topic", "");
db_unset(si->hContact, "CList", "StatusMsg");
if (si->ptszStatusbarText)
diff --git a/src/mir_app/src/chat_tools.cpp b/src/mir_app/src/chat_tools.cpp index 382f2f2dcf..605c713c3e 100644 --- a/src/mir_app/src/chat_tools.cpp +++ b/src/mir_app/src/chat_tools.cpp @@ -158,6 +158,9 @@ static void AddEvent(MCONTACT hContact, HICON hIcon, int type, const wchar_t *pw BOOL DoTrayIcon(SESSION_INFO *si, GCEVENT *gce)
{
+ if (si == nullptr || !(si->iTrayFlags & gce->iType))
+ return FALSE;
+
int iMuteMode = Chat_IsMuted(si->hContact);
switch (iMuteMode) {
case CHATMODE_MUTE: iMuteMode = CLEF_ONLYAFEW; break;
@@ -296,6 +299,9 @@ int ShowPopup(MCONTACT hContact, SESSION_INFO *si, HICON hIcon, char *pszProtoNa BOOL DoPopup(SESSION_INFO *si, GCEVENT *gce)
{
+ if (si == nullptr || !(si->iPopupFlags & gce->iType))
+ return FALSE;
+
fakeLOGINFO lin(gce);
CMStringW wszText, wszNick;
g_chatApi.CreateNick(si, &lin, wszNick);
@@ -466,7 +472,7 @@ BOOL LogToFile(SESSION_INFO *si, GCEVENT *gce) return FALSE;
// check whether we have to log this event
- if (!(gce->iType & g_dwDiskLogFlags))
+ if (!(gce->iType & Chat::iDiskLogFlags))
return FALSE;
wchar_t p = '\0';
diff --git a/src/mir_app/src/chat_ui.cpp b/src/mir_app/src/chat_ui.cpp index 4c5c21b6cd..8b08092f8a 100644 --- a/src/mir_app/src/chat_ui.cpp +++ b/src/mir_app/src/chat_ui.cpp @@ -86,20 +86,14 @@ public: {
btn1.MakeFlat(); btn2.MakeFlat(); btn3.MakeFlat(); btn4.MakeFlat();
- uint32_t dwFilterFlags = db_get_dw(0, CHAT_MODULE, "FilterFlags", GC_EVENT_ALL);
- uint32_t dwTrayFlags = db_get_dw(0, CHAT_MODULE, "TrayIconFlags", GC_EVENT_HIGHLIGHT);
- uint32_t dwPopupFlags = db_get_dw(0, CHAT_MODULE, "PopupFlags", GC_EVENT_HIGHLIGHT);
- uint32_t dwSoundFlags = db_get_dw(0, CHAT_MODULE, "SoundFlags", GC_EVENT_HIGHLIGHT);
- uint32_t dwLogFlags = db_get_dw(0, CHAT_MODULE, "DiskLogFlags", GC_EVENT_ALL);
-
for (int i = 0; i < _countof(_eventorder); i++) {
if (_eventorder[i] != GC_EVENT_HIGHLIGHT) {
- CheckDlgButton(m_hwnd, IDC_1 + i, dwFilterFlags & _eventorder[i] ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(m_hwnd, IDC_L1 + i, dwLogFlags & _eventorder[i] ? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton(m_hwnd, IDC_1 + i, Chat::iFilterFlags & _eventorder[i] ? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton(m_hwnd, IDC_L1 + i, Chat::iDiskLogFlags & _eventorder[i] ? BST_CHECKED : BST_UNCHECKED);
}
- CheckDlgButton(m_hwnd, IDC_P1 + i, dwPopupFlags & _eventorder[i] ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(m_hwnd, IDC_T1 + i, dwTrayFlags & _eventorder[i] ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(m_hwnd, IDC_S1 + i, dwSoundFlags & _eventorder[i] ? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton(m_hwnd, IDC_P1 + i, Chat::iPopupFlags & _eventorder[i] ? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton(m_hwnd, IDC_S1 + i, Chat::iSoundFlags & _eventorder[i] ? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton(m_hwnd, IDC_T1 + i, Chat::iTrayIconFlags & _eventorder[i] ? BST_CHECKED : BST_UNCHECKED);
}
return true;
}
@@ -117,11 +111,12 @@ public: dwPopupFlags |= (IsDlgButtonChecked(m_hwnd, IDC_P1 + i) ? _eventorder[i] : 0);
dwTrayFlags |= (IsDlgButtonChecked(m_hwnd, IDC_T1 + i) ? _eventorder[i] : 0);
}
- db_set_dw(0, CHAT_MODULE, "FilterFlags", dwFilterFlags);
- db_set_dw(0, CHAT_MODULE, "PopupFlags", dwPopupFlags);
- db_set_dw(0, CHAT_MODULE, "SoundFlags", dwSoundFlags);
- db_set_dw(0, CHAT_MODULE, "TrayIconFlags", dwTrayFlags);
- db_set_dw(0, CHAT_MODULE, "DiskLogFlags", dwLogFlags);
+
+ Chat::iPopupFlags = dwPopupFlags;
+ Chat::iSoundFlags = dwSoundFlags;
+ Chat::iFilterFlags = dwFilterFlags;
+ Chat::iTrayIconFlags = dwTrayFlags;
+ Chat::iDiskLogFlags = dwLogFlags;
LoadGlobalSettings();
return true;
diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index b84da6e734..8c408aa850 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -825,3 +825,8 @@ Srmm_CreateHotkey @886 NONAME ?OnEventDeleted@PROTO_INTERFACE@@UAEXII@Z @940 NONAME
Chat_IsMuted @941 NONAME
?Srmm_AddEvent@@YGXII@Z @942 NONAME
+?iDiskLogFlags@Chat@@3V?$CMOption@I@@A @943 NONAME
+?iFilterFlags@Chat@@3V?$CMOption@I@@A @944 NONAME
+?iPopupFlags@Chat@@3V?$CMOption@I@@A @945 NONAME
+?iSoundFlags@Chat@@3V?$CMOption@I@@A @946 NONAME
+?iTrayIconFlags@Chat@@3V?$CMOption@I@@A @947 NONAME
diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def index 91471cf20e..6fea4dc002 100644 --- a/src/mir_app/src/mir_app64.def +++ b/src/mir_app/src/mir_app64.def @@ -825,3 +825,8 @@ Srmm_CreateHotkey @886 NONAME ?OnEventDeleted@PROTO_INTERFACE@@UEAAXII@Z @940 NONAME
Chat_IsMuted @941 NONAME
?Srmm_AddEvent@@YAXII@Z @942 NONAME
+?iDiskLogFlags@Chat@@3V?$CMOption@I@@A @943 NONAME
+?iFilterFlags@Chat@@3V?$CMOption@I@@A @944 NONAME
+?iPopupFlags@Chat@@3V?$CMOption@I@@A @945 NONAME
+?iSoundFlags@Chat@@3V?$CMOption@I@@A @946 NONAME
+?iTrayIconFlags@Chat@@3V?$CMOption@I@@A @947 NONAME
diff --git a/src/mir_app/src/srmm_base.cpp b/src/mir_app/src/srmm_base.cpp index eab87c6e78..5b115a1a1d 100644 --- a/src/mir_app/src/srmm_base.cpp +++ b/src/mir_app/src/srmm_base.cpp @@ -55,7 +55,7 @@ CSrmmBaseDialog::CSrmmBaseDialog(CMPluginBase &pPlugin, int idDialog, SESSION_IN {
m_bFilterEnabled = db_get_b(0, CHAT_MODULE, "FilterEnabled", 0) != 0;
m_bNicklistEnabled = db_get_b(0, CHAT_MODULE, "ShowNicklist", 1) != 0;
- m_iLogFilterFlags = db_get_dw(0, CHAT_MODULE, "FilterFlags", 0x03E0);
+ m_iLogFilterFlags = Chat::iFilterFlags;
m_btnColor.OnClick = Callback(this, &CSrmmBaseDialog::onClick_Color);
m_btnBkColor.OnClick = Callback(this, &CSrmmBaseDialog::onClick_BkColor);
|