| Left: | ||
| Right: |
| OLD | NEW |
|---|---|
| 1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" |
| 2 | 2 |
| 3 #include "PluginClass.h" | 3 #include "PluginClass.h" |
| 4 #include "PluginSettings.h" | 4 #include "PluginSettings.h" |
| 5 #include "PluginSystem.h" | 5 #include "PluginSystem.h" |
| 6 #ifdef SUPPORT_FILTER | 6 #ifdef SUPPORT_FILTER |
| 7 #include "PluginFilter.h" | 7 #include "PluginFilter.h" |
| 8 #endif | 8 #endif |
| 9 #include "PluginMimeFilterClient.h" | 9 #include "PluginMimeFilterClient.h" |
| 10 #include "PluginClient.h" | 10 #include "PluginClient.h" |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 45 CComAutoCriticalSection CPluginClass::s_criticalSectionLocal; | 45 CComAutoCriticalSection CPluginClass::s_criticalSectionLocal; |
| 46 CComAutoCriticalSection CPluginClass::s_criticalSectionBrowser; | 46 CComAutoCriticalSection CPluginClass::s_criticalSectionBrowser; |
| 47 CComAutoCriticalSection CPluginClass::s_criticalSectionWindow; | 47 CComAutoCriticalSection CPluginClass::s_criticalSectionWindow; |
| 48 | 48 |
| 49 CComQIPtr<IWebBrowser2> CPluginClass::s_asyncWebBrowser2; | 49 CComQIPtr<IWebBrowser2> CPluginClass::s_asyncWebBrowser2; |
| 50 | 50 |
| 51 #ifdef SUPPORT_WHITELIST | 51 #ifdef SUPPORT_WHITELIST |
| 52 std::map<UINT,std::wstring> CPluginClass::s_menuDomains; | 52 std::map<UINT,std::wstring> CPluginClass::s_menuDomains; |
| 53 #endif | 53 #endif |
| 54 | 54 |
| 55 //------------------------------------------------------- | |
| 56 // Rectangle | |
| 57 //------------------------------------------------------- | |
| 55 | 58 |
| 59 namespace { | |
|
Oleksandr
2014/07/09 19:29:08
Nit: New line before {
| |
| 60 // Without an extra namespace within the anonymous one, the identifier "Rectan gle" is ambiguous | |
|
Felix Dahlke
2014/07/10 04:49:03
Hm, guess it conflicts with this one?
http://msdn
Eric
2014/07/23 11:25:05
FYI. This URL is exhibited a defect in the code re
Eric
2014/07/23 12:03:18
Well, the base class is "RECT", and it doesn't see
| |
| 61 namespace Local { | |
|
Oleksandr
2014/07/09 19:29:08
Nit: New line before {
| |
| 62 /** | |
| 63 * Replacement for ATL type CRect. | |
| 64 */ | |
| 65 class Rectangle | |
| 66 : public RECT | |
| 67 { | |
| 68 public: | |
| 69 // C++11 noexcept | |
|
Felix Dahlke
2014/07/10 04:49:03
I guess you're marking this so we can make it noex
Eric
2014/07/23 11:25:05
Yes.
| |
| 70 inline int Height() const | |
|
Felix Dahlke
2014/07/10 04:49:03
inline is redundant here, since this will only be
| |
| 71 { | |
| 72 return bottom - top; | |
| 73 } | |
| 74 | |
| 75 // C++11 noexcept | |
| 76 inline int Width() const | |
| 77 { | |
| 78 return right - left; | |
| 79 } | |
| 80 }; | |
| 81 } | |
| 82 } | |
| 83 | |
| 84 //------------------------------------------------------- | |
| 85 // CPluginClass | |
|
Felix Dahlke
2014/07/10 04:49:03
We don't do class headers like this usually, I per
Oleksandr
2014/07/14 07:56:21
Visually I think it makes sense, and sometimes it'
| |
| 86 //------------------------------------------------------- | |
| 56 CPluginClass::CPluginClass() | 87 CPluginClass::CPluginClass() |
| 57 { | 88 { |
| 58 //Use this line to debug memory leaks | 89 //Use this line to debug memory leaks |
| 59 // _CrtDumpMemoryLeaks(); | 90 // _CrtDumpMemoryLeaks(); |
| 60 | 91 |
| 61 m_isAdviced = false; | 92 m_isAdviced = false; |
| 62 m_nConnectionID = 0; | 93 m_nConnectionID = 0; |
| 63 m_hTabWnd = NULL; | 94 m_hTabWnd = NULL; |
| 64 m_hStatusBarWnd = NULL; | 95 m_hStatusBarWnd = NULL; |
| 65 m_hPaneWnd = NULL; | 96 m_hPaneWnd = NULL; |
| (...skipping 876 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 942 hWnd = ::GetWindow(hWnd, GW_HWNDNEXT); | 973 hWnd = ::GetWindow(hWnd, GW_HWNDNEXT); |
| 943 } | 974 } |
| 944 | 975 |
| 945 if (!hWndStatusBar) | 976 if (!hWndStatusBar) |
| 946 { | 977 { |
| 947 DEBUG_ERROR_LOG(0, PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_NO_STATUSBAR_WIN, L"Clas s::CreateStatusBarPane - No status bar") | 978 DEBUG_ERROR_LOG(0, PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_NO_STATUSBAR_WIN, L"Clas s::CreateStatusBarPane - No status bar") |
| 948 return true; | 979 return true; |
| 949 } | 980 } |
| 950 | 981 |
| 951 // Calculate pane height | 982 // Calculate pane height |
| 952 CRect rcStatusBar; | 983 Local::Rectangle rcStatusBar; |
| 953 ::GetClientRect(hWndStatusBar, &rcStatusBar); | 984 ::GetClientRect(hWndStatusBar, &rcStatusBar); |
| 954 | 985 |
| 955 if (rcStatusBar.Height() > 0) | 986 if (rcStatusBar.Height() > 0) |
| 956 { | 987 { |
| 957 #ifdef _DEBUG | 988 #ifdef _DEBUG |
| 958 m_nPaneWidth = 70; | 989 m_nPaneWidth = 70; |
| 959 #else | 990 #else |
| 960 m_nPaneWidth = min(rcStatusBar.Height(), 22); | 991 m_nPaneWidth = min(rcStatusBar.Height(), 22); |
| 961 #endif | 992 #endif |
| 962 } | 993 } |
| (...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1554 HLOCAL hLocal = LocalAlloc(LHND, sizeof(int) * (nParts+1)); | 1585 HLOCAL hLocal = LocalAlloc(LHND, sizeof(int) * (nParts+1)); |
| 1555 LPINT lpParts = (LPINT)LocalLock(hLocal); | 1586 LPINT lpParts = (LPINT)LocalLock(hLocal); |
| 1556 memcpy(lpParts, (void*)lParam, wParam*sizeof(int)); | 1587 memcpy(lpParts, (void*)lParam, wParam*sizeof(int)); |
| 1557 | 1588 |
| 1558 for (unsigned i = 0; i < STATUSBAR_PANE_NUMBER; i++) | 1589 for (unsigned i = 0; i < STATUSBAR_PANE_NUMBER; i++) |
| 1559 { | 1590 { |
| 1560 lpParts[i] -= pClass->m_nPaneWidth; | 1591 lpParts[i] -= pClass->m_nPaneWidth; |
| 1561 } | 1592 } |
| 1562 LRESULT hRet = CallWindowProc(pClass->m_pWndProcStatus, hWnd, message, wPa ram, (LPARAM)lpParts); | 1593 LRESULT hRet = CallWindowProc(pClass->m_pWndProcStatus, hWnd, message, wPa ram, (LPARAM)lpParts); |
| 1563 | 1594 |
| 1564 CRect rcPane; | 1595 Local::Rectangle rcPane; |
| 1565 ::SendMessage(hWnd, SB_GETRECT, STATUSBAR_PANE_NUMBER, (LPARAM)&rcPane); | 1596 ::SendMessage(hWnd, SB_GETRECT, STATUSBAR_PANE_NUMBER, (LPARAM)&rcPane); |
| 1566 | 1597 |
| 1567 CRect rcClient; | 1598 Local::Rectangle rcClient; |
| 1568 ::GetClientRect(hWnd, &rcClient); | 1599 ::GetClientRect(hWnd, &rcClient); |
| 1569 | 1600 |
| 1570 ::MoveWindow( | 1601 ::MoveWindow( |
| 1571 pClass->m_hPaneWnd, | 1602 pClass->m_hPaneWnd, |
| 1572 lpParts[STATUSBAR_PANE_NUMBER] - pClass->m_nPaneWidth, | 1603 lpParts[STATUSBAR_PANE_NUMBER] - pClass->m_nPaneWidth, |
| 1573 0, | 1604 0, |
| 1574 pClass->m_nPaneWidth, | 1605 pClass->m_nPaneWidth, |
| 1575 rcClient.Height(), | 1606 rcClient.Height(), |
| 1576 TRUE); | 1607 TRUE); |
| 1577 | 1608 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1644 case WM_SETCURSOR: | 1675 case WM_SETCURSOR: |
| 1645 { | 1676 { |
| 1646 ::SetCursor(::LoadCursor(NULL, IDC_ARROW)); | 1677 ::SetCursor(::LoadCursor(NULL, IDC_ARROW)); |
| 1647 return TRUE; | 1678 return TRUE; |
| 1648 } | 1679 } |
| 1649 case WM_PAINT: | 1680 case WM_PAINT: |
| 1650 { | 1681 { |
| 1651 PAINTSTRUCT ps; | 1682 PAINTSTRUCT ps; |
| 1652 HDC hDC = ::BeginPaint(hWnd, &ps); | 1683 HDC hDC = ::BeginPaint(hWnd, &ps); |
| 1653 | 1684 |
| 1654 CRect rcClient; | 1685 Local::Rectangle rcClient; |
| 1655 ::GetClientRect(hWnd, &rcClient); | 1686 ::GetClientRect(hWnd, &rcClient); |
| 1656 | 1687 |
| 1657 int nDrawEdge = 0; | 1688 int nDrawEdge = 0; |
| 1658 | 1689 |
| 1659 // Old Windows background drawing | 1690 // Old Windows background drawing |
| 1660 if (pClass->m_hTheme == NULL) | 1691 if (pClass->m_hTheme == NULL) |
| 1661 { | 1692 { |
| 1662 ::FillRect(hDC, &rcClient, (HBRUSH)(COLOR_BTNFACE + 1)); | 1693 ::FillRect(hDC, &rcClient, (HBRUSH)(COLOR_BTNFACE + 1)); |
| 1663 ::DrawEdge(hDC, &rcClient, BDR_RAISEDINNER, BF_LEFT); | 1694 ::DrawEdge(hDC, &rcClient, BDR_RAISEDINNER, BF_LEFT); |
| 1664 | 1695 |
| 1665 nDrawEdge = 3; | 1696 nDrawEdge = 3; |
| 1666 rcClient.left += 3; | 1697 rcClient.left += 3; |
| 1667 | 1698 |
| 1668 ::DrawEdge(hDC, &rcClient, BDR_SUNKENOUTER, BF_RECT); | 1699 ::DrawEdge(hDC, &rcClient, BDR_SUNKENOUTER, BF_RECT); |
| 1669 } | 1700 } |
| 1670 // Themed background drawing | 1701 // Themed background drawing |
| 1671 else | 1702 else |
| 1672 { | 1703 { |
| 1673 // Draw background | 1704 // Draw background |
| 1674 if (pfnDrawThemeBackground) | 1705 if (pfnDrawThemeBackground) |
| 1675 { | 1706 { |
| 1676 CRect rc = rcClient; | 1707 Local::Rectangle rc = rcClient; |
| 1677 rc.right -= 2; | 1708 rc.right -= 2; |
| 1678 pfnDrawThemeBackground(pClass->m_hTheme, hDC, 0, 0, &rc, NULL); | 1709 pfnDrawThemeBackground(pClass->m_hTheme, hDC, 0, 0, &rc, NULL); |
| 1679 } | 1710 } |
| 1680 | 1711 |
| 1681 // Copy separator picture to left side | 1712 // Copy separator picture to left side |
| 1682 int nHeight = rcClient.Height(); | 1713 int nHeight = rcClient.Height(); |
| 1683 int nWidth = rcClient.Width() - 2; | 1714 int nWidth = rcClient.Width() - 2; |
| 1684 | 1715 |
| 1685 for (int i = 0; i < 2; i++) | 1716 for (int i = 0; i < 2; i++) |
| 1686 { | 1717 { |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 1706 if (hIcon) | 1737 if (hIcon) |
| 1707 { | 1738 { |
| 1708 ::DrawIconEx(hDC, offx, (rcClient.Height() - 16)/2 + 2, hIcon, 16, 16, NULL, NULL, DI_NORMAL); | 1739 ::DrawIconEx(hDC, offx, (rcClient.Height() - 16)/2 + 2, hIcon, 16, 16, NULL, NULL, DI_NORMAL); |
| 1709 offx += 22; | 1740 offx += 22; |
| 1710 } | 1741 } |
| 1711 #ifdef _DEBUG | 1742 #ifdef _DEBUG |
| 1712 // Display version | 1743 // Display version |
| 1713 HFONT hFont = (HFONT)::SendMessage(pClass->m_hStatusBarWnd, WM_GETFONT, 0, 0); | 1744 HFONT hFont = (HFONT)::SendMessage(pClass->m_hStatusBarWnd, WM_GETFONT, 0, 0); |
| 1714 HGDIOBJ hOldFont = ::SelectObject(hDC,hFont); | 1745 HGDIOBJ hOldFont = ::SelectObject(hDC,hFont); |
| 1715 | 1746 |
| 1716 CRect rcText = rcClient; | 1747 Local::Rectangle rcText = rcClient; |
| 1717 rcText.left += offx; | 1748 rcText.left += offx; |
| 1718 ::SetBkMode(hDC, TRANSPARENT); | 1749 ::SetBkMode(hDC, TRANSPARENT); |
| 1719 ::DrawTextW(hDC, IEPLUGIN_VERSION, -1, &rcText, DT_WORD_ELLIPSIS|DT_LEFT |DT_SINGLELINE|DT_VCENTER); | 1750 ::DrawTextW(hDC, IEPLUGIN_VERSION, -1, &rcText, DT_WORD_ELLIPSIS|DT_LEFT |DT_SINGLELINE|DT_VCENTER); |
| 1720 | 1751 |
| 1721 ::SelectObject(hDC, hOldFont); | 1752 ::SelectObject(hDC, hOldFont); |
| 1722 #endif // _DEBUG | 1753 #endif // _DEBUG |
| 1723 } | 1754 } |
| 1724 | 1755 |
| 1725 // Done! | 1756 // Done! |
| 1726 EndPaint(hWnd, &ps); | 1757 EndPaint(hWnd, &ps); |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1956 } | 1987 } |
| 1957 } | 1988 } |
| 1958 } | 1989 } |
| 1959 | 1990 |
| 1960 hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT); | 1991 hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT); |
| 1961 } | 1992 } |
| 1962 | 1993 |
| 1963 return hTabWnd; | 1994 return hTabWnd; |
| 1964 | 1995 |
| 1965 } | 1996 } |
| OLD | NEW |