diff options
| author | George Hazan <george.hazan@gmail.com> | 2023-09-26 12:20:03 +0300 |
|---|---|---|
| committer | George Hazan <george.hazan@gmail.com> | 2023-09-26 12:20:03 +0300 |
| commit | b6669f0ee3361891e9807e5c734bf9121e9cfb06 (patch) | |
| tree | 89f4662ee0f9b743126b213354820fd1671a5657 /src/mir_app | |
| parent | 82228dfaa3f7c387ff1f42e1698c4d68fe8e1335 (diff) | |
SRMM options update unification
Diffstat (limited to 'src/mir_app')
| -rw-r--r-- | src/mir_app/src/chat.h | 2 | ||||
| -rw-r--r-- | src/mir_app/src/mir_app.def | 1 | ||||
| -rw-r--r-- | src/mir_app/src/mir_app64.def | 1 | ||||
| -rw-r--r-- | src/mir_app/src/srmm_base.cpp | 4 | ||||
| -rw-r--r-- | src/mir_app/src/srmm_util.cpp | 61 |
5 files changed, 42 insertions, 27 deletions
diff --git a/src/mir_app/src/chat.h b/src/mir_app/src/chat.h index 6be46ab3ba..6ba50be865 100644 --- a/src/mir_app/src/chat.h +++ b/src/mir_app/src/chat.h @@ -30,6 +30,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define STREAMSTAGE_TAIL 2
#define STREAMSTAGE_STOP 3
+#define DM_OPTIONSAPPLIED (WM_USER+14)
+
void Srmm_CreateToolbarIcons(HWND hwndDlg, int flags);
void Srmm_ProcessToolbarHotkey(MCONTACT hContact, INT_PTR iButtonFrom, HWND hwndDlg);
diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index c76a0cdf00..8a939f15af 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -905,3 +905,4 @@ Clist_GroupSaveExpanded @1003 NONAME ?Srmm_Quote@@YG?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@PB_WH@Z @1022 NONAME
?SetMessageText@CSrmmBaseDialog@@QAEXPB_W_N@Z @1023 NONAME
?GetInput@CSrmmBaseDialog@@QBEPAUHWND__@@XZ @1024 NONAME
+?Srmm_ApplyOptions@@YGXXZ @1025 NONAME
diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def index 81d7d3ce08..f36d40f651 100644 --- a/src/mir_app/src/mir_app64.def +++ b/src/mir_app/src/mir_app64.def @@ -905,3 +905,4 @@ Clist_GroupSaveExpanded @1003 NONAME ?Srmm_Quote@@YA?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@PEB_WH@Z @1022 NONAME
?SetMessageText@CSrmmBaseDialog@@QEAAXPEB_W_N@Z @1023 NONAME
?GetInput@CSrmmBaseDialog@@QEBAPEAUHWND__@@XZ @1024 NONAME
+?Srmm_ApplyOptions@@YAXXZ @1025 NONAME
diff --git a/src/mir_app/src/srmm_base.cpp b/src/mir_app/src/srmm_base.cpp index dfe6b6007e..abd760fa97 100644 --- a/src/mir_app/src/srmm_base.cpp +++ b/src/mir_app/src/srmm_base.cpp @@ -567,6 +567,10 @@ void CSrmmBaseDialog::OnDestroy() INT_PTR CSrmmBaseDialog::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg) {
+ case DM_OPTIONSAPPLIED:
+ OnOptionsApplied();
+ return 0;
+
case WM_COMMAND:
if (!lParam && Clist_MenuProcessCommand(LOWORD(wParam), MPCF_CONTACTMENU, m_hContact))
return 0;
diff --git a/src/mir_app/src/srmm_util.cpp b/src/mir_app/src/srmm_util.cpp index dd69502e34..4af2be4c17 100644 --- a/src/mir_app/src/srmm_util.cpp +++ b/src/mir_app/src/srmm_util.cpp @@ -29,25 +29,26 @@ const char *g_pszHotkeySection; /////////////////////////////////////////////////////////////////////////////////////////
-MIR_APP_DLL(int) Srmm_GetWindowData(MCONTACT hContact, MessageWindowData &mwd)
+MIR_APP_DLL(void) Srmm_AddEvent(MCONTACT hContact, MEVENT hDbEvent)
{
- if (hContact == 0)
- return 1;
+ wchar_t toolTip[256];
+ mir_snwprintf(toolTip, TranslateT("Message from %s"), Clist_GetContactDisplayName(hContact));
- HWND hwnd = WindowList_Find(g_hWindowList, hContact);
- if (hwnd == nullptr)
- return 1;
+ CLISTEVENT cle = {};
+ cle.hContact = hContact;
+ cle.hDbEvent = hDbEvent;
+ cle.flags = CLEF_UNICODE;
+ cle.hIcon = Skin_LoadIcon(SKINICON_EVENT_MESSAGE);
+ cle.pszService = MS_MSG_READMESSAGE;
+ cle.szTooltip.w = toolTip;
+ g_clistApi.pfnAddEvent(&cle);
+}
- mwd.hwndWindow = hwnd;
- mwd.pDlg = (CSrmmBaseDialog*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
- mwd.uState = MSG_WINDOW_STATE_EXISTS;
- if (IsWindowVisible(hwnd))
- mwd.uState |= MSG_WINDOW_STATE_VISIBLE;
- if (GetForegroundWindow() == hwnd)
- mwd.uState |= MSG_WINDOW_STATE_FOCUS;
- if (IsIconic(hwnd))
- mwd.uState |= MSG_WINDOW_STATE_ICONIC;
- return 0;
+/////////////////////////////////////////////////////////////////////////////////////////
+
+MIR_APP_DLL(void) Srmm_ApplyOptions()
+{
+ Srmm_Broadcast(DM_OPTIONSAPPLIED, 0, 0);
}
/////////////////////////////////////////////////////////////////////////////////////////
@@ -89,19 +90,25 @@ MIR_APP_DLL(CMsgDialog*) Srmm_FindDialog(MCONTACT hContact) /////////////////////////////////////////////////////////////////////////////////////////
-MIR_APP_DLL(void) Srmm_AddEvent(MCONTACT hContact, MEVENT hDbEvent)
+MIR_APP_DLL(int) Srmm_GetWindowData(MCONTACT hContact, MessageWindowData &mwd)
{
- wchar_t toolTip[256];
- mir_snwprintf(toolTip, TranslateT("Message from %s"), Clist_GetContactDisplayName(hContact));
+ if (hContact == 0)
+ return 1;
- CLISTEVENT cle = {};
- cle.hContact = hContact;
- cle.hDbEvent = hDbEvent;
- cle.flags = CLEF_UNICODE;
- cle.hIcon = Skin_LoadIcon(SKINICON_EVENT_MESSAGE);
- cle.pszService = MS_MSG_READMESSAGE;
- cle.szTooltip.w = toolTip;
- g_clistApi.pfnAddEvent(&cle);
+ HWND hwnd = WindowList_Find(g_hWindowList, hContact);
+ if (hwnd == nullptr)
+ return 1;
+
+ mwd.hwndWindow = hwnd;
+ mwd.pDlg = (CSrmmBaseDialog *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
+ mwd.uState = MSG_WINDOW_STATE_EXISTS;
+ if (IsWindowVisible(hwnd))
+ mwd.uState |= MSG_WINDOW_STATE_VISIBLE;
+ if (GetForegroundWindow() == hwnd)
+ mwd.uState |= MSG_WINDOW_STATE_FOCUS;
+ if (IsIconic(hwnd))
+ mwd.uState |= MSG_WINDOW_STATE_ICONIC;
+ return 0;
}
/////////////////////////////////////////////////////////////////////////////////////////
|
