LEFT | RIGHT |
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" |
11 #include "PluginClientFactory.h" | 11 #include "PluginClientFactory.h" |
12 #include "PluginMutex.h" | 12 #include "PluginMutex.h" |
13 #include "sddl.h" | 13 #include "sddl.h" |
14 #include "PluginUtil.h" | 14 #include "PluginUtil.h" |
15 #include "PluginUserSettings.h" | 15 #include "PluginUserSettings.h" |
16 #include "../shared/Utils.h" | |
17 | 16 |
18 #include "../shared/Dictionary.h" | 17 #include "../shared/Dictionary.h" |
19 | |
20 | 18 |
21 #ifdef DEBUG_HIDE_EL | 19 #ifdef DEBUG_HIDE_EL |
22 DWORD profileTime = 0; | 20 DWORD profileTime = 0; |
23 #endif | 21 #endif |
24 | 22 |
25 typedef HANDLE (WINAPI *OPENTHEMEDATA)(HWND, LPCWSTR); | 23 typedef HANDLE (WINAPI *OPENTHEMEDATA)(HWND, LPCWSTR); |
26 typedef HRESULT (WINAPI *DRAWTHEMEBACKGROUND)(HANDLE, HDC, INT, INT, LPRECT, LPR
ECT); | 24 typedef HRESULT (WINAPI *DRAWTHEMEBACKGROUND)(HANDLE, HDC, INT, INT, LPRECT, LPR
ECT); |
27 typedef HRESULT (WINAPI *CLOSETHEMEDATA)(HANDLE); | 25 typedef HRESULT (WINAPI *CLOSETHEMEDATA)(HANDLE); |
28 | 26 |
29 | 27 |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 else | 206 else |
209 { | 207 { |
210 url = m_tab->GetDocumentUrl(); | 208 url = m_tab->GetDocumentUrl(); |
211 } | 209 } |
212 | 210 |
213 return url; | 211 return url; |
214 } | 212 } |
215 | 213 |
216 DWORD WINAPI CPluginClass::StartInitObject(LPVOID thisPtr) | 214 DWORD WINAPI CPluginClass::StartInitObject(LPVOID thisPtr) |
217 { | 215 { |
218 INITCOMMONCONTROLSEX commControls; | |
219 commControls.dwSize = sizeof(INITCOMMONCONTROLSEX); | |
220 commControls.dwICC = ICC_USEREX_CLASSES | ICC_STANDARD_CLASSES | ICC_BAR_CLASS
ES; | |
221 InitCommonControlsEx(&commControls); | |
222 if (thisPtr == NULL) | 216 if (thisPtr == NULL) |
223 return 0; | 217 return 0; |
224 if (!((CPluginClass*)thisPtr)->InitObject(true)) | 218 if (!((CPluginClass*)thisPtr)->InitObject(true)) |
225 { | 219 { |
226 ((CPluginClass*)thisPtr)->Unadvice(); | 220 ((CPluginClass*)thisPtr)->Unadvice(); |
227 } | 221 } |
228 | 222 |
229 return 0; | 223 return 0; |
230 } | 224 } |
231 | 225 |
232 | 226 |
233 | 227 |
234 // This gets called when a new browser window is created (which also triggers th
e | 228 // This gets called when a new browser window is created (which also triggers th
e |
235 // creation of this object). The pointer passed in should be to a IWebBrowser2 | 229 // creation of this object). The pointer passed in should be to a IWebBrowser2 |
236 // interface that represents the browser for the window. | 230 // interface that represents the browser for the window. |
237 // it is also called when a tab is closed, this unknownSite will be null | 231 // it is also called when a tab is closed, this unknownSite will be null |
238 // so we should handle that it is called this way several times during a session | 232 // so we should handle that it is called this way several times during a session |
239 STDMETHODIMP CPluginClass::SetSite(IUnknown* unknownSite) | 233 STDMETHODIMP CPluginClass::SetSite(IUnknown* unknownSite) |
240 { | 234 { |
241 CPluginSettings* settings = CPluginSettings::GetInstance(); | 235 CPluginSettings* settings = CPluginSettings::GetInstance(); |
242 CPluginSystem* system = CPluginSystem::GetInstance(); | 236 CPluginSystem* system = CPluginSystem::GetInstance(); |
243 | 237 |
244 MULTIPLE_VERSIONS_CHECK(); | 238 MULTIPLE_VERSIONS_CHECK(); |
245 | 239 |
246 if (unknownSite) | 240 if (unknownSite) |
247 { | 241 { |
248 | 242 |
249 DEBUG_GENERAL(L"============================================================
====================\nNEW TAB UI\n==============================================
==================================") | 243 DEBUG_GENERAL(L"============================================================
====================\nNEW TAB UI\n==============================================
==================================") |
250 | 244 |
251 HRESULT hr = ::CoInitialize(NULL); | 245 HRESULT hr = ::CoInitialize(NULL); |
252 if (FAILED(hr)) | 246 if (FAILED(hr)) |
253 { | 247 { |
254 DEBUG_ERROR_LOG(hr, PLUGIN_ERROR_SET_SITE, PLUGIN_ERROR_SET_SITE_COINIT, "
Class::SetSite - CoInitialize"); | 248 DEBUG_ERROR_LOG(hr, PLUGIN_ERROR_SET_SITE, PLUGIN_ERROR_SET_SITE_COINIT, "
Class::SetSite - CoInitialize"); |
255 } | 249 } |
256 | 250 |
257 s_criticalSectionBrowser.Lock(); | 251 s_criticalSectionBrowser.Lock(); |
258 { | 252 { |
(...skipping 1011 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1270 int nCommand = ::TrackPopupMenu(hMenu, nMenuFlags, pt.x, pt.y, 0, hMenuWnd, 0)
; | 1264 int nCommand = ::TrackPopupMenu(hMenu, nMenuFlags, pt.x, pt.y, 0, hMenuWnd, 0)
; |
1271 | 1265 |
1272 ::DestroyMenu(hMenu); | 1266 ::DestroyMenu(hMenu); |
1273 ::DestroyWindow(hMenuWnd); | 1267 ::DestroyWindow(hMenuWnd); |
1274 | 1268 |
1275 switch (nCommand) | 1269 switch (nCommand) |
1276 { | 1270 { |
1277 case ID_MENU_UPDATE: | 1271 case ID_MENU_UPDATE: |
1278 { | 1272 { |
1279 CPluginClient* client = CPluginClient::GetInstance(); | 1273 CPluginClient* client = CPluginClient::GetInstance(); |
1280 notifMessage.SetParent(m_hPaneWnd); | 1274 client->CheckForUpdates(); |
1281 Dictionary* dictionary = Dictionary::GetInstance(); | |
1282 std::wstring checkingText = dictionary->Lookup("updater", "checking-for-up
dates-text"); | |
1283 std::wstring checkingTitle = dictionary->Lookup("updater", "checking-for-u
pdates-title"); | |
1284 | |
1285 notifMessage.Show(checkingText.c_str(), TTI_INFO); | |
1286 notifMessage.SetTextAndIcon(checkingText.c_str(), checkingTitle.c_str(), T
TI_INFO); | |
1287 client->CheckForUpdates(m_hPaneWnd); | |
1288 } | 1275 } |
1289 break; | 1276 break; |
1290 case ID_MENU_DISABLE: | 1277 case ID_MENU_DISABLE: |
1291 { | 1278 { |
1292 CPluginSettings* settings = CPluginSettings::GetInstance(); | 1279 CPluginSettings* settings = CPluginSettings::GetInstance(); |
1293 | 1280 |
1294 settings->TogglePluginEnabled(); | 1281 settings->TogglePluginEnabled(); |
1295 | 1282 |
1296 // Enable / disable mime filter | 1283 // Enable / disable mime filter |
1297 s_criticalSectionLocal.Lock(); | 1284 s_criticalSectionLocal.Lock(); |
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1784 break; | 1771 break; |
1785 case SC_CLOSE: | 1772 case SC_CLOSE: |
1786 break; | 1773 break; |
1787 | 1774 |
1788 case WM_UPDATEUISTATE: | 1775 case WM_UPDATEUISTATE: |
1789 { | 1776 { |
1790 CPluginTab* tab = GetTab(::GetCurrentThreadId()); | 1777 CPluginTab* tab = GetTab(::GetCurrentThreadId()); |
1791 if (tab) | 1778 if (tab) |
1792 { | 1779 { |
1793 tab->OnActivate(); | 1780 tab->OnActivate(); |
1794 RECT rect; | 1781 } |
1795 GetWindowRect(pClass->m_hPaneWnd, &rect); | |
1796 pClass->notifMessage.Move(rect.left + (rect.right - rect.left) / 2, rect
.top + (rect.bottom - rect.top) / 2); | |
1797 } | |
1798 pClass->notifMessage.Hide(); | |
1799 } | |
1800 break; | |
1801 case WM_WINDOWPOSCHANGING: | |
1802 { | |
1803 RECT rect; | |
1804 GetWindowRect(pClass->m_hPaneWnd, &rect); | |
1805 pClass->notifMessage.Move(rect.left + (rect.right - rect.left) / 2, rect.t
op + (rect.bottom - rect.top) / 2); | |
1806 } | |
1807 break; | |
1808 case WM_ALREADY_UP_TO_DATE: | |
1809 { | |
1810 Dictionary* dictionary = Dictionary::GetInstance(); | |
1811 std::wstring upToDateText = dictionary->Lookup("updater", "update-already-
up-to-date-text"); | |
1812 std::wstring upToDateTitle = dictionary->Lookup("updater", "update-already
-up-to-date-title"); | |
1813 pClass->notifMessage.SetTextAndIcon(upToDateText.c_str(), upToDateTitle.c_
str(), TTI_INFO); | |
1814 } | |
1815 break; | |
1816 case WM_UPDATE_CHECK_ERROR: | |
1817 { | |
1818 Dictionary* dictionary = Dictionary::GetInstance(); | |
1819 std::wstring errorText = dictionary->Lookup("updater", "update-error-text"
); | |
1820 std::wstring errorTitle = dictionary->Lookup("updater", "update-error-titl
e"); | |
1821 pClass->notifMessage.SetTextAndIcon(errorText.c_str(), errorText.c_str(),
TTI_ERROR); | |
1822 } | |
1823 break; | |
1824 case WM_DOWNLOADING_UPDATE: | |
1825 { | |
1826 Dictionary* dictionary = Dictionary::GetInstance(); | |
1827 std::wstring downloadingText = dictionary->Lookup("updater", "downloading-
update-text"); | |
1828 std::wstring downloadingTitle = dictionary->Lookup("updater", "downloading
-update-title"); | |
1829 pClass->notifMessage.SetTextAndIcon(downloadingText.c_str(), downloadingTi
tle.c_str(), TTI_ERROR); | |
1830 } | 1782 } |
1831 break; | 1783 break; |
1832 } | 1784 } |
1833 | 1785 |
1834 return DefWindowProc(hWnd, message, wParam, lParam); | 1786 return DefWindowProc(hWnd, message, wParam, lParam); |
1835 } | 1787 } |
1836 | 1788 |
1837 | 1789 |
1838 void CPluginClass::UpdateStatusBar() | 1790 void CPluginClass::UpdateStatusBar() |
1839 { | 1791 { |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1961 } | 1913 } |
1962 } | 1914 } |
1963 } | 1915 } |
1964 | 1916 |
1965 hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT); | 1917 hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT); |
1966 } | 1918 } |
1967 | 1919 |
1968 return hTabWnd; | 1920 return hTabWnd; |
1969 | 1921 |
1970 } | 1922 } |
LEFT | RIGHT |