summaryrefslogtreecommitdiff
path: root/plugins/CurrencyRates/src/CommonOptionDlg.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2019-03-02 12:32:44 +0300
committerGeorge Hazan <ghazan@miranda.im>2019-03-02 12:32:55 +0300
commit931a7dc1ac0dbc7e6c1083583ced915e572f5b47 (patch)
tree9fe9a6448d44030e26aa7107ce16044ed413e0d0 /plugins/CurrencyRates/src/CommonOptionDlg.cpp
parentdd7d9954042254e66e3bbbec7195c6be8b1a0663 (diff)
all protocols (even virtual ones) moved to the Protocols folder
Diffstat (limited to 'plugins/CurrencyRates/src/CommonOptionDlg.cpp')
-rw-r--r--plugins/CurrencyRates/src/CommonOptionDlg.cpp221
1 files changed, 0 insertions, 221 deletions
diff --git a/plugins/CurrencyRates/src/CommonOptionDlg.cpp b/plugins/CurrencyRates/src/CommonOptionDlg.cpp
deleted file mode 100644
index 335457ed89..0000000000
--- a/plugins/CurrencyRates/src/CommonOptionDlg.cpp
+++ /dev/null
@@ -1,221 +0,0 @@
-#include "StdAfx.h"
-
-typedef boost::shared_ptr<CAdvProviderSettings> TAdvSettingsPtr;
-typedef std::map<const ICurrencyRatesProvider*, TAdvSettingsPtr> TAdvSettings;
-
-TAdvSettings g_aAdvSettings;
-
-CAdvProviderSettings* get_adv_settings(const ICurrencyRatesProvider *pProvider, bool bCreateIfNonExist)
-{
- TAdvSettings::iterator i = g_aAdvSettings.find(pProvider);
- if (i != g_aAdvSettings.end())
- return i->second.get();
-
- if (true == bCreateIfNonExist) {
- TAdvSettingsPtr pAdvSet(new CAdvProviderSettings(pProvider));
- g_aAdvSettings.insert(std::make_pair(pProvider, pAdvSet));
- return pAdvSet.get();
- }
-
- return nullptr;
-}
-
-void remove_adv_settings(const ICurrencyRatesProvider *pProvider)
-{
- TAdvSettings::iterator i = g_aAdvSettings.find(pProvider);
- if (i != g_aAdvSettings.end())
- g_aAdvSettings.erase(i);
-}
-
-void CommonOptionDlgProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp, CCommonDlgProcData& rData)
-{
- switch (msg) {
- case WM_INITDIALOG:
- {
- assert(rData.m_pCurrencyRatesProvider);
-
- // set contact list display format
- tstring sDspNameFrmt = CurrencyRates_DBGetStringW(NULL, CURRENCYRATES_MODULE_NAME, DB_KEY_DisplayNameFormat, DB_DEF_DisplayNameFormat);
- ::SetDlgItemText(hWnd, IDC_EDIT_CONTACT_LIST_FORMAT, sDspNameFrmt.c_str());
-
- // set status message display format
- tstring sStatusMsgFrmt = CurrencyRates_DBGetStringW(NULL, CURRENCYRATES_MODULE_NAME, DB_KEY_StatusMsgFormat, DB_DEF_StatusMsgFormat);
- ::SetDlgItemText(hWnd, IDC_EDIT_STATUS_MESSAGE_FORMAT, sStatusMsgFrmt.c_str());
-
- // set tendency format
- tstring sTendencyFrmt = CurrencyRates_DBGetStringW(NULL, CURRENCYRATES_MODULE_NAME, DB_KEY_TendencyFormat, DB_DEF_TendencyFormat);
- ::SetDlgItemText(hWnd, IDC_EDIT_TENDENCY_FORMAT, sTendencyFrmt.c_str());
-
- // set api key
- tstring sApiKey = CurrencyRates_DBGetStringW(NULL, CURRENCYRATES_MODULE_NAME, DB_KEY_ApiKey, L"");
- ::SetDlgItemText(hWnd, IDC_EDIT_PERSONAL_KEY, sApiKey.c_str());
-
- // refresh rate
- HWND hwndCombo = ::GetDlgItem(hWnd, IDC_COMBO_REFRESH_RATE);
- LPCTSTR pszRefreshRateTypes[] = { TranslateT("Seconds"), TranslateT("Minutes"), TranslateT("Hours") };
- for (int i = 0; i < _countof(pszRefreshRateTypes); ++i)
- ::SendMessage(hwndCombo, CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(pszRefreshRateTypes[i]));
-
- int nRefreshRateType = db_get_w(0, CURRENCYRATES_MODULE_NAME, DB_KEY_RefreshRateType, RRT_MINUTES);
- if (nRefreshRateType < RRT_SECONDS || nRefreshRateType > RRT_HOURS)
- nRefreshRateType = RRT_MINUTES;
-
- UINT nRate = db_get_w(0, CURRENCYRATES_MODULE_NAME, DB_KEY_RefreshRateValue, 1);
- switch (nRefreshRateType) {
- default:
- case RRT_SECONDS:
- case RRT_MINUTES:
- if (nRate < 1 || nRate > 60)
- nRate = 1;
-
- spin_set_range(::GetDlgItem(hWnd, IDC_SPIN_REFRESH_RATE), 1, 60);
- break;
- case RRT_HOURS:
- if (nRate < 1 || nRate > 24)
- nRate = 1;
-
- spin_set_range(::GetDlgItem(hWnd, IDC_SPIN_REFRESH_RATE), 1, 24);
- break;
- }
-
- ::SendMessage(hwndCombo, CB_SETCURSEL, nRefreshRateType, 0);
- ::SetDlgItemInt(hWnd, IDC_EDIT_REFRESH_RATE, nRate, FALSE);
-
- PropSheet_UnChanged(::GetParent(hWnd), hWnd);
- }
- break;
-
- case WM_COMMAND:
- switch (HIWORD(wp)) {
- case CBN_SELCHANGE:
- if (IDC_COMBO_REFRESH_RATE == LOWORD(wp)) {
- ERefreshRateType nType = static_cast<ERefreshRateType>(::SendMessage(reinterpret_cast<HWND>(lp), CB_GETCURSEL, 0, 0));
- switch (nType) {
- default:
- case RRT_SECONDS:
- case RRT_MINUTES:
- spin_set_range(::GetDlgItem(hWnd, IDC_SPIN_REFRESH_RATE), 1, 60);
- break;
- case RRT_HOURS:
- spin_set_range(::GetDlgItem(hWnd, IDC_SPIN_REFRESH_RATE), 1, 24);
- BOOL bOk = FALSE;
- UINT nRefreshRate = ::GetDlgItemInt(hWnd, IDC_EDIT_REFRESH_RATE, &bOk, FALSE);
- if (TRUE == bOk && nRefreshRate > 24)
- ::SetDlgItemInt(hWnd, IDC_EDIT_REFRESH_RATE, 24, FALSE);
- break;
- }
-
- PropSheet_Changed(::GetParent(hWnd), hWnd);
- }
- break;
-
- case EN_CHANGE:
- switch (LOWORD(wp)) {
- case IDC_EDIT_REFRESH_RATE:
- case IDC_EDIT_CONTACT_LIST_FORMAT:
- case IDC_EDIT_STATUS_MESSAGE_FORMAT:
- case IDC_EDIT_TENDENCY_FORMAT:
- case IDC_EDIT_PERSONAL_KEY:
- if (reinterpret_cast<HWND>(lp) == ::GetFocus())
- PropSheet_Changed(::GetParent(hWnd), hWnd);
- break;
- }
- break;
-
- case BN_CLICKED:
- switch (LOWORD(wp)) {
- case IDC_BUTTON_DESCRIPTION:
- show_variable_list(hWnd, rData.m_pCurrencyRatesProvider);
- break;
- case IDC_BUTTON_ADVANCED_SETTINGS:
- CAdvProviderSettings* pAdvSet = get_adv_settings(rData.m_pCurrencyRatesProvider, true);
- assert(pAdvSet);
- if (true == ShowSettingsDlg(hWnd, pAdvSet))
- PropSheet_Changed(::GetParent(hWnd), hWnd);
- break;
- }
- break;
- }
- break;
-
- case WM_NOTIFY:
- {
- LPNMHDR pNMHDR = reinterpret_cast<LPNMHDR>(lp);
- switch (pNMHDR->code) {
- case PSN_KILLACTIVE:
- {
- BOOL bOk = FALSE;
- UINT nRefreshRate = ::GetDlgItemInt(hWnd, IDC_EDIT_REFRESH_RATE, &bOk, FALSE);
- ERefreshRateType nType = static_cast<ERefreshRateType>(::SendDlgItemMessage(hWnd, IDC_COMBO_REFRESH_RATE, CB_GETCURSEL, 0, 0));
- switch (nType) {
- default:
- case RRT_MINUTES:
- case RRT_SECONDS:
- if (FALSE == bOk || nRefreshRate < 1 || nRefreshRate > 60) {
- prepare_edit_ctrl_for_error(::GetDlgItem(hWnd, IDC_EDIT_REFRESH_RATE));
- CurrencyRates_MessageBox(hWnd, TranslateT("Enter integer value between 1 and 60."), MB_OK | MB_ICONERROR);
- bOk = FALSE;
- }
- break;
- case RRT_HOURS:
- if (FALSE == bOk || nRefreshRate < 1 || nRefreshRate > 24) {
- prepare_edit_ctrl_for_error(::GetDlgItem(hWnd, IDC_EDIT_REFRESH_RATE));
- CurrencyRates_MessageBox(hWnd, TranslateT("Enter integer value between 1 and 24."), MB_OK | MB_ICONERROR);
- bOk = FALSE;
- }
- break;
- }
-
- if (TRUE == bOk) {
- HWND hEdit = ::GetDlgItem(hWnd, IDC_EDIT_CONTACT_LIST_FORMAT);
- assert(IsWindow(hEdit));
-
- tstring s = get_window_text(hEdit);
- if (true == s.empty()) {
- prepare_edit_ctrl_for_error(hEdit);
- CurrencyRates_MessageBox(hWnd, TranslateT("Enter text to display in contact list."), MB_OK | MB_ICONERROR);
- bOk = FALSE;
- }
- }
-
- ::SetWindowLongPtr(hWnd, DWLP_MSGRESULT, (TRUE == bOk) ? FALSE : TRUE);
- }
- break;
-
- case PSN_APPLY:
- BOOL bOk = FALSE;
- UINT nRefreshRate = ::GetDlgItemInt(hWnd, IDC_EDIT_REFRESH_RATE, &bOk, FALSE);
- assert(TRUE == bOk);
- ERefreshRateType nType = static_cast<ERefreshRateType>(::SendDlgItemMessage(hWnd, IDC_COMBO_REFRESH_RATE, CB_GETCURSEL, 0, 0));
-
- assert(rData.m_pCurrencyRatesProvider);
-
- rData.m_bFireSetingsChangedEvent = true;
- db_set_w(0, CURRENCYRATES_MODULE_NAME, DB_KEY_RefreshRateType, nType);
- db_set_w(0, CURRENCYRATES_MODULE_NAME, DB_KEY_RefreshRateValue, nRefreshRate);
-
- tstring s = get_window_text(::GetDlgItem(hWnd, IDC_EDIT_CONTACT_LIST_FORMAT));
- db_set_ws(0, CURRENCYRATES_MODULE_NAME, DB_KEY_DisplayNameFormat, s.c_str());
-
- s = get_window_text(::GetDlgItem(hWnd, IDC_EDIT_STATUS_MESSAGE_FORMAT));
- db_set_ws(0, CURRENCYRATES_MODULE_NAME, DB_KEY_StatusMsgFormat, s.c_str());
-
- s = get_window_text(::GetDlgItem(hWnd, IDC_EDIT_TENDENCY_FORMAT));
- db_set_ws(0, CURRENCYRATES_MODULE_NAME, DB_KEY_TendencyFormat, s.c_str());
-
- s = get_window_text(::GetDlgItem(hWnd, IDC_EDIT_PERSONAL_KEY));
- db_set_ws(0, CURRENCYRATES_MODULE_NAME, DB_KEY_ApiKey, s.c_str());
-
- CAdvProviderSettings* pAdvSet = get_adv_settings(rData.m_pCurrencyRatesProvider, false);
- if (pAdvSet)
- pAdvSet->SaveToDb();
- break;
- }
- }
- break;
-
- case WM_DESTROY:
- remove_adv_settings(rData.m_pCurrencyRatesProvider);
- break;
- }
-}