| Index: src/plugin/PluginClass.cpp |
| =================================================================== |
| --- a/src/plugin/PluginClass.cpp |
| +++ b/src/plugin/PluginClass.cpp |
| @@ -13,9 +13,11 @@ |
| #include "sddl.h" |
| #include "PluginUtil.h" |
| #include "PluginUserSettings.h" |
| +#include "../shared/Utils.h" |
| #include "../shared/Dictionary.h" |
|
Felix Dahlke
2013/09/11 15:22:59
As before, no need to add another line of whitespa
|
| + |
| #ifdef DEBUG_HIDE_EL |
| DWORD profileTime = 0; |
| #endif |
| @@ -213,6 +215,10 @@ |
| DWORD WINAPI CPluginClass::StartInitObject(LPVOID thisPtr) |
| { |
| + INITCOMMONCONTROLSEX commControls; |
| + commControls.dwSize = sizeof(INITCOMMONCONTROLSEX); |
| + commControls.dwICC = ICC_USEREX_CLASSES | ICC_STANDARD_CLASSES | ICC_BAR_CLASSES; |
|
Wladimir Palant
2013/09/11 13:07:06
Isn't ICC_BAR_CLASSES enough for a tooltip?
|
| + InitCommonControlsEx(&commControls); |
|
Wladimir Palant
2013/09/11 13:07:06
Given that common controls are used by the Notific
Felix Dahlke
2013/09/11 15:22:59
I'd rather keep this where it is, the call is not
Wladimir Palant
2013/09/12 14:13:34
It is. Looking at the documentation, InitCommonCon
Felix Dahlke
2013/09/12 14:23:49
Then let's put it in the NotificationMessage class
Oleksandr
2013/09/12 14:26:26
NotificationMessage sounds best for me as well the
|
| if (thisPtr == NULL) |
| return 0; |
| if (!((CPluginClass*)thisPtr)->InitObject(true)) |
| @@ -1270,7 +1276,14 @@ |
| case ID_MENU_UPDATE: |
| { |
| CPluginClient* client = CPluginClient::GetInstance(); |
| - client->CheckForUpdates(); |
| + notifMessage.SetParent(m_hPaneWnd); |
| + Dictionary* dictionary = Dictionary::GetInstance(); |
| + std::wstring checkingText = dictionary->Lookup("updater", "checking-for-updates-text"); |
| + std::wstring checkingTitle = dictionary->Lookup("updater", "checking-for-updates-title"); |
| + |
| + notifMessage.Show(checkingText.c_str(), TTI_INFO); |
| + notifMessage.SetTextAndIcon(checkingText.c_str(), checkingTitle.c_str(), TTI_INFO); |
|
Wladimir Palant
2013/09/11 13:07:06
Assuming that NotificationMessage is our class, th
|
| + client->CheckForUpdates(m_hPaneWnd); |
| } |
| break; |
| case ID_MENU_DISABLE: |
| @@ -1777,7 +1790,42 @@ |
| if (tab) |
| { |
| tab->OnActivate(); |
| + RECT rect; |
| + GetWindowRect(pClass->m_hPaneWnd, &rect); |
| + pClass->notifMessage.Move(rect.left + (rect.right - rect.left) / 2, rect.top + (rect.bottom - rect.top) / 2); |
| } |
| + pClass->notifMessage.Hide(); |
|
Wladimir Palant
2013/09/11 13:07:06
Shouldn't the notification be only hidden if we ge
|
| + } |
| + break; |
| + case WM_WINDOWPOSCHANGING: |
| + { |
| + RECT rect; |
| + GetWindowRect(pClass->m_hPaneWnd, &rect); |
| + pClass->notifMessage.Move(rect.left + (rect.right - rect.left) / 2, rect.top + (rect.bottom - rect.top) / 2); |
|
Wladimir Palant
2013/09/11 13:07:06
Shouldn't we check whether the notification is act
|
| + } |
| + break; |
| + case WM_ALREADY_UP_TO_DATE: |
| + { |
| + Dictionary* dictionary = Dictionary::GetInstance(); |
| + std::wstring upToDateText = dictionary->Lookup("updater", "update-already-up-to-date-text"); |
| + std::wstring upToDateTitle = dictionary->Lookup("updater", "update-already-up-to-date-title"); |
| + pClass->notifMessage.SetTextAndIcon(upToDateText.c_str(), upToDateTitle.c_str(), TTI_INFO); |
| + } |
| + break; |
| + case WM_UPDATE_CHECK_ERROR: |
| + { |
| + Dictionary* dictionary = Dictionary::GetInstance(); |
| + std::wstring errorText = dictionary->Lookup("updater", "update-error-text"); |
| + std::wstring errorTitle = dictionary->Lookup("updater", "update-error-title"); |
| + pClass->notifMessage.SetTextAndIcon(errorText.c_str(), errorText.c_str(), TTI_ERROR); |
| + } |
| + break; |
| + case WM_DOWNLOADING_UPDATE: |
| + { |
| + Dictionary* dictionary = Dictionary::GetInstance(); |
| + std::wstring downloadingText = dictionary->Lookup("updater", "downloading-update-text"); |
| + std::wstring downloadingTitle = dictionary->Lookup("updater", "downloading-update-title"); |
| + pClass->notifMessage.SetTextAndIcon(downloadingText.c_str(), downloadingTitle.c_str(), TTI_ERROR); |
| } |
| break; |
| } |