diff options
author | George Hazan <ghazan@miranda.im> | 2017-03-21 18:23:08 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2017-03-21 18:23:08 +0300 |
commit | b3a736917686b19b55c684c1b15c1e83cd0261e5 (patch) | |
tree | 2b71bed0ce0058f33a389a46b2be7dc67accab0b /src/core | |
parent | 03ba85dcd2d47cf31d6181b40620e278f7f30427 (diff) |
some common code moved into mir_app
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/stdmsg/src/chat_window.cpp | 150 | ||||
-rw-r--r-- | src/core/stdmsg/src/msgs.cpp | 12 | ||||
-rw-r--r-- | src/core/stdmsg/src/msgs.h | 2 | ||||
-rw-r--r-- | src/core/stdmsg/src/resource.h | 6 | ||||
-rw-r--r-- | src/core/stdmsg/src/stdafx.h | 6 |
5 files changed, 55 insertions, 121 deletions
diff --git a/src/core/stdmsg/src/chat_window.cpp b/src/core/stdmsg/src/chat_window.cpp index eac363e812..bb721319a0 100644 --- a/src/core/stdmsg/src/chat_window.cpp +++ b/src/core/stdmsg/src/chat_window.cpp @@ -280,52 +280,52 @@ static LRESULT CALLBACK MessageSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, } if (wParam == 0x49 && isCtrl && !isAlt) { // ctrl-i (italics) - CheckDlgButton(hwndDlg, IDC_ITALICS, IsDlgButtonChecked(hwndDlg, IDC_ITALICS) == BST_UNCHECKED ? BST_CHECKED : BST_UNCHECKED); - SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_ITALICS, 0), 0); + CheckDlgButton(hwndDlg, IDC_SRMM_ITALICS, IsDlgButtonChecked(hwndDlg, IDC_SRMM_ITALICS) == BST_UNCHECKED ? BST_CHECKED : BST_UNCHECKED); + SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_SRMM_ITALICS, 0), 0); return TRUE; } if (wParam == 0x42 && isCtrl && !isAlt) { // ctrl-b (bold) - CheckDlgButton(hwndDlg, IDC_BOLD, IsDlgButtonChecked(hwndDlg, IDC_BOLD) == BST_UNCHECKED ? BST_CHECKED : BST_UNCHECKED); - SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_BOLD, 0), 0); + CheckDlgButton(hwndDlg, IDC_SRMM_BOLD, IsDlgButtonChecked(hwndDlg, IDC_SRMM_BOLD) == BST_UNCHECKED ? BST_CHECKED : BST_UNCHECKED); + SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_SRMM_BOLD, 0), 0); return TRUE; } if (wParam == 0x55 && isCtrl && !isAlt) { // ctrl-u (paste clean text) - CheckDlgButton(hwndDlg, IDC_UNDERLINE, IsDlgButtonChecked(hwndDlg, IDC_UNDERLINE) == BST_UNCHECKED ? BST_CHECKED : BST_UNCHECKED); - SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_UNDERLINE, 0), 0); + CheckDlgButton(hwndDlg, IDC_SRMM_UNDERLINE, IsDlgButtonChecked(hwndDlg, IDC_SRMM_UNDERLINE) == BST_UNCHECKED ? BST_CHECKED : BST_UNCHECKED); + SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_SRMM_UNDERLINE, 0), 0); return TRUE; } if (wParam == 0x4b && isCtrl && !isAlt) { // ctrl-k (paste clean text) - CheckDlgButton(hwndDlg, IDC_COLOR, IsDlgButtonChecked(hwndDlg, IDC_COLOR) == BST_UNCHECKED ? BST_CHECKED : BST_UNCHECKED); - SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_COLOR, 0), 0); + CheckDlgButton(hwndDlg, IDC_SRMM_COLOR, IsDlgButtonChecked(hwndDlg, IDC_SRMM_COLOR) == BST_UNCHECKED ? BST_CHECKED : BST_UNCHECKED); + SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_SRMM_COLOR, 0), 0); return TRUE; } if (wParam == VK_SPACE && isCtrl && !isAlt) { // ctrl-space (paste clean text) - CheckDlgButton(hwndDlg, IDC_BKGCOLOR, BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_COLOR, BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_BOLD, BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_UNDERLINE, BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_ITALICS, BST_UNCHECKED); - SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_BKGCOLOR, 0), 0); - SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_COLOR, 0), 0); - SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_BOLD, 0), 0); - SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_UNDERLINE, 0), 0); - SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_ITALICS, 0), 0); + CheckDlgButton(hwndDlg, IDC_SRMM_BKGCOLOR, BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_COLOR, BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_BOLD, BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_UNDERLINE, BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_ITALICS, BST_UNCHECKED); + SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_SRMM_BKGCOLOR, 0), 0); + SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_SRMM_COLOR, 0), 0); + SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_SRMM_BOLD, 0), 0); + SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_SRMM_UNDERLINE, 0), 0); + SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_SRMM_ITALICS, 0), 0); return TRUE; } if (wParam == 0x4c && isCtrl && !isAlt) { // ctrl-l (paste clean text) - CheckDlgButton(hwndDlg, IDC_BKGCOLOR, IsDlgButtonChecked(hwndDlg, IDC_BKGCOLOR) == BST_UNCHECKED ? BST_CHECKED : BST_UNCHECKED); - SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_BKGCOLOR, 0), 0); + CheckDlgButton(hwndDlg, IDC_SRMM_BKGCOLOR, IsDlgButtonChecked(hwndDlg, IDC_SRMM_BKGCOLOR) == BST_UNCHECKED ? BST_CHECKED : BST_UNCHECKED); + SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_SRMM_BKGCOLOR, 0), 0); return TRUE; } if (wParam == 0x46 && isCtrl && !isAlt) { // ctrl-f (paste clean text) - if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_FILTER))) - SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_FILTER, 0), 0); + if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_SRMM_FILTER))) + SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_SRMM_FILTER, 0), 0); return TRUE; } @@ -492,7 +492,7 @@ static LRESULT CALLBACK MessageSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, if (pmi->bColor) { int index = GetColorIndex(dat->si->pszModule, cf.crTextColor); - UINT u = IsDlgButtonChecked(hwndDlg, IDC_COLOR); + UINT u = IsDlgButtonChecked(hwndDlg, IDC_SRMM_COLOR); if (index >= 0) { pDlg->m_bFGSet = true; @@ -500,54 +500,54 @@ static LRESULT CALLBACK MessageSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, } if (u == BST_UNCHECKED && cf.crTextColor != g_Settings.MessageAreaColor) - CheckDlgButton(hwndDlg, IDC_COLOR, BST_CHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_COLOR, BST_CHECKED); else if (u == BST_CHECKED && cf.crTextColor == g_Settings.MessageAreaColor) - CheckDlgButton(hwndDlg, IDC_COLOR, BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_COLOR, BST_UNCHECKED); } if (pmi->bBkgColor) { int index = GetColorIndex(dat->si->pszModule, cf.crBackColor); COLORREF crB = (COLORREF)db_get_dw(0, CHAT_MODULE, "ColorMessageBG", GetSysColor(COLOR_WINDOW)); - UINT u = IsDlgButtonChecked(hwndDlg, IDC_BKGCOLOR); + UINT u = IsDlgButtonChecked(hwndDlg, IDC_SRMM_BKGCOLOR); if (index >= 0) { pDlg->m_bBGSet = TRUE; pDlg->m_iBG = index; } if (u == BST_UNCHECKED && cf.crBackColor != crB) - CheckDlgButton(hwndDlg, IDC_BKGCOLOR, BST_CHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_BKGCOLOR, BST_CHECKED); else if (u == BST_CHECKED && cf.crBackColor == crB) - CheckDlgButton(hwndDlg, IDC_BKGCOLOR, BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_BKGCOLOR, BST_UNCHECKED); } if (pmi->bBold) { - UINT u = IsDlgButtonChecked(hwndDlg, IDC_BOLD); + UINT u = IsDlgButtonChecked(hwndDlg, IDC_SRMM_BOLD); UINT u2 = cf.dwEffects; u2 &= CFE_BOLD; if (u == BST_UNCHECKED && u2) - CheckDlgButton(hwndDlg, IDC_BOLD, BST_CHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_BOLD, BST_CHECKED); else if (u == BST_CHECKED && u2 == 0) - CheckDlgButton(hwndDlg, IDC_BOLD, BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_BOLD, BST_UNCHECKED); } if (pmi->bItalics) { - UINT u = IsDlgButtonChecked(hwndDlg, IDC_ITALICS); + UINT u = IsDlgButtonChecked(hwndDlg, IDC_SRMM_ITALICS); UINT u2 = cf.dwEffects; u2 &= CFE_ITALIC; if (u == BST_UNCHECKED && u2) - CheckDlgButton(hwndDlg, IDC_ITALICS, BST_CHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_ITALICS, BST_CHECKED); else if (u == BST_CHECKED && u2 == 0) - CheckDlgButton(hwndDlg, IDC_ITALICS, BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_ITALICS, BST_UNCHECKED); } if (pmi->bUnderline) { - UINT u = IsDlgButtonChecked(hwndDlg, IDC_UNDERLINE); + UINT u = IsDlgButtonChecked(hwndDlg, IDC_SRMM_UNDERLINE); UINT u2 = cf.dwEffects; u2 &= CFE_UNDERLINE; if (u == BST_UNCHECKED && u2) - CheckDlgButton(hwndDlg, IDC_UNDERLINE, BST_CHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_UNDERLINE, BST_CHECKED); else if (u == BST_CHECKED && u2 == 0) - CheckDlgButton(hwndDlg, IDC_UNDERLINE, BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SRMM_UNDERLINE, BST_UNCHECKED); } } break; @@ -819,14 +819,6 @@ CChatRoomDlg::CChatRoomDlg(SESSION_INFO *si) : m_btnOk(this, IDOK), - m_btnBold(this, IDC_BOLD), - m_btnItalic(this, IDC_ITALICS), - m_btnUnderline(this, IDC_UNDERLINE), - - m_btnColor(this, IDC_COLOR), - m_btnBkColor(this, IDC_BKGCOLOR), - - m_btnFilter(this, IDC_FILTER), m_btnHistory(this, IDC_HISTORY), m_btnNickList(this, IDC_SHOWNICKLIST), m_btnChannelMgr(this, IDC_CHANMGR), @@ -836,9 +828,6 @@ CChatRoomDlg::CChatRoomDlg(SESSION_INFO *si) : { m_pLog = &m_log; m_pEntry = &m_message; - m_pColor = &m_btnColor; - m_pBkColor = &m_btnBkColor; - m_pFilter = &m_btnFilter; m_autoClose = 0; m_forceResizable = true; @@ -847,9 +836,6 @@ CChatRoomDlg::CChatRoomDlg(SESSION_INFO *si) : m_btnItalic.OnClick = Callback(this, &CChatRoomDlg::onClick_Bold); m_btnUnderline.OnClick = Callback(this, &CChatRoomDlg::onClick_Bold); - m_btnColor.OnClick = Callback(this, &CChatRoomDlg::onClick_Color); - m_btnBkColor.OnClick = Callback(this, &CChatRoomDlg::onClick_BkColor); - m_btnOk.OnClick = Callback(this, &CChatRoomDlg::onClick_Ok); m_btnFilter.OnClick = Callback(this, &CChatRoomDlg::onClick_Filter); @@ -953,63 +939,13 @@ void CChatRoomDlg::onClick_Bold(CCtrlButton *pButton) cf.dwMask = CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE; cf.dwEffects = 0; switch (pButton->GetCtrlId()) { - case IDC_BOLD: cf.dwEffects |= CFE_BOLD; break; - case IDC_ITALICS: cf.dwEffects |= CFE_ITALIC; break; - case IDC_UNDERLINE: cf.dwEffects |= CFE_UNDERLINE; break; + case IDC_SRMM_BOLD: cf.dwEffects |= CFE_BOLD; break; + case IDC_SRMM_ITALICS: cf.dwEffects |= CFE_ITALIC; break; + case IDC_SRMM_UNDERLINE: cf.dwEffects |= CFE_UNDERLINE; break; } m_message.SendMsg(EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf); } -void CChatRoomDlg::onClick_Color(CCtrlButton *pButton) -{ - if (!pButton->Enabled()) - return; - - CHARFORMAT2 cf; - cf.cbSize = sizeof(CHARFORMAT2); - cf.dwEffects = 0; - - if (IsDlgButtonChecked(m_hwnd, IDC_COLOR)) { - if (db_get_b(0, CHAT_MODULE, "RightClickFilter", 0) == 0) - ShowColorChooser(IDC_COLOR); - else if (m_bFGSet) { - cf.dwMask = CFM_COLOR; - cf.crTextColor = pci->MM_FindModule(m_si->pszModule)->crColors[m_iFG]; - m_message.SendMsg(EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf); - } - } - else { - cf.dwMask = CFM_COLOR; - cf.crTextColor = g_Settings.MessageAreaColor; - m_message.SendMsg(EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf); - } -} - -void CChatRoomDlg::onClick_BkColor(CCtrlButton *pButton) -{ - if (!pButton->Enabled()) - return; - - CHARFORMAT2 cf; - cf.cbSize = sizeof(CHARFORMAT2); - cf.dwEffects = 0; - - if (IsDlgButtonChecked(m_hwnd, IDC_BKGCOLOR)) { - if (db_get_b(0, CHAT_MODULE, "RightClickFilter", 0) == 0) - ShowColorChooser(IDC_BKGCOLOR); - else if (m_bBGSet) { - cf.dwMask = CFM_BACKCOLOR; - cf.crBackColor = pci->MM_FindModule(m_si->pszModule)->crColors[m_iBG]; - m_message.SendMsg(EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf); - } - } - else { - cf.dwMask = CFM_BACKCOLOR; - cf.crBackColor = (COLORREF)db_get_dw(0, CHAT_MODULE, "ColorMessageBG", GetSysColor(COLOR_WINDOW)); - m_message.SendMsg(EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf); - } -} - void CChatRoomDlg::onClick_Filter(CCtrlButton *pButton) { if (!pButton->Enabled()) @@ -1208,6 +1144,12 @@ void CChatRoomDlg::CloseTab() Close(); } +void CChatRoomDlg::LoadSettings() +{ + m_clrInputBG = db_get_dw(0, CHAT_MODULE, "ColorMessageBG", GetSysColor(COLOR_WINDOW)); + LoadMsgDlgFont(MSGFONTID_MESSAGEAREA, nullptr, &m_clrInputFG); +} + void CChatRoomDlg::RedrawLog() { m_si->LastTime = 0; diff --git a/src/core/stdmsg/src/msgs.cpp b/src/core/stdmsg/src/msgs.cpp index 4e46cc2188..e81d16e3a9 100644 --- a/src/core/stdmsg/src/msgs.cpp +++ b/src/core/stdmsg/src/msgs.cpp @@ -316,35 +316,35 @@ int RegisterToolbarIcons(WPARAM, LPARAM) // chat buttons
bbd.bbbFlags = BBBF_ISPUSHBUTTON | BBBF_ISCHATBUTTON | BBBF_CREATEBYID;
- bbd.dwButtonID = IDC_BOLD;
+ bbd.dwButtonID = IDC_SRMM_BOLD;
bbd.dwDefPos = 10;
bbd.hIcon = GetIconHandle("bold");
bbd.pwszText = LPGENW("&Bold");
bbd.pwszTooltip = LPGENW("Make the text bold (CTRL+B)");
Srmm_AddButton(&bbd);
- bbd.dwButtonID = IDC_ITALICS;
+ bbd.dwButtonID = IDC_SRMM_ITALICS;
bbd.dwDefPos = 15;
bbd.hIcon = GetIconHandle("italics");
bbd.pwszText = LPGENW("&Italic");
bbd.pwszTooltip = LPGENW("Make the text italicized (CTRL+I)");
Srmm_AddButton(&bbd);
- bbd.dwButtonID = IDC_UNDERLINE;
+ bbd.dwButtonID = IDC_SRMM_UNDERLINE;
bbd.dwDefPos = 20;
bbd.hIcon = GetIconHandle("underline");
bbd.pwszText = LPGENW("&Underline");
bbd.pwszTooltip = LPGENW("Make the text underlined (CTRL+U)");
Srmm_AddButton(&bbd);
- bbd.dwButtonID = IDC_COLOR;
+ bbd.dwButtonID = IDC_SRMM_COLOR;
bbd.dwDefPos = 25;
bbd.hIcon = GetIconHandle("fgcol");
bbd.pwszText = LPGENW("&Color");
bbd.pwszTooltip = LPGENW("Select a foreground color for the text (CTRL+K)");
Srmm_AddButton(&bbd);
- bbd.dwButtonID = IDC_BKGCOLOR;
+ bbd.dwButtonID = IDC_SRMM_BKGCOLOR;
bbd.dwDefPos = 30;
bbd.hIcon = GetIconHandle("bkgcol");
bbd.pwszText = LPGENW("&Background color");
@@ -366,7 +366,7 @@ int RegisterToolbarIcons(WPARAM, LPARAM) bbd.pwszTooltip = LPGENW("Show/hide the nick list (CTRL+N)");
Srmm_AddButton(&bbd);
- bbd.dwButtonID = IDC_FILTER;
+ bbd.dwButtonID = IDC_SRMM_FILTER;
bbd.dwDefPos = 10;
bbd.hIcon = GetIconHandle("filter");
bbd.pwszText = LPGENW("&Filter");
diff --git a/src/core/stdmsg/src/msgs.h b/src/core/stdmsg/src/msgs.h index f170e5213f..5d12330fe3 100644 --- a/src/core/stdmsg/src/msgs.h +++ b/src/core/stdmsg/src/msgs.h @@ -102,6 +102,7 @@ public: virtual INT_PTR DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) override;
+ virtual void LoadSettings() override {}
virtual void UpdateTitle() override {}
void OnSplitterMoved(CSplitter*);
@@ -119,7 +120,6 @@ public: INT_PTR CALLBACK ErrorDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
int DbEventIsForMsgWindow(DBEVENTINFO *dbei);
int DbEventIsShown(DBEVENTINFO *dbei);
-void StreamInEvents(HWND hwndDlg, MEVENT hDbEventFirst, int count, int fAppend);
int SendMessageDirect(const wchar_t *szMsg, MCONTACT hContact);
INT_PTR SendMessageCmd(MCONTACT hContact, char *msg, int isWchar);
diff --git a/src/core/stdmsg/src/resource.h b/src/core/stdmsg/src/resource.h index 9a6ad1345f..d07e2b302a 100644 --- a/src/core/stdmsg/src/resource.h +++ b/src/core/stdmsg/src/resource.h @@ -70,15 +70,9 @@ #define IDC_AUTOMIN 1005
#define IDC_DONOTSTEALFOCUS 1006
#define IDC_SPLITTERY 1008
-#define IDC_BOLD 1010
-#define IDC_ITALICS 1011
-#define IDC_UNDERLINE 1012
-#define IDC_FILTER 1013
#define IDC_CHANMGR 1014
#define IDC_SHOWNICKLIST 1016
-#define IDC_COLOR 1017
#define IDC_CHECKBOXES 1018
-#define IDC_BKGCOLOR 1019
#define IDC_NICKLISTBKG 1021
#define IDC_HISTORY 1022
#define IDC_NICKROW 1024
diff --git a/src/core/stdmsg/src/stdafx.h b/src/core/stdmsg/src/stdafx.h index 7e7f77e9c7..ec0d18a764 100644 --- a/src/core/stdmsg/src/stdafx.h +++ b/src/core/stdmsg/src/stdafx.h @@ -219,8 +219,7 @@ class CChatRoomDlg : public CSrmmBaseDialog CCtrlEdit m_message, m_log;
CCtrlListBox m_nickList;
CCtrlButton m_btnOk;
- CCtrlButton m_btnFilter, m_btnChannelMgr, m_btnNickList, m_btnHistory;
- CCtrlButton m_btnBold, m_btnItalic, m_btnUnderline, m_btnColor, m_btnBkColor;
+ CCtrlButton m_btnChannelMgr, m_btnNickList, m_btnHistory;
CSplitter m_splitterX, m_splitterY;
HWND getCaptionWindow() const
@@ -242,6 +241,7 @@ public: virtual int Resizer(UTILRESIZECONTROL *urc) override;
virtual void CloseTab() override;
+ virtual void LoadSettings() override;
virtual void RedrawLog() override;
virtual void StreamInEvents(LOGINFO* lin, bool bRedraw) override;
virtual void ScrollToBottom() override;
@@ -252,8 +252,6 @@ public: virtual void UpdateTitle() override;
void onClick_Bold(CCtrlButton*);
- void onClick_Color(CCtrlButton*);
- void onClick_BkColor(CCtrlButton*);
void onClick_Ok(CCtrlButton*);
|