From e170d02c243cd6047e82ba0ecb939da3245a6a3f Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 16 Mar 2017 21:27:05 +0300 Subject: Scriver: - fix for a problem with the initial container resize; - useless class InfobarWindowData removed - useless header file infobar.h removed; - version bump --- plugins/Scriver/src/infobar.cpp | 97 ++++++++++++++++++--------------------- plugins/Scriver/src/infobar.h | 37 --------------- plugins/Scriver/src/msgdialog.cpp | 18 ++++---- plugins/Scriver/src/msgs.h | 10 +++- plugins/Scriver/src/stdafx.h | 1 - plugins/Scriver/src/tabs.cpp | 4 +- plugins/Scriver/src/version.h | 2 +- 7 files changed, 65 insertions(+), 104 deletions(-) delete mode 100644 plugins/Scriver/src/infobar.h (limited to 'plugins') 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 -- cgit v1.2.3