Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: src/plugin/PluginClass.cpp

Issue 6210609305616384: Issue 1538 - Replace ABP icon with new one (v.1.1) - for Internet Explorer (Closed)
Patch Set: Use multiresolution icons Created Feb. 10, 2015, 6:04 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « installer/src/setup-exe/abp-64.png ('k') | src/res/blocking.ico » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-2015 Eyeo GmbH 3 * Copyright (C) 2006-2015 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 26 matching lines...) Expand all
37 #ifdef DEBUG_HIDE_EL 37 #ifdef DEBUG_HIDE_EL
38 DWORD profileTime = 0; 38 DWORD profileTime = 0;
39 #endif 39 #endif
40 40
41 typedef HANDLE (WINAPI *OPENTHEMEDATA)(HWND, LPCWSTR); 41 typedef HANDLE (WINAPI *OPENTHEMEDATA)(HWND, LPCWSTR);
42 typedef HRESULT (WINAPI *DRAWTHEMEBACKGROUND)(HANDLE, HDC, INT, INT, LPRECT, LPR ECT); 42 typedef HRESULT (WINAPI *DRAWTHEMEBACKGROUND)(HANDLE, HDC, INT, INT, LPRECT, LPR ECT);
43 typedef HRESULT (WINAPI *CLOSETHEMEDATA)(HANDLE); 43 typedef HRESULT (WINAPI *CLOSETHEMEDATA)(HANDLE);
44 44
45 HICON CPluginClass::s_hIcons[ICON_MAX] = { NULL, NULL, NULL }; 45 HICON CPluginClass::s_hIcons[ICON_MAX] = { NULL, NULL, NULL };
46 DWORD CPluginClass::s_hIconTypes[ICON_MAX] = { IDI_ICON_DISABLED, IDI_ICON_ENABL ED, IDI_ICON_DEACTIVATED }; 46 DWORD CPluginClass::s_hIconTypes[ICON_MAX] = { IDI_ICON_DISABLED, IDI_ICON_ENABL ED, IDI_ICON_DEACTIVATED };
47 uint32_t iconHeight = 32;
48 uint32_t iconWidth = 32;
47 49
48 CPluginMimeFilterClient* CPluginClass::s_mimeFilter = NULL; 50 CPluginMimeFilterClient* CPluginClass::s_mimeFilter = NULL;
49 51
50 CLOSETHEMEDATA pfnClose = NULL; 52 CLOSETHEMEDATA pfnClose = NULL;
51 DRAWTHEMEBACKGROUND pfnDrawThemeBackground = NULL; 53 DRAWTHEMEBACKGROUND pfnDrawThemeBackground = NULL;
52 OPENTHEMEDATA pfnOpenThemeData = NULL; 54 OPENTHEMEDATA pfnOpenThemeData = NULL;
53 55
54 ATOM CPluginClass::s_atomPaneClass = NULL; 56 ATOM CPluginClass::s_atomPaneClass = NULL;
55 HINSTANCE CPluginClass::s_hUxtheme = NULL; 57 HINSTANCE CPluginClass::s_hUxtheme = NULL;
56 std::set<CPluginClass*> CPluginClass::s_instances; 58 std::set<CPluginClass*> CPluginClass::s_instances;
(...skipping 928 matching lines...) Expand 10 before | Expand all | Expand 10 after
985 DEBUG_ERROR_LOG(0, PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_NO_STATUSBAR_WIN, "Class ::CreateStatusBarPane - No status bar") 987 DEBUG_ERROR_LOG(0, PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_NO_STATUSBAR_WIN, "Class ::CreateStatusBarPane - No status bar")
986 return true; 988 return true;
987 } 989 }
988 990
989 // Calculate pane height 991 // Calculate pane height
990 AdblockPlus::Rectangle rcStatusBar; 992 AdblockPlus::Rectangle rcStatusBar;
991 ::GetClientRect(hWndStatusBar, &rcStatusBar); 993 ::GetClientRect(hWndStatusBar, &rcStatusBar);
992 994
993 if (rcStatusBar.Height() > 0) 995 if (rcStatusBar.Height() > 0)
994 { 996 {
997 if (rcStatusBar.Height() < iconWidth)
998 {
999 iconWidth = 19;
1000 iconHeight = 19;
1001 }
1002
995 #ifdef _DEBUG 1003 #ifdef _DEBUG
996 m_nPaneWidth = 70; 1004 m_nPaneWidth = 70;
997 #else 1005 #else
998 m_nPaneWidth = min(rcStatusBar.Height(), 22); 1006 m_nPaneWidth = min(rcStatusBar.Height(), iconWidth);
999 #endif 1007 #endif
1000 } 1008 }
1001 else 1009 else
1002 { 1010 {
1003 #ifdef _DEBUG 1011 #ifdef _DEBUG
1004 m_nPaneWidth = 70; 1012 m_nPaneWidth = 70;
1005 #else 1013 #else
1006 m_nPaneWidth = 22; 1014 m_nPaneWidth = iconWidth;
1007 #endif 1015 #endif
1008 } 1016 }
1009 // Create pane window 1017 // Create pane window
1010 HWND hWndNewPane = ::CreateWindowEx( 1018 HWND hWndNewPane = ::CreateWindowEx(
1011 NULL, 1019 NULL,
1012 MAKEINTATOM(GetAtomPaneClass()), 1020 MAKEINTATOM(GetAtomPaneClass()),
1013 L"", 1021 L"",
1014 WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, 1022 WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
1015 rcStatusBar.Width() - 500,0,m_nPaneWidth,rcStatusBar.Height(), 1023 rcStatusBar.Width() - 500, 0, m_nPaneWidth, rcStatusBar.Height(),
1016 hWndStatusBar, 1024 hWndStatusBar,
1017 (HMENU)3671, 1025 (HMENU)3671,
1018 _Module.m_hInst, 1026 _Module.m_hInst,
1019 NULL); 1027 NULL);
1020 1028
1021 if (!hWndNewPane) 1029 if (!hWndNewPane)
1022 { 1030 {
1023 DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_CREATE_ST ATUSBAR_PANE, "Class::CreateStatusBarPane - CreateWindowEx") 1031 DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_CREATE_ST ATUSBAR_PANE, "Class::CreateStatusBarPane - CreateWindowEx")
1024 return false; 1032 return false;
1025 } 1033 }
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after
1614 } 1622 }
1615 1623
1616 // Draw icon 1624 // Draw icon
1617 if (CPluginClient::GetInstance()) 1625 if (CPluginClient::GetInstance())
1618 { 1626 {
1619 HICON hIcon = GetStatusBarIcon(pClass->GetTab()->GetDocumentUrl()); 1627 HICON hIcon = GetStatusBarIcon(pClass->GetTab()->GetDocumentUrl());
1620 1628
1621 int offx = nDrawEdge; 1629 int offx = nDrawEdge;
1622 if (hIcon) 1630 if (hIcon)
1623 { 1631 {
1624 ::DrawIconEx(hDC, offx, (rcClient.Height() - 16)/2 + 2, hIcon, 16, 16, NULL, NULL, DI_NORMAL); 1632 //Get the RECT for the leftmost pane (the status text pane)
1625 offx += 22; 1633 RECT rect;
1634 BOOL rectRes = ::SendMessage(pClass->m_hStatusBarWnd, SB_GETRECT, 0, ( LPARAM)&rect);
1635 ::DrawIconEx(hDC, 0, rect.bottom - rect.top - iconHeight, hIcon, iconW idth, iconHeight, NULL, NULL, DI_NORMAL);
1636 offx += iconWidth;
1626 } 1637 }
1627 #ifdef _DEBUG 1638 #ifdef _DEBUG
1628 // Display version 1639 // Display version
1629 HFONT hFont = (HFONT)::SendMessage(pClass->m_hStatusBarWnd, WM_GETFONT, 0, 0); 1640 HFONT hFont = (HFONT)::SendMessage(pClass->m_hStatusBarWnd, WM_GETFONT, 0, 0);
1630 HGDIOBJ hOldFont = ::SelectObject(hDC,hFont); 1641 HGDIOBJ hOldFont = ::SelectObject(hDC,hFont);
1631 1642
1632 AdblockPlus::Rectangle rcText = rcClient; 1643 AdblockPlus::Rectangle rcText = rcClient;
1633 rcText.left += offx; 1644 rcText.left += offx;
1634 ::SetBkMode(hDC, TRANSPARENT); 1645 ::SetBkMode(hDC, TRANSPARENT);
1635 ::DrawTextW(hDC, IEPLUGIN_VERSION, -1, &rcText, DT_WORD_ELLIPSIS|DT_LEFT |DT_SINGLELINE|DT_VCENTER); 1646 ::DrawTextW(hDC, IEPLUGIN_VERSION, -1, &rcText, DT_WORD_ELLIPSIS|DT_LEFT |DT_SINGLELINE|DT_VCENTER);
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
1783 } 1794 }
1784 1795
1785 HICON CPluginClass::GetIcon(int type) 1796 HICON CPluginClass::GetIcon(int type)
1786 { 1797 {
1787 HICON icon = NULL; 1798 HICON icon = NULL;
1788 1799
1789 s_criticalSectionLocal.Lock(); 1800 s_criticalSectionLocal.Lock();
1790 { 1801 {
1791 if (!s_hIcons[type]) 1802 if (!s_hIcons[type])
1792 { 1803 {
1793 s_hIcons[type] = ::LoadIcon(_Module.m_hInst, MAKEINTRESOURCE(s_hIconTypes[ type])); 1804 std::wstring imageToLoad = L"#";
1805 imageToLoad += std::to_wstring(s_hIconTypes[type]);
1806 s_hIcons[type] = (HICON)::LoadImage(_Module.m_hInst, imageToLoad.c_str(), IMAGE_ICON, iconWidth, iconHeight, LR_SHARED);
1794 if (!s_hIcons[type]) 1807 if (!s_hIcons[type])
1795 { 1808 {
1796 DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_LOAD_ ICON, "Class::GetIcon - LoadIcon") 1809 DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_LOAD_ ICON, "Class::GetIcon - LoadIcon")
1797 } 1810 }
1798 } 1811 }
1799 1812
1800 icon = s_hIcons[type]; 1813 icon = s_hIcons[type];
1801 } 1814 }
1802 s_criticalSectionLocal.Unlock(); 1815 s_criticalSectionLocal.Unlock();
1803 1816
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1871 } 1884 }
1872 } 1885 }
1873 } 1886 }
1874 1887
1875 hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT); 1888 hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT);
1876 } 1889 }
1877 1890
1878 return hTabWnd; 1891 return hTabWnd;
1879 1892
1880 } 1893 }
OLDNEW
« no previous file with comments | « installer/src/setup-exe/abp-64.png ('k') | src/res/blocking.ico » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld