summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2017-03-16 21:27:05 +0300
committerGeorge Hazan <ghazan@miranda.im>2017-03-16 21:27:05 +0300
commite170d02c243cd6047e82ba0ecb939da3245a6a3f (patch)
tree50d12110b7b9ce4d5772d258b284e75b293de698
parentb996b817ffa3e54694eccfd061bef177e25ec0f0 (diff)
Scriver:
- fix for a problem with the initial container resize; - useless class InfobarWindowData removed - useless header file infobar.h removed; - version bump
-rw-r--r--plugins/Scriver/src/infobar.cpp97
-rw-r--r--plugins/Scriver/src/infobar.h37
-rw-r--r--plugins/Scriver/src/msgdialog.cpp18
-rw-r--r--plugins/Scriver/src/msgs.h10
-rw-r--r--plugins/Scriver/src/stdafx.h1
-rw-r--r--plugins/Scriver/src/tabs.cpp4
-rw-r--r--plugins/Scriver/src/version.h2
7 files changed, 65 insertions, 104 deletions
diff --git a/plugins/Scriver/src/infobar.cpp b/plugins/Scriver/src/infobar.cpp
index f9f8c4e226..fc9e1a61ef 100644
--- a/plugins/Scriver/src/infobar.cpp
+++ b/plugins/Scriver/src/infobar.cpp
@@ -23,13 +23,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "stdafx.h"
-void SetupInfobar(InfobarWindowData* idat)
+void CSrmmWindow::SetupInfobar()
{
DWORD colour = db_get_dw(0, SRMMMOD, SRMSGSET_INFOBARBKGCOLOUR, SRMSGDEFSET_INFOBARBKGCOLOUR);
- HWND hwnd = idat->hWnd;
- SendDlgItemMessage(hwnd, IDC_INFOBAR_NAME, EM_SETBKGNDCOLOR, 0, colour);
- SendDlgItemMessage(hwnd, IDC_INFOBAR_STATUS, EM_SETBKGNDCOLOR, 0, colour);
+ SendDlgItemMessage(m_hwndInfo, IDC_INFOBAR_NAME, EM_SETBKGNDCOLOR, 0, colour);
+ SendDlgItemMessage(m_hwndInfo, IDC_INFOBAR_STATUS, EM_SETBKGNDCOLOR, 0, colour);
LOGFONT lf;
LoadMsgDlgFont(MSGFONTID_INFOBAR_NAME, &lf, &colour);
@@ -45,9 +44,9 @@ void SetupInfobar(InfobarWindowData* idat)
cf2.wWeight = (WORD)lf.lfWeight;
cf2.bPitchAndFamily = lf.lfPitchAndFamily;
cf2.yHeight = abs(lf.lfHeight) * 1440 / g_dat.logPixelSY;
- SendDlgItemMessage(hwnd, IDC_INFOBAR_NAME, EM_SETCHARFORMAT, SCF_DEFAULT, (LPARAM)&cf2);
- SendDlgItemMessage(hwnd, IDC_INFOBAR_NAME, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf2); /* WINE: fix send colour text. */
- SendDlgItemMessage(hwnd, IDC_INFOBAR_NAME, EM_SETCHARFORMAT, SCF_ALL, (LPARAM)&cf2); /* WINE: fix send colour text. */
+ SendDlgItemMessage(m_hwndInfo, IDC_INFOBAR_NAME, EM_SETCHARFORMAT, SCF_DEFAULT, (LPARAM)&cf2);
+ SendDlgItemMessage(m_hwndInfo, IDC_INFOBAR_NAME, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf2); /* WINE: fix send colour text. */
+ SendDlgItemMessage(m_hwndInfo, IDC_INFOBAR_NAME, EM_SETCHARFORMAT, SCF_ALL, (LPARAM)&cf2); /* WINE: fix send colour text. */
LoadMsgDlgFont(MSGFONTID_INFOBAR_STATUS, &lf, &colour);
cf2.dwMask = CFM_COLOR | CFM_FACE | CFM_CHARSET | CFM_SIZE | CFM_WEIGHT | CFM_BOLD | CFM_ITALIC;
@@ -59,30 +58,28 @@ void SetupInfobar(InfobarWindowData* idat)
cf2.wWeight = (WORD)lf.lfWeight;
cf2.bPitchAndFamily = lf.lfPitchAndFamily;
cf2.yHeight = abs(lf.lfHeight) * 1440 / g_dat.logPixelSY;
- SendDlgItemMessage(hwnd, IDC_INFOBAR_STATUS, EM_SETCHARFORMAT, SCF_DEFAULT, (LPARAM)&cf2);
- SendDlgItemMessage(hwnd, IDC_INFOBAR_STATUS, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf2); /* WINE: fix send colour text. */
- SendDlgItemMessage(hwnd, IDC_INFOBAR_STATUS, EM_SETCHARFORMAT, SCF_ALL, (LPARAM)&cf2); /* WINE: fix send colour text. */
+ SendDlgItemMessage(m_hwndInfo, IDC_INFOBAR_STATUS, EM_SETCHARFORMAT, SCF_DEFAULT, (LPARAM)&cf2);
+ SendDlgItemMessage(m_hwndInfo, IDC_INFOBAR_STATUS, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf2); /* WINE: fix send colour text. */
+ SendDlgItemMessage(m_hwndInfo, IDC_INFOBAR_STATUS, EM_SETCHARFORMAT, SCF_ALL, (LPARAM)&cf2); /* WINE: fix send colour text. */
- RefreshInfobar(idat);
+ RefreshInfobar();
}
-static HICON GetExtraStatusIcon(InfobarWindowData* idat)
+static HICON GetExtraStatusIcon(CSrmmWindow *pDlg)
{
- BYTE bXStatus = db_get_b(idat->mwd->m_hContact, idat->mwd->m_szProto, "XStatusId", 0);
+ BYTE bXStatus = db_get_b(pDlg->m_hContact, pDlg->m_szProto, "XStatusId", 0);
if (bXStatus > 0)
- return (HICON)CallProtoService(idat->mwd->m_szProto, PS_GETCUSTOMSTATUSICON, bXStatus, 0);
+ return (HICON)CallProtoService(pDlg->m_szProto, PS_GETCUSTOMSTATUSICON, bXStatus, 0);
return nullptr;
}
-void RefreshInfobar(InfobarWindowData* idat)
+void CSrmmWindow::RefreshInfobar()
{
- HWND hwnd = idat->hWnd;
- CSrmmWindow *dat = idat->mwd;
- ptrW szContactStatusMsg(db_get_wsa(dat->m_hContact, "CList", "StatusMsg"));
- ptrW szXStatusName(db_get_wsa(idat->mwd->m_hContact, idat->mwd->m_szProto, "XStatusName"));
- ptrW szXStatusMsg(db_get_wsa(idat->mwd->m_hContact, idat->mwd->m_szProto, "XStatusMsg"));
- HICON hIcon = GetExtraStatusIcon(idat);
+ ptrW szContactStatusMsg(db_get_wsa(m_hContact, "CList", "StatusMsg"));
+ ptrW szXStatusName(db_get_wsa(m_hContact, m_szProto, "XStatusName"));
+ ptrW szXStatusMsg(db_get_wsa(m_hContact, m_szProto, "XStatusMsg"));
+ HICON hIcon = GetExtraStatusIcon(this);
wchar_t szText[2048];
SETTEXTEX st;
if (szXStatusMsg && *szXStatusMsg)
@@ -91,39 +88,39 @@ void RefreshInfobar(InfobarWindowData* idat)
wcsncpy_s(szText, TranslateW(szXStatusName), _TRUNCATE);
st.flags = ST_DEFAULT;
st.codepage = 1200;
- SendDlgItemMessage(hwnd, IDC_INFOBAR_NAME, EM_SETTEXTEX, (WPARAM)&st, (LPARAM)pcli->pfnGetContactDisplayName(dat->m_hContact, 0));
- SendDlgItemMessage(hwnd, IDC_INFOBAR_STATUS, EM_SETTEXTEX, (WPARAM)&st, (LPARAM)szContactStatusMsg);
- hIcon = (HICON)SendDlgItemMessage(hwnd, IDC_XSTATUSICON, STM_SETICON, (WPARAM)hIcon, 0);
+ SendDlgItemMessage(m_hwndInfo, IDC_INFOBAR_NAME, EM_SETTEXTEX, (WPARAM)&st, (LPARAM)pcli->pfnGetContactDisplayName(m_hContact, 0));
+ SendDlgItemMessage(m_hwndInfo, IDC_INFOBAR_STATUS, EM_SETTEXTEX, (WPARAM)&st, (LPARAM)szContactStatusMsg);
+ hIcon = (HICON)SendDlgItemMessage(m_hwndInfo, IDC_XSTATUSICON, STM_SETICON, (WPARAM)hIcon, 0);
if (hIcon)
DestroyIcon(hIcon);
- SetToolTipText(hwnd, idat->hXStatusTip, szText, nullptr);
- SendMessage(hwnd, WM_SIZE, 0, 0);
- InvalidateRect(hwnd, nullptr, TRUE);
- RedrawWindow(GetDlgItem(hwnd, IDC_AVATAR), nullptr, nullptr, RDW_INVALIDATE);
+ SetToolTipText(m_hwndInfo, m_hXStatusTip, szText, nullptr);
+ SendMessage(m_hwndInfo, WM_SIZE, 0, 0);
+ InvalidateRect(m_hwndInfo, nullptr, TRUE);
+ RedrawWindow(GetDlgItem(m_hwndInfo, IDC_AVATAR), nullptr, nullptr, RDW_INVALIDATE);
}
static INT_PTR CALLBACK InfobarWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
static BOOL bWasCopy;
- InfobarWindowData* idat = (InfobarWindowData *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
+ CSrmmWindow *idat = (CSrmmWindow*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
if (!idat && msg != WM_INITDIALOG)
return FALSE;
switch (msg) {
case WM_INITDIALOG:
bWasCopy = FALSE;
- idat = (InfobarWindowData*)lParam;
- idat->hWnd = hwnd;
+ idat = (CSrmmWindow *)lParam;
+ idat->m_hwndInfo = hwnd;
{
RECT rect = { 0 };
- idat->hXStatusTip = CreateToolTip(hwnd, nullptr, nullptr, &rect);
+ idat->m_hXStatusTip = CreateToolTip(hwnd, nullptr, nullptr, &rect);
SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)idat);
SendDlgItemMessage(hwnd, IDC_INFOBAR_NAME, EM_AUTOURLDETECT, TRUE, 0);
SendDlgItemMessage(hwnd, IDC_INFOBAR_NAME, EM_SETEVENTMASK, 0, ENM_MOUSEEVENTS | ENM_LINK | ENM_KEYEVENTS);
SendDlgItemMessage(hwnd, IDC_INFOBAR_STATUS, EM_AUTOURLDETECT, TRUE, 0);
SendDlgItemMessage(hwnd, IDC_INFOBAR_STATUS, EM_SETEVENTMASK, 0, ENM_MOUSEEVENTS | ENM_LINK | ENM_KEYEVENTS);
- SetupInfobar(idat);
+ idat->SetupInfobar();
}
return TRUE;
@@ -137,9 +134,9 @@ static INT_PTR CALLBACK InfobarWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
GetClientRect(hwnd, &rc);
dlgWidth = rc.right - rc.left;
dlgHeight = rc.bottom - rc.top;
- if (idat->mwd->m_hbmpAvatarPic && (g_dat.flags & SMF_AVATAR)) {
+ if (idat->m_hbmpAvatarPic && (g_dat.flags & SMF_AVATAR)) {
BITMAP bminfo;
- GetObject(idat->mwd->m_hbmpAvatarPic, sizeof(bminfo), &bminfo);
+ GetObject(idat->m_hbmpAvatarPic, sizeof(bminfo), &bminfo);
if (bminfo.bmWidth != 0 && bminfo.bmHeight != 0) {
avatarHeight = dlgHeight - 2;
avatarWidth = bminfo.bmWidth * avatarHeight / bminfo.bmHeight;
@@ -158,7 +155,7 @@ static INT_PTR CALLBACK InfobarWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
rc.top = dlgHeight / 4 - 8;
rc.bottom = rc.top + 20;
rc.right = rc.left + 16;
- SetToolTipRect(hwnd, idat->hXStatusTip, &rc);
+ SetToolTipRect(hwnd, idat->m_hXStatusTip, &rc);
EndDeferWindowPos(hdwp);
}
return TRUE;
@@ -219,9 +216,9 @@ static INT_PTR CALLBACK InfobarWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
rect.right = itemWidth - 1;
rect.bottom = itemHeight - 1;
FillRect(hdcMem, &rect, g_dat.hInfobarBrush);
- if (idat->mwd->m_hbmpAvatarPic && (g_dat.flags & SMF_AVATAR)) {
+ if (idat->m_hbmpAvatarPic && (g_dat.flags & SMF_AVATAR)) {
BITMAP bminfo;
- GetObject(idat->mwd->m_hbmpAvatarPic, sizeof(bminfo), &bminfo);
+ GetObject(idat->m_hbmpAvatarPic, sizeof(bminfo), &bminfo);
if (bminfo.bmWidth != 0 && bminfo.bmHeight != 0) {
int avatarHeight = itemHeight;
int avatarWidth = bminfo.bmWidth * avatarHeight / bminfo.bmHeight;
@@ -231,7 +228,7 @@ static INT_PTR CALLBACK InfobarWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
}
AVATARDRAWREQUEST adr = { sizeof(adr) };
- adr.hContact = idat->mwd->m_hContact;
+ adr.hContact = idat->m_hContact;
adr.hTargetDC = hdcMem;
adr.rcDraw.right = avatarWidth - 1;
adr.rcDraw.bottom = avatarHeight - 1;
@@ -249,12 +246,12 @@ static INT_PTR CALLBACK InfobarWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
return Menu_DrawItem(lParam);
case WM_LBUTTONDOWN:
- SendMessage(idat->mwd->GetHwnd(), WM_LBUTTONDOWN, wParam, lParam);
+ SendMessage(idat->GetHwnd(), WM_LBUTTONDOWN, wParam, lParam);
return TRUE;
case WM_RBUTTONUP:
{
- HMENU hMenu = Menu_BuildContactMenu(idat->mwd->m_hContact);
+ HMENU hMenu = Menu_BuildContactMenu(idat->m_hContact);
POINT pt;
GetCursorPos(&pt);
@@ -264,21 +261,17 @@ static INT_PTR CALLBACK InfobarWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
break;
case WM_DESTROY:
- if (idat->hXStatusTip != nullptr) {
- DestroyWindow(idat->hXStatusTip);
- idat->hXStatusTip = nullptr;
+ if (idat->m_hXStatusTip != nullptr) {
+ DestroyWindow(idat->m_hXStatusTip);
+ idat->m_hXStatusTip = nullptr;
}
- mir_free(idat);
}
return FALSE;
}
-InfobarWindowData* CreateInfobar(HWND hParent, CSrmmWindow *dat)
+void CSrmmWindow::CreateInfobar()
{
- InfobarWindowData *idat = (InfobarWindowData*)mir_alloc(sizeof(InfobarWindowData));
- idat->mwd = dat;
- idat->hWnd = CreateDialogParam(g_hInst, MAKEINTRESOURCE(IDD_INFOBAR), hParent, InfobarWndProc, (LPARAM)idat);
- RichUtil_SubClass(idat->hWnd);
- SetWindowPos(idat->hWnd, HWND_TOP, 0, 0, 0, 0, SWP_HIDEWINDOW | SWP_NOSIZE | SWP_NOREPOSITION);
- return idat;
+ m_hwndInfo = CreateDialogParam(g_hInst, MAKEINTRESOURCE(IDD_INFOBAR), m_hwnd, InfobarWndProc, (LPARAM)this);
+ RichUtil_SubClass(m_hwndInfo);
+ SetWindowPos(m_hwndInfo, HWND_TOP, 0, 0, 0, 0, SWP_HIDEWINDOW | SWP_NOSIZE | SWP_NOREPOSITION);
}
diff --git a/plugins/Scriver/src/infobar.h b/plugins/Scriver/src/infobar.h
deleted file mode 100644
index 3b364a466d..0000000000
--- a/plugins/Scriver/src/infobar.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Scriver
-
-Copyright (c) 2000-09 Miranda ICQ/IM project,
-
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-#ifndef INFOBAR_H
-#define INFOBAR_H
-
-typedef struct InfobarWindowDataStruct
-{
- class CSrmmWindow *mwd;
- HWND hWnd;
- HWND hXStatusTip;
-} InfobarWindowData;
-
-InfobarWindowData *CreateInfobar(HWND hParent, CSrmmWindow *dat);
-void SetupInfobar(InfobarWindowData* idat);
-void RefreshInfobar(InfobarWindowData* idat);
-
-#endif
diff --git a/plugins/Scriver/src/msgdialog.cpp b/plugins/Scriver/src/msgdialog.cpp
index c00341ed28..a2328f2176 100644
--- a/plugins/Scriver/src/msgdialog.cpp
+++ b/plugins/Scriver/src/msgdialog.cpp
@@ -156,9 +156,9 @@ void CSrmmWindow::SetDialogToType()
ParentWindowData *pdat = m_pParent;
if (pdat->flags2 & SMF2_SHOWINFOBAR)
- ShowWindow(m_pInfobarData->hWnd, SW_SHOW);
+ ShowWindow(m_hwndInfo, SW_SHOW);
else
- ShowWindow(m_pInfobarData->hWnd, SW_HIDE);
+ ShowWindow(m_hwndInfo, SW_HIDE);
ShowWindow(m_message.GetHwnd(), SW_SHOW);
if (m_hwndIeview != nullptr)
@@ -416,9 +416,6 @@ static void SubclassLogEdit(HWND hwnd)
void CSrmmWindow::MessageDialogResize(int w, int h)
{
- if (!m_pInfobarData)
- return;
-
ParentWindowData *pdat = m_pParent;
bool bToolbar = (pdat->flags2 & SMF2_SHOWTOOLBAR) != 0;
int hSplitterPos = pdat->iSplitterY, toolbarHeight = (bToolbar) ? m_toolbarSize.cy : 0;
@@ -477,7 +474,7 @@ void CSrmmWindow::MessageDialogResize(int w, int h)
int logH = h - hSplitterPos - toolbarHeight - infobarInnerHeight;
HDWP hdwp = BeginDeferWindowPos(5);
- hdwp = DeferWindowPos(hdwp, m_pInfobarData->hWnd, 0, 1, 0, w - 2, infobarInnerHeight - 2, SWP_NOZORDER);
+ hdwp = DeferWindowPos(hdwp, m_hwndInfo, 0, 1, 0, w - 2, infobarInnerHeight - 2, SWP_NOZORDER);
hdwp = DeferWindowPos(hdwp, m_log.GetHwnd(), 0, 1, logY, w - 2, logH, SWP_NOZORDER);
hdwp = DeferWindowPos(hdwp, m_message.GetHwnd(), 0, 1, h - hSplitterPos + SPLITTER_HEIGHT, messageEditWidth, hSplitterPos - SPLITTER_HEIGHT - 1, SWP_NOZORDER);
hdwp = DeferWindowPos(hdwp, GetDlgItem(m_hwnd, IDC_AVATAR), 0, w - avatarWidth - 1, h - (avatarHeight + avatarWidth) / 2 - 1, avatarWidth, avatarWidth, SWP_NOZORDER);
@@ -501,7 +498,7 @@ void CSrmmWindow::MessageDialogResize(int w, int h)
RedrawWindow(m_message.GetHwnd(), nullptr, nullptr, RDW_INVALIDATE);
- RefreshInfobar(m_pInfobarData);
+ RefreshInfobar();
RedrawWindow(GetDlgItem(m_hwnd, IDC_AVATAR), nullptr, nullptr, RDW_INVALIDATE);
}
@@ -529,7 +526,7 @@ void CSrmmWindow::ShowAvatar()
m_hbmpAvatarPic = (m_ace != nullptr && (m_ace->dwFlags & AVS_HIDEONCLIST) == 0) ? m_ace->hbmPic : nullptr;
SendMessage(m_hwnd, WM_SIZE, 0, 0);
- RefreshInfobar(m_pInfobarData);
+ RefreshInfobar();
RedrawWindow(GetDlgItem(m_hwnd, IDC_AVATAR), nullptr, nullptr, RDW_INVALIDATE);
}
@@ -755,7 +752,8 @@ void CSrmmWindow::OnInitDialog()
m_log.SendMsg(EM_LIMITTEXT, sizeof(wchar_t) * 0x7FFFFFFF, 0);
SubclassLogEdit(m_log.GetHwnd());
SubclassMessageEdit(m_message.GetHwnd());
- m_pInfobarData = CreateInfobar(m_hwnd, this);
+ CreateInfobar();
+
if (m_bUseIEView) {
IEVIEWWINDOW ieWindow = { sizeof(IEVIEWWINDOW) };
ieWindow.iType = IEW_CREATE;
@@ -1321,7 +1319,7 @@ INT_PTR CSrmmWindow::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam)
SendMessage(m_hwnd, DM_UPDATETABCONTROL, 0, 0);
UpdateStatusBar();
m_message.SendMsg(EM_REQUESTRESIZE, 0, 0);
- SetupInfobar(m_pInfobarData);
+ SetupInfobar();
break;
case DM_USERNAMETOCLIP:
diff --git a/plugins/Scriver/src/msgs.h b/plugins/Scriver/src/msgs.h
index f73be3d2ba..43ce84c515 100644
--- a/plugins/Scriver/src/msgs.h
+++ b/plugins/Scriver/src/msgs.h
@@ -119,8 +119,6 @@ class CSrmmWindow : public CScriverWindow
int m_iSendAllConfirm;
HICON m_hStatusIcon, m_hStatusIconBig, m_hStatusIconOverlay;
- InfobarWindowData *m_pInfobarData;
-
void GetContactUniqueId(char *buf, int maxlen);
HICON GetTabIcon();
void GetTitlebarIcon(struct TitleBarData *tbd);
@@ -135,6 +133,14 @@ class CSrmmWindow : public CScriverWindow
bool IsTypingNotificationSupported();
void NotifyTyping(int mode);
+public: // info bar support
+ HWND m_hwndInfo;
+ HWND m_hXStatusTip;
+
+ void CreateInfobar();
+ void SetupInfobar();
+ void RefreshInfobar();
+
public:
char *m_szProto;
time_t m_startTime, m_lastEventTime;
diff --git a/plugins/Scriver/src/stdafx.h b/plugins/Scriver/src/stdafx.h
index ff98862e51..15dde61b6f 100644
--- a/plugins/Scriver/src/stdafx.h
+++ b/plugins/Scriver/src/stdafx.h
@@ -111,7 +111,6 @@ int OptInitialise(WPARAM wParam, LPARAM lParam);
int FontServiceFontsChanged(WPARAM wParam, LPARAM lParam);
int StatusIconPressed(WPARAM wParam, LPARAM lParam);
-#include "infobar.h"
#include "cmdlist.h"
#include "sendqueue.h"
#include "msgs.h"
diff --git a/plugins/Scriver/src/tabs.cpp b/plugins/Scriver/src/tabs.cpp
index 17e62a0db6..6de36d2bac 100644
--- a/plugins/Scriver/src/tabs.cpp
+++ b/plugins/Scriver/src/tabs.cpp
@@ -688,7 +688,7 @@ static INT_PTR CALLBACK DlgProcParentWindow(HWND hwndDlg, UINT msg, WPARAM wPara
dat->hwndStatus = CreateWindowEx(0, STATUSCLASSNAME, nullptr, WS_CHILD | WS_VISIBLE | SBARS_SIZEGRIP, 0, 0, 0, 0, hwndDlg, nullptr, g_hInst, nullptr);
dat->isChat = newData->isChat;
SendMessage(dat->hwndStatus, SB_SETMINHEIGHT, GetSystemMetrics(SM_CYSMICON), 0);
- //SetupStatusBar(dat);
+ SetupStatusBar(dat);
dat->hwndTabs = GetDlgItem(hwndDlg, IDC_TABS);
dat->hwndActive = nullptr;
SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)dat);
@@ -720,6 +720,8 @@ static INT_PTR CALLBACK DlgProcParentWindow(HWND hwndDlg, UINT msg, WPARAM wPara
if (!savePerContact && db_get_b(0, SRMMMOD, SRMSGSET_CASCADE, SRMSGDEFSET_CASCADE))
WindowList_Broadcast(g_dat.hParentWindowList, DM_CASCADENEWWINDOW, (WPARAM)hwndDlg, (LPARAM)&dat->windowWasCascaded);
+ PostMessage(hwndDlg, WM_SIZE, 0, 0);
+
HMENU hMenu = GetSystemMenu(hwndDlg, FALSE);
InsertMenu(hMenu, 0, MF_BYPOSITION | MF_SEPARATOR, 0, nullptr);
if (dat->bTopmost) {
diff --git a/plugins/Scriver/src/version.h b/plugins/Scriver/src/version.h
index da34edf9da..0ef57f0fb8 100644
--- a/plugins/Scriver/src/version.h
+++ b/plugins/Scriver/src/version.h
@@ -1,7 +1,7 @@
#define __MAJOR_VERSION 3
#define __MINOR_VERSION 0
#define __RELEASE_NUM 1
-#define __BUILD_NUM 4
+#define __BUILD_NUM 5
#include <stdver.h>