Exemple #1
0
LRESULT ProtocolPage::onClickedAutoDetect(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) {
    // apply immediately so that ConnectivityManager updates.
    SettingsManager::getInstance()->set(v6 ? SettingsManager::AUTO_DETECT_CONNECTION6 : SettingsManager::AUTO_DETECT_CONNECTION, cAutoDetect.GetCheck() > 0);
    ConnectivityManager::getInstance()->fire(ConnectivityManagerListener::SettingChanged());
    fixControls();
    return 0;
}
LRESULT SpeedPage::onEnable(WORD wNotifyCode, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) {
	fixControls();

	updateValues(wNotifyCode);

	return 0;
}
LRESULT ProxyPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	PropPage::translate((HWND)(*this), texts);

	switch(SETTING(OUTGOING_CONNECTIONS)) {
		case SettingsManager::OUTGOING_DIRECT: CheckDlgButton(IDC_DIRECT_OUT, BST_CHECKED); break;
		case SettingsManager::OUTGOING_SOCKS5: CheckDlgButton(IDC_SOCKS5, BST_CHECKED); break;
		default: CheckDlgButton(IDC_DIRECT_OUT, BST_CHECKED); break;
	}

	PropPage::read((HWND)(*this), items);

	fixControls();

	desc.Attach(GetDlgItem(IDC_SOCKS_SERVER));
	desc.LimitText(250);
	desc.Detach();
	desc.Attach(GetDlgItem(IDC_SOCKS_PORT));
	desc.LimitText(5);
	desc.Detach();
	desc.Attach(GetDlgItem(IDC_SOCKS_USER));
	desc.LimitText(250);
	desc.Detach();
	desc.Attach(GetDlgItem(IDC_SOCKS_PASSWORD));
	desc.LimitText(250);
	desc.Detach();
	return TRUE;
}
Exemple #4
0
LRESULT LocationsPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	PropPage::translate((HWND)(*this), texts);
	PropPage::read((HWND)*this, items);
	ctrlDirectories.Attach(GetDlgItem(IDC_FAVORITE_DIRECTORIES));
	ctrlDirectories.SetExtendedListViewStyle(LVS_EX_LABELTIP | LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER);
		
	// Prepare shared dir list
	CRect rc; 
	ctrlDirectories.GetClientRect(rc); 
	ctrlDirectories.InsertColumn(0, CTSTRING(FAVORITE_DIR_NAME), LVCFMT_LEFT, rc.Width()/4, 0); 
	ctrlDirectories.InsertColumn(1, CTSTRING(PATHS), LVCFMT_LEFT, rc.Width()*2 /2, 1);
	favoriteDirs = FavoriteManager::getInstance()->getFavoriteDirs();
	for(auto j = favoriteDirs.begin(); j != favoriteDirs.end(); j++) {
		int i = ctrlDirectories.insert(ctrlDirectories.GetItemCount(), Text::toT(j->first).c_str());
		ctrlDirectories.SetItemText(i, 1, Text::toT(Util::listToString(j->second)).c_str());
	}

	ctrlAutoSelect.Attach(GetDlgItem(IDC_AUTOPATH_METHOD));
	ctrlAutoSelect.AddString(CTSTRING(AUTOSELECT_MOST_SPACE));
	ctrlAutoSelect.AddString(CTSTRING(AUTOSELECT_LEAST_SPACE));
	ctrlAutoSelect.SetCurSel(SETTING(DL_AUTOSELECT_METHOD));
	fixControls();
	return TRUE;
}
Exemple #5
0
LRESULT SDCPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	PropPage::translate((HWND)(*this), texts);
	PropPage::read(*this, items);
	
	CUpDownCtrl updown;
	SET_MIN_MAX(IDC_BUFFER_SPIN, 0, 1024  * 1024);
	SET_MIN_MAX(IDC_READ_SPIN, 1024, 128 * 1024);
	SET_MIN_MAX(IDC_WRITE_SPIN, 1024, 128 * 1024);
	SET_MIN_MAX(IDC_CHAT_LINES_SPIN, 0, 999);
	SET_MIN_MAX(IDC_SHUTDOWN_SPIN , 1, 3600);
	SET_MIN_MAX(IDC_MAX_COMP_SPIN, 0, 9);
	SET_MIN_MAX(IDC_DOWNCONN_SPIN, 0, 100);
	SET_MIN_MAX(IDC_SET_MIN_LENGHT_FOR_CHUNKS_SPIN, 0, 100);
	
	ctrlShutdownAction.Attach(GetDlgItem(IDC_COMBO1));
	ctrlShutdownAction.AddString(CTSTRING(POWER_OFF));
	ctrlShutdownAction.AddString(CTSTRING(LOG_OFF));
	ctrlShutdownAction.AddString(CTSTRING(REBOOT));
	ctrlShutdownAction.AddString(CTSTRING(SUSPEND));
	ctrlShutdownAction.AddString(CTSTRING(HIBERNATE));
	
	ctrlShutdownAction.SetCurSel(SETTING(SHUTDOWN_ACTION));
	fixControls();
	return TRUE;
}
Exemple #6
0
LRESULT MessagesChatPage::onInitDialog_chat(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	PropPage::read(*this, g_items_chat, g_listItems_chat, GetDlgItem(IDC_MESSAGES_CHAT_BOOLEANS));
	
	ctrlList_chat.Attach(GetDlgItem(IDC_MESSAGES_CHAT_BOOLEANS)); // [+] IRainman
	
	tooltip_messageschat.Create(m_hWnd, rcDefault, NULL, WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP /*| TTS_BALLOON*/, WS_EX_TOPMOST);
	tooltip_messageschat.SetDelayTime(TTDT_AUTOPOP, 15000);
	ATLASSERT(tooltip_messageschat.IsWindow());
	ctrlSee.Attach(GetDlgItem(IDC_PROTECT_PRIVATE_SAY));
	tooltip_messageschat.AddTool(ctrlSee, ResourceManager::PROTECT_PRIVATE_SAY_TOOLTIP);
	ctrlProtect.Attach(GetDlgItem(IDC_PROTECT_PRIVATE));
	tooltip_messageschat.AddTool(ctrlProtect, ResourceManager::PROTECT_PRIVATE_TOOLTIP);
	ctrlRnd.Attach(GetDlgItem(IDC_PROTECT_PRIVATE_RND));
	tooltip_messageschat.AddTool(ctrlRnd, ResourceManager::PROTECT_PRIVATE_RND_TOOLTIP);
	tooltip_messageschat.SetMaxTipWidth(256);   //[+] SCALOlaz: activate tooltips
	if (!BOOLSETTING(POPUPS_DISABLED))
	{
		tooltip_messageschat.Activate(TRUE);
	}
	
	PropPage::translate((HWND)(*this), g_texts_chat);
	fixControls();
	// Do specialized reading here
	return TRUE;
}
LRESULT NetworkPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	PropPage::translate((HWND)(*this), texts);
	
	if(!(WinUtil::getOsMajor() >= 5 && WinUtil::getOsMinor() >= 1  //WinXP & WinSvr2003
		|| WinUtil::getOsMajor() >= 6 )) //Vista
	{
		::EnableWindow(GetDlgItem(IDC_FIREWALL_UPNP), FALSE);
	}
	switch(SETTING(INCOMING_CONNECTIONS)) {
		case SettingsManager::INCOMING_DIRECT: CheckDlgButton(IDC_DIRECT, BST_CHECKED); break;
		case SettingsManager::INCOMING_FIREWALL_UPNP: CheckDlgButton(IDC_FIREWALL_UPNP, BST_CHECKED); break;
		case SettingsManager::INCOMING_FIREWALL_NAT_PMP: CheckDlgButton(IDC_FIREWALL_NAT_PMP, BST_CHECKED); break; //RSX++
		case SettingsManager::INCOMING_FIREWALL_NAT: CheckDlgButton(IDC_FIREWALL_NAT, BST_CHECKED); break;
		case SettingsManager::INCOMING_FIREWALL_PASSIVE: CheckDlgButton(IDC_FIREWALL_PASSIVE, BST_CHECKED); break;
		default: CheckDlgButton(IDC_DIRECT, BST_CHECKED); break;
	}

	switch(SETTING(OUTGOING_CONNECTIONS)) {
		case SettingsManager::OUTGOING_DIRECT: CheckDlgButton(IDC_DIRECT_OUT, BST_CHECKED); break;
		case SettingsManager::OUTGOING_SOCKS5: CheckDlgButton(IDC_SOCKS5, BST_CHECKED); break;
		default: CheckDlgButton(IDC_DIRECT_OUT, BST_CHECKED); break;
	}

	PropPage::read((HWND)(*this), items);

	fixControls();

	desc.Attach(GetDlgItem(IDC_SOCKS_SERVER));
	desc.LimitText(250);
	desc.Detach();
	desc.Attach(GetDlgItem(IDC_SOCKS_PORT));
	desc.LimitText(5);
	desc.Detach();
	desc.Attach(GetDlgItem(IDC_SOCKS_USER));
	desc.LimitText(250);
	desc.Detach();
	desc.Attach(GetDlgItem(IDC_SOCKS_PASSWORD));
	desc.LimitText(250);
	desc.Detach();

	//RSX++
	ConnCheckUrl.SubclassWindow(GetDlgItem(IDC_CON_CHECK));
	ConnCheckUrl.SetHyperLinkExtendedStyle(HLINK_COMMANDBUTTON|HLINK_UNDERLINEHOVER);
	ConnCheckUrl.m_tip.AddTool(ConnCheckUrl, Text::toT(STRING(CHECK_SETTINGS)).c_str(), &ConnCheckUrl.m_rcLink, 1);
	//END

	BindCombo.Attach(GetDlgItem(IDC_BIND_ADDRESS));
	//BindCombo.AddString(_T("0.0.0.0"));
	getAddresses();
	BindCombo.SetCurSel(BindCombo.FindString(0, Text::toT(SETTING(BIND_ADDRESS)).c_str()));
	
	if(BindCombo.GetCurSel() == -1) {
		BindCombo.AddString(Text::toT(SETTING(BIND_ADDRESS)).c_str());
		BindCombo.SetCurSel(BindCombo.FindString(0, Text::toT(SETTING(BIND_ADDRESS)).c_str()));
	}

	return TRUE;
}
Exemple #8
0
LRESULT LimitPage::onChangeCont(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) {
	switch (wID) {
	case IDC_TIME_LIMITING:
		fixControls();
		break;
	}
	return true;
}
Exemple #9
0
LRESULT QueuePage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	PropPage::translate((HWND)(*this), texts);
	PropPage::read(*this, items, 0, 0);
	PropPage::read(*this, items, optionItems, GetDlgItem(IDC_OTHER_QUEUE_OPTIONS));
	
	ctrlList.Attach(GetDlgItem(IDC_OTHER_QUEUE_OPTIONS)); // [+] IRainman
	
	CUpDownCtrl spin;
	spin.Attach(GetDlgItem(IDC_SEG_NUMBER_SPIN));
	spin.SetRange32(1, 200);  //[!]PPA
	spin.Detach();
	
	spin.Attach(GetDlgItem(IDC_AUTO_SEARCH_SPIN));
	spin.SetRange32(1, 60);
	spin.Detach();
	
	spin.Attach(GetDlgItem(IDC_BEGIN_SPIN));
	spin.SetRange32(2, 100000);
	spin.Detach();
	
	// Do specialized reading here
	
	// Add Combo: Download Action - if file exist
	m_downlaskClick.Attach(GetDlgItem(IDC_DOWNLOAD_ASK_COMBO));
	m_downlaskClick.AddString(CTSTRING(ON_DOWNLOAD_ASK));
	m_downlaskClick.AddString(CTSTRING(ON_DOWNLOAD_REPLACE));
	m_downlaskClick.AddString(CTSTRING(ON_DOWNLOAD_AUTORENAME));
	m_downlaskClick.AddString(CTSTRING(ON_DOWNLOAD_SKIP));
	m_downlaskClick.SetCurSel(0);         // Set default, if parameter not set in Settings
	
	switch (SETTING(ON_DOWNLOAD_SETTING))
	{
		case SettingsManager::ON_DOWNLOAD_ASK:
			//      CheckDlgButton(IDC_ON_DOWNLOAD_ASK, BST_CHECKED);
			m_downlaskClick.SetCurSel(0); // Add Combo
			break;
		case SettingsManager::ON_DOWNLOAD_REPLACE:
			//      CheckDlgButton(IDC_ON_DOWNLOAD_REPLACE, BST_CHECKED);
			m_downlaskClick.SetCurSel(1); // Add
			break;
		case SettingsManager::ON_DOWNLOAD_RENAME:
			//      CheckDlgButton(IDC_ON_DOWNLOAD_AUTORENAME, BST_CHECKED);
			m_downlaskClick.SetCurSel(2); // Add
			break;
		case SettingsManager::ON_DOWNLOAD_SKIP:
			//      CheckDlgButton(IDC_ON_DOWNLOAD_SKIP, BST_CHECKED);
			m_downlaskClick.SetCurSel(3); // Add
			break;
		default:                        // Add Combo
			m_downlaskClick.SetCurSel(0);
			break;
	}
	m_downlaskClick.Detach();             // Add Combo
	fixControls();
	return TRUE;
}
Exemple #10
0
// Initialize dialog
LRESULT ADLSProperties::OnInitDialog(UINT, WPARAM, LPARAM, BOOL&) {
	// Translate the texts
	SetWindowText(CTSTRING(ADLS_PROPERTIES));
	SetDlgItemText(IDC_ADLSP_SEARCH, CTSTRING(SEARCH_STRING));
	SetDlgItemText(IDC_ADLSP_TYPE, CTSTRING(ADLS_TYPE));
	SetDlgItemText(IDC_ADLSP_SIZE_MIN, CTSTRING(ADLS_SIZE_MIN));
	SetDlgItemText(IDC_ADLSP_SIZE_MAX, CTSTRING(ADLS_SIZE_MAX));
	SetDlgItemText(IDC_ADLSP_UNITS, CTSTRING(ADLS_UNITS));
	SetDlgItemText(IDC_ADLSP_DESTINATION, CTSTRING(ADLS_DESTINATION));
	SetDlgItemText(IDC_IS_ACTIVE, CTSTRING(ENABLED));
	SetDlgItemText(IDC_AUTOQUEUE, CTSTRING(ADLS_DOWNLOAD));
	SetDlgItemText(IDC_ADLS_COMMENT_STRING, CTSTRING(COMMENT));
	SetDlgItemText(IDC_REGEXP_TESTER, CTSTRING(REGEXP_TESTER));
	SetDlgItemText(IDC_REGEXP_TEST, CTSTRING(MATCH));
	SetDlgItemText(IDC_REGEXP, CTSTRING(REGEXP));

	// Initialize dialog items
	ctrlSearch.Attach(GetDlgItem(IDC_SEARCH_STRING));
	ctrlComment.Attach(GetDlgItem(IDC_ADLS_COMMENT));
	ctrlDestDir.Attach(GetDlgItem(IDC_DEST_DIR));
	ctrlMinSize.Attach(GetDlgItem(IDC_MIN_FILE_SIZE));
	ctrlMaxSize.Attach(GetDlgItem(IDC_MAX_FILE_SIZE));
	ctrlActive.Attach(GetDlgItem(IDC_IS_ACTIVE));
	ctrlAutoQueue.Attach(GetDlgItem(IDC_AUTOQUEUE));
	ctrlRegexp.Attach(GetDlgItem(IDC_REGEXP));

	ctrlSearchType.Attach(GetDlgItem(IDC_SOURCE_TYPE));
	ctrlSearchType.AddString(CTSTRING(FILENAME));
	ctrlSearchType.AddString(CTSTRING(DIRECTORY));
	ctrlSearchType.AddString(CTSTRING(ADLS_FULL_PATH));

	ctrlSizeType.Attach(GetDlgItem(IDC_SIZE_TYPE));
	ctrlSizeType.AddString(CTSTRING(B));
	ctrlSizeType.AddString(CTSTRING(KiB));
	ctrlSizeType.AddString(CTSTRING(MiB));
	ctrlSizeType.AddString(CTSTRING(GiB));
	
	// Load search data
	ctrlSearch.SetWindowText(Text::toT(search.getPattern()).c_str());
	ctrlComment.SetWindowText(Text::toT(search.adlsComment).c_str());
	ctrlDestDir.SetWindowText(Text::toT(search.destDir).c_str());
	ctrlMinSize.SetWindowText((search.minFileSize > 0 ? Util::toStringW(search.minFileSize) : _T("")).c_str());
	ctrlMaxSize.SetWindowText((search.maxFileSize > 0 ? Util::toStringW(search.maxFileSize) : _T("")).c_str());
	ctrlActive.SetCheck(search.isActive ? 1 : 0);
	ctrlAutoQueue.SetCheck(search.isAutoQueue ? 1 : 0);
	ctrlRegexp.SetCheck(search.isRegEx() ? 1 : 0);
	ctrlSearchType.SetCurSel(search.sourceType);
	ctrlSizeType.SetCurSel(search.typeFileSize);
	::SendMessage(GetDlgItem(IDC_REGEXP), BM_SETCHECK, search.isRegEx() ? 1 : 0, 0L);

	fixControls();

	// Center dialog
	CenterWindow(GetParent());

	return FALSE;
}
Exemple #11
0
LRESULT ProvidersPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	PropPage::translate((HWND)(*this), texts);
	PropPage::read(*this, items, listItems, GetDlgItem(IDC_PROVIDER_USE_LIST));
	m_url.init(GetDlgItem(IDC_ISP_MORE_INFO_LINK), _T(""));
	
	fixControls();
	
	return TRUE;
}
LRESULT NetworkPage::onGetIP(WORD /* wNotifyCode */, WORD /*wID*/, HWND /* hWndCtl */, BOOL& /* bHandled */)
{
	TestWinFirewall();
	SettingsManager::testPortLevelInit();
	updateTestPortIcon(true);
	write();
	string l_external_ip;
#ifdef FLYLINKDC_USE_MEDIAINFO_SERVER
	std::vector<unsigned short> l_udp_port, l_tcp_port;
	l_udp_port.push_back(SETTING(UDP_PORT));
#ifdef STRONG_USE_DHT
	l_udp_port.push_back(SETTING(DHT_PORT));
#endif
	// TCP пока не работает.
	l_tcp_port.push_back(SETTING(TCP_PORT));
	if (CryptoManager::getInstance()->TLSOk())
	{
		l_tcp_port.push_back(SETTING(TLS_PORT));
	}
	bool l_is_udp_port_send = CFlyServerAdapter::CFlyServerJSON::pushTestPort(ClientManager::getMyCID().toBase32(), l_udp_port, l_tcp_port, l_external_ip, 0);
	if (l_is_udp_port_send)
	{
		SetDlgItemText(IDC_EXTERNAL_IP, Text::toT(l_external_ip).c_str());
	}
	else
#endif // FLYLINKDC_USE_MEDIAINFO_SERVER
	{
		const string& l_url = SETTING(URL_GET_IP);
		if (Util::isHttpLink(l_url))
		{
			CWaitCursor l_cursor_wait;
			try
			{
				::EnableWindow(GetDlgItem(IDC_GETIP), FALSE);
				fixControls();
				auto l_ip = Util::getWANIP(l_url, 500);
				if (!l_ip.empty())
				{
					SetDlgItemText(IDC_EXTERNAL_IP, Text::toT(l_ip).c_str());
				}
			}
			catch (Exception & e)
			{
				// TODO - сюда никогда не попадаем?
				::MessageBox(NULL, Text::toT(e.getError()).c_str(), _T("SetIP Error!"), MB_OK | MB_ICONERROR);
			}
			::EnableWindow(GetDlgItem(IDC_GETIP), TRUE);
		}
		else
		{
			::MessageBox(NULL, Text::toT(l_url).c_str(), _T("http:// URL Error !"), MB_OK | MB_ICONERROR);
		}
	}
	return 0;
}
LRESULT ScanPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
    PropPage::translate((HWND)(*this), texts);
    PropPage::read((HWND)*this, items, listItems, GetDlgItem(IDC_SCANLIST));
    PropPage::read((HWND)*this, items, bundleItems, GetDlgItem(IDC_BUNDLE_OPTIONS));

    // Do specialized reading here

    fixControls();
    return TRUE;
}
LRESULT NetworkPage::onCheckDHTStats(WORD /* wNotifyCode */, WORD /*wID*/, HWND /* hWndCtl */, BOOL& /* bHandled */)
{
	if (IsDlgButtonChecked(IDC_SETTINGS_USE_DHT) == BST_CHECKED && !BOOLSETTING(USE_DHT_NOTANSWER))
	{
		if (MessageBox(CTSTRING(DHT_WARNING), CTSTRING(WARNING), MB_ICONWARNING | MB_YESNO | MB_DEFBUTTON1) != IDYES)
		{
			CheckDlgButton(IDC_SETTINGS_USE_DHT, BST_UNCHECKED);
		}
	}
	fixControls();
	return 0;
}
LRESULT MiscPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	PropPage::translate((HWND)(*this), texts);
	PropPage::read((HWND)*this, items);

	//histories
	setMinMax(IDC_SEARCH_HIST_SPIN, 0, 50);
	setMinMax(IDC_EXCLUDE_HIST_SPIN, 0, 50);
	setMinMax(IDC_DIR_HIST_SPIN, 0, 50);

	CurSel = SETTING(MEDIA_PLAYER);
	
	WinampStr = Text::toT(SETTING(WINAMP_FORMAT));
	iTunesStr = Text::toT(SETTING(ITUNES_FORMAT));
	MPCStr = Text::toT(SETTING(MPLAYERC_FORMAT));
	WMPlayerStr = Text::toT(SETTING(WMP_FORMAT));
	SpotifyStr = Text::toT(SETTING(SPOTIFY_FORMAT));

	ctrlPlayer.Attach(GetDlgItem(IDC_PLAYER_COMBO));
	ctrlPlayer.AddString(_T("Winamp"));
	ctrlPlayer.AddString(_T("iTunes"));
	ctrlPlayer.AddString(_T("Media Player Classic"));
	ctrlPlayer.AddString(_T("Windows Media Player"));
	ctrlPlayer.AddString(_T("Spotify"));
	ctrlPlayer.SetCurSel(CurSel);

	if(CurSel == 0) {
		SetDlgItemText(IDC_WINAMP, WinampStr.c_str());
	
	} else if(CurSel == 1) {
		SetDlgItemText(IDC_WINAMP, iTunesStr.c_str());
	} else if(CurSel == 2) {
		SetDlgItemText(IDC_WINAMP, MPCStr.c_str());
	} else if(CurSel == 3) {
		SetDlgItemText(IDC_WINAMP, WMPlayerStr.c_str());
	} else if(CurSel == 4) {
		SetDlgItemText(IDC_WINAMP, SpotifyStr.c_str());
	} else {
		SetDlgItemText(IDC_WINAMP, CTSTRING(NO_MEDIA_SPAM));
		::EnableWindow(GetDlgItem(IDC_WINAMP), false);
		::EnableWindow(GetDlgItem(IDC_WINAMP_HELP), false);
	}
	
	SetDlgItemText(IDC_WINAMP_PATH, Text::toT(SETTING(WINAMP_PATH)).c_str());
	
	fixControls();

	return TRUE;
}
void NetworkPage::onHttpRequest(string buf, bool isFailed) {
	if(!isFailed) {
		if(!buf.empty()) {
			try {
				SimpleXML xml;
				xml.fromXML(buf);
				if(xml.findChild("html")) {
					xml.stepIn();
					if(xml.findChild("body")) {
						string x = xml.getChildData().substr(20);
						if(Util::isPrivateIp(x)) {
								CheckRadioButton(IDC_DIRECT, IDC_FIREWALL_PASSIVE, IDC_FIREWALL_PASSIVE);
								fixControls();
						}
						SetDlgItemText(IDC_SERVER, Text::toT(x).c_str());
					} else {
						if(Util::isPrivateIp(Util::getLocalIp())) {
								CheckRadioButton(IDC_DIRECT, IDC_FIREWALL_PASSIVE, IDC_FIREWALL_PASSIVE);
								fixControls();
						}
						SetDlgItemText(IDC_SERVER, Text::toT(Util::getLocalIp()).c_str());
					}
				}
			} catch(const SimpleXMLException&) {
				//...
			}
		}
	} else {
		if(Util::isPrivateIp(Util::getLocalIp())) {
			CheckRadioButton(IDC_DIRECT, IDC_FIREWALL_PASSIVE, IDC_FIREWALL_PASSIVE);
			fixControls();
		}
		SetDlgItemText(IDC_SERVER, Text::toT(Util::getLocalIp()).c_str());
	}
	::EnableWindow(GetDlgItem(IDC_GETIP), true);
}
Exemple #17
0
LRESULT EncryptionPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	PropPage::translate((HWND)(*this), texts);

	// Do specialized reading here
	PropPage::read((HWND)*this, items);

	ctrlTransferEncryption.Attach(GetDlgItem(IDC_TRANSFER_ENCRYPTION));
	ctrlTransferEncryption.AddString(CTSTRING(DISABLED));
	ctrlTransferEncryption.AddString(CTSTRING(ENABLED));
	ctrlTransferEncryption.AddString(CTSTRING(ENCRYPTION_FORCED));
	ctrlTransferEncryption.SetCurSel(SETTING(TLS_MODE));

	fixControls();
	return TRUE;
}
Exemple #18
0
LRESULT LimitPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	PropPage::translate((HWND)(*this), texts);
	PropPage::read((HWND)*this, items);

	//advanced limits start
	setMinMax(IDC_PARTIAL_SLOTS_SPIN, 0, 10);
	setMinMax(IDC_SMALL_FILE_SIZE_SPIN, 64, 30000);
	setMinMax(IDC_EXTRA_SLOTS_SPIN, 3, 100);

	//limiter start
	setMinMax(IDC_UPLOADSPEEDSPIN, 0, 99999);
	setMinMax(IDC_DOWNLOADSPEEDSPIN, 0, 99999);
	setMinMax(IDC_UPLOADSPEEDSPIN_TIME, 0, 99999);
	setMinMax(IDC_DOWNLOADSPEEDSPIN_TIME, 0, 99999);

	timeCtrlBegin.Attach(GetDlgItem(IDC_BW_START_TIME));
	timeCtrlEnd.Attach(GetDlgItem(IDC_BW_END_TIME));

	timeCtrlBegin.AddString(CTSTRING(MIDNIGHT));
	timeCtrlEnd.AddString(CTSTRING(MIDNIGHT));
	for (int i = 1; i < 12; ++i)
	{
		timeCtrlBegin.AddString((Util::toStringW(i) + CTSTRING(AM)).c_str());
		timeCtrlEnd.AddString((Util::toStringW(i) + CTSTRING(AM)).c_str());
	}
	timeCtrlBegin.AddString(CTSTRING(NOON));
	timeCtrlEnd.AddString(CTSTRING(NOON));
	for (int i = 1; i < 12; ++i)
	{
		timeCtrlBegin.AddString((Util::toStringW(i) + CTSTRING(PM)).c_str());
		timeCtrlEnd.AddString((Util::toStringW(i) + CTSTRING(PM)).c_str());
	}

	timeCtrlBegin.SetCurSel(SETTING(BANDWIDTH_LIMIT_START));
	timeCtrlEnd.SetCurSel(SETTING(BANDWIDTH_LIMIT_END));

	timeCtrlBegin.Detach();
	timeCtrlEnd.Detach();

	fixControls();

	// Do specialized reading here

	return TRUE;
}
Exemple #19
0
LRESULT HashingPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	// Do specialized reading here
	PropPage::read((HWND)*this, items);
	PropPage::translate((HWND)(*this), texts);

	//hashing
	setMinMax(IDC_HASH_SPIN, 0, 9999);
	setMinMax(IDC_VOL_HASHERS_SPIN, 1, 30);
	setMinMax(IDC_HASHING_THREADS_SPIN, 1, 50);

	CheckDlgButton(IDC_REPAIR_HASHDB, HashManager::getInstance()->isRepairScheduled());
	updateSizes();
	fixControls();

	return TRUE;
}
Exemple #20
0
void ProtocolPage::on(SettingChanged) noexcept {
    callAsync([this] {
        cAutoDetect.SetCheck((v6 ? SETTING(AUTO_DETECT_CONNECTION6) : SETTING(AUTO_DETECT_CONNECTION)) ? TRUE : FALSE);

        fixControls();

        // reload settings in case they have been changed (eg by the "Edit detected settings" feature).

        /*active->setChecked(false);
        upnp->setChecked(false);
        passive->setChecked(false);

        mapper->clear();*/

        //read();
    });
}
Exemple #21
0
LRESULT SearchPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	PropPage::translate((HWND)(*this), texts);
	PropPage::read(*this, items, listItems, GetDlgItem(IDC_ADVANCED_BOOLEANS));
	
	CUpDownCtrl updown;
	setMinMax(IDC_SEARCH_HISTORY_SPIN, 1, 100);
	setMinMax(IDC_INTERVAL_SPIN, 2, 100);
	setMinMax(IDC_MATCH_SPIN, 1, 999);
	setMinMax(IDC_AUTO_SEARCH_LIMIT_SPIN, 1, 999);
	
	ctrlList.Attach(GetDlgItem(IDC_ADVANCED_BOOLEANS)); // [+] IRainman
	
	
	fixControls();
	// Do specialized reading here
	return TRUE;
}
Exemple #22
0
LRESULT SpeedPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) {
	PropPage::translate((HWND)(*this), texts);

	ctrlDownload.Attach(GetDlgItem(IDC_DL_SPEED));
	ctrlUpload.Attach(GetDlgItem(IDC_CONNECTION));

	cAutoDL.Attach(GetDlgItem(IDC_DL_AUTODETECT));
	cAutoUL.Attach(GetDlgItem(IDC_UL_AUTODETECT));

	ctrlMcnUL.Attach(GetDlgItem(IDC_MCNULSLOTS));
	ctrlMcnDL.Attach(GetDlgItem(IDC_MCNDLSLOTS));

	WinUtil::appendSpeedCombo(ctrlDownload, SettingsManager::DOWNLOAD_SPEED);
	WinUtil::appendSpeedCombo(ctrlUpload, SettingsManager::UPLOAD_SPEED);


	PropPage::read((HWND)*this, items);
	PropPage::read((HWND)*this, downloadItems);
	PropPage::read((HWND)*this, uploadItems);
	PropPage::read((HWND)*this, mcnItems);

	// set the correct values if using auto detection
	updateValues(0);

	setMinMax(IDC_SLOTSPIN, 1, UD_MAXVAL);
	setMinMax(IDC_MIN_UPLOAD_SPIN, 0, UD_MAXVAL);
	setMinMax(IDC_AUTO_SLOTS_SPIN, 0, 100);
	setMinMax(IDC_SLOTSPIN, 1, UD_MAXVAL);

	setMinMax(IDC_SLOTSSPIN, 0, 100);
	setMinMax(IDC_SPEEDSPIN, 0, 90000);
	setMinMax(IDC_EXTRASLOTSSPIN, 0, 100);

	setMinMax(IDC_MCN_SPIN, 1, 1000);
	setMinMax(IDC_MCN_SPIN2, 1, 1000);

	setMinMax(IDC_MAX_RUNNING_BUNDLES_SPIN, 0, 1000);

	fixControls();

	loading = false;
	return TRUE;
}
LRESULT RangesPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	PropPage::translate((HWND)(*this), texts);
	PropPage::read((HWND)*this, items);
	m_isEnabledIPGuard = BOOLSETTING(ENABLE_IPGUARD);
	
	ctrlPolicy.Attach(GetDlgItem(IDC_DEFAULT_POLICY));
	ctrlPolicy.AddString(CTSTRING(DENY_ALL));
	ctrlPolicy.AddString(CTSTRING(ALLOW_ALL));
	ctrlPolicy.SetCurSel(BOOLSETTING(IP_GUARD_IS_DENY_ALL) ? 0 : 1);
	
	// Do specialized reading here
	try
	{
		m_IPGuardPATH = IpGuard::getIPGuardFileName();
		m_IPGuard = File(m_IPGuardPATH, File::READ, File::OPEN).read();
		SetDlgItemText(IDC_FLYLINK_GUARD_IP, Text::toT(m_IPGuard).c_str());
		// SetDlgItemText(IDC_FLYLINK_PATH, Text::toT(m_IPGrantPATH).c_str());
	}
	catch (const FileException&)
	{
		SetDlgItemText(IDC_FLYLINK_GUARD_IP, _T(""));
		// SetDlgItemText(IDC_FLYLINK_PATH, CTSTRING(ERR_IPFILTER));
	}
	fixControls();
	try
	{
		m_IPFilterPATH = PGLoader::getConfigFileName();
		m_IPFilter = File(m_IPFilterPATH, File::READ, File::OPEN).read();
		m_ManualP2PGuard = CFlylinkDBManager::getInstance()->load_manual_p2p_guard();
		SetDlgItemText(IDC_FLYLINK_TRUST_IP, Text::toT(m_IPFilter).c_str());
		SetDlgItemText(IDC_FLYLINK_PATH, Text::toT(m_IPFilterPATH).c_str());
		SetDlgItemText(IDC_FLYLINK_MANUAL_P2P_GUARD_IP_LIST, Text::toT(m_ManualP2PGuard).c_str());
	}
	
	catch (const FileException&)
	{
		SetDlgItemText(IDC_FLYLINK_PATH, CTSTRING(ERR_IPFILTER));
	}
	
	// Do specialized reading here
	return TRUE;
}
LRESULT MiscPage::onChangeCont(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) {
	if(wID == IDC_PASSWD_PROTECT_CHCKBOX) {
		bool state = (IsDlgButtonChecked(IDC_PASSWD_PROTECT_CHCKBOX) != 0);
		if(state) {
			ChngPassDlg dlg;
			dlg.Olddescription = _T("Old:");
			dlg.Newdescription = _T("New:");
			dlg.Confirmdescription = _T("Confirm new:");
			dlg.title = _T("Setup Password");
			dlg.hideold = true;
            if(dlg.DoModal(/*m_hWnd*/) == IDOK){
				if(dlg.Newline == dlg.Confirmline) {
					settings->set(SettingsManager::PASSWORD, Util::base64_encode(reinterpret_cast<const unsigned char*>(Text::fromT(dlg.Newline).c_str()), strlen(Text::fromT(dlg.Newline).c_str())));
				} else {
					::MessageBox(m_hWnd, _T("Passwords did not match!"), _T(APPNAME) _T(" ") _T(VERSIONSTRING), MB_OK | MB_ICONINFORMATION | MB_TOPMOST);
					::CheckDlgButton(*this, IDC_PASSWD_PROTECT_CHCKBOX, BST_UNCHECKED);
				}
			} else {
				::CheckDlgButton(*this, IDC_PASSWD_PROTECT_CHCKBOX, BST_UNCHECKED);
			}
		} else {
			// neee
			::CheckDlgButton(*this, IDC_PASSWD_PROTECT_CHCKBOX, BST_CHECKED);
			PassDlg dlg;
			dlg.description = TSTRING(PASSWORD_DESC);
			dlg.title = TSTRING(PASSWORD_TITLE);
			dlg.ok = TSTRING(UNLOCK);
			if(dlg.DoModal(/*m_hWnd*/) == IDOK){
				tstring tmp = dlg.line;
				if (tmp == Text::toT(Util::base64_decode(SETTING(PASSWORD)))) {
					::CheckDlgButton(*this, IDC_PASSWD_PROTECT_CHCKBOX, BST_UNCHECKED);
					settings->set(SettingsManager::PASSWORD, "");
				} else {
					::MessageBox(m_hWnd, _T("Wrong password!"), _T(APPNAME) _T(" ") _T(VERSIONSTRING), MB_OK | MB_ICONEXCLAMATION | MB_TOPMOST);
				}
			}
		}
		fixControls();
	}
	return true;
}
LRESULT NetworkPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	PropPage::translate((HWND)(*this), texts);

	if(!(WinUtil::getOsMajor() >= 5 && WinUtil::getOsMinor() >= 1 //WinXP & WinSvr2003
		|| WinUtil::getOsMajor() >= 6 )) //Vista
	{
		::EnableWindow(GetDlgItem(IDC_FIREWALL_UPNP), FALSE);
	}
	switch(SETTING(INCOMING_CONNECTIONS)) {
		case SettingsManager::INCOMING_DIRECT: CheckDlgButton(IDC_DIRECT, BST_CHECKED); break;
		case SettingsManager::INCOMING_FIREWALL_UPNP: CheckDlgButton(IDC_FIREWALL_UPNP, BST_CHECKED); break;
		case SettingsManager::INCOMING_FIREWALL_NAT: CheckDlgButton(IDC_FIREWALL_NAT, BST_CHECKED); break;
		case SettingsManager::INCOMING_FIREWALL_PASSIVE: CheckDlgButton(IDC_FIREWALL_PASSIVE, BST_CHECKED); break;
		default: CheckDlgButton(IDC_DIRECT, BST_CHECKED); break;
	}

	switch(SETTING(OUTGOING_CONNECTIONS)) {
		case SettingsManager::OUTGOING_DIRECT: CheckDlgButton(IDC_DIRECT_OUT, BST_CHECKED); break;
		case SettingsManager::OUTGOING_SOCKS5: CheckDlgButton(IDC_SOCKS5, BST_CHECKED); break;
		default: CheckDlgButton(IDC_DIRECT_OUT, BST_CHECKED); break;
	}

	PropPage::read((HWND)(*this), items);

	fixControls();

	desc.Attach(GetDlgItem(IDC_SOCKS_SERVER));
	desc.LimitText(250);
	desc.Detach();
	desc.Attach(GetDlgItem(IDC_SOCKS_PORT));
	desc.LimitText(5);
	desc.Detach();
	desc.Attach(GetDlgItem(IDC_SOCKS_USER));
	desc.LimitText(250);
	desc.Detach();
	desc.Attach(GetDlgItem(IDC_SOCKS_PASSWORD));
	desc.LimitText(250);
	desc.Detach();
	return TRUE;
}
Exemple #26
0
LRESULT ProtocolPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
    SettingTab::translate((HWND)(*this), texts);

    cAutoDetect.Attach(GetDlgItem(IDC_CONNECTION_DETECTION));
    SetDlgItemText(IDC_PROTOCOL_ENABLED, CTSTRING_F(ENABLE_CONNECTIVITY, (v6 ? "IPv6" : "IPv4")));

    auto mode = v6 ? SETTING(INCOMING_CONNECTIONS6) : SETTING(INCOMING_CONNECTIONS);
    if (mode == SettingsManager::INCOMING_DISABLED) {
        CheckDlgButton(IDC_PROTOCOL_ENABLED, BST_UNCHECKED);
        CheckDlgButton(IDC_ACTIVE, BST_CHECKED);
    } else {
        CheckDlgButton(IDC_PROTOCOL_ENABLED, BST_CHECKED);
        switch(mode) {
        case SettingsManager::INCOMING_ACTIVE:
            CheckDlgButton(IDC_ACTIVE, BST_CHECKED);
            break;
        case SettingsManager::INCOMING_ACTIVE_UPNP:
            CheckDlgButton(IDC_ACTIVE_UPNP, BST_CHECKED);
            break;
        case SettingsManager::INCOMING_PASSIVE:
            CheckDlgButton(IDC_PASSIVE, BST_CHECKED);
            break;
        default:
            CheckDlgButton(IDC_ACTIVE, BST_CHECKED);
            break;
        }
    }

    SettingTab::read((HWND)(*this), v6 ? items6 : items4);

    fixControls();

    // Bind address
    BindCombo.Attach(GetDlgItem(IDC_BIND_ADDRESS));
    getAddresses();

    return TRUE;
}
LRESULT FileListDetectorPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) {
	PropPage::translate((HWND)(*this), texts);
	PropPage::read((HWND)*this, items);

	CUpDownCtrl spin;
	spin.Attach(GetDlgItem(IDC_SDL_SPEED_SPIN));
	spin.SetRange32(1, 10*1024); //max 10 kB/s
	spin.Detach(); 
	spin.Attach(GetDlgItem(IDC_SDL_TIME_SPIN));
	spin.SetRange32(15, 3600); //an hour would be fine ;]
	spin.Detach();
	spin.Attach(GetDlgItem(IDC_MINIMUM_FILELIST_SIZE_SPIN));
	spin.SetRange32(0, 1024*1024*1024);
	spin.Detach();
	spin.Attach(GetDlgItem(IDC_MAXIMUM_FILELIST_SIZE_SPIN));
	spin.SetRange32(0, 1024*1024*1024);
	spin.Detach();
	spin.Attach(GetDlgItem(IDC_PERCENT_FAKE_SHARE_TOLERATED_SPIN));
	spin.SetRange32(0, 100);
	spin.Detach();
	CRect rc;

	ctrlProfiles.Attach(GetDlgItem(IDC_FILELIST_DETECTOR_LIST));
	ctrlProfiles.GetClientRect(rc);

	ctrlProfiles.InsertColumn(0, CTSTRING(CLIENTID),				LVCFMT_LEFT, (rc.Width() / 7)*2, 0);
	ctrlProfiles.InsertColumn(1, CTSTRING(CHEATING_DESCRIPTION),	LVCFMT_LEFT, (rc.Width() / 7)*3, 1);
	ctrlProfiles.InsertColumn(2, CTSTRING(ACTION),					LVCFMT_LEFT, (rc.Width() / 7)*2, 3);
	ctrlProfiles.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT);

	/*FileListDetectorProfile::List& lst = ClientProfileManager::getInstance()->getFileListDetectors();
	for(FileListDetectorProfile::List::const_iterator i = lst.begin(); i != lst.end(); ++i) {
		const FileListDetectorProfile& fd = *i;	
		addEntry(fd, ctrlProfiles.GetItemCount());
	}*/
	fixControls();
	return TRUE;
}
LRESULT FavHubProperties::OnInitDialog(UINT, WPARAM, LPARAM, BOOL&)
{
	// Translate dialog
	SetWindowText(CTSTRING(FAVORITE_HUB_PROPERTIES));
	SetDlgItemText(IDCANCEL, CTSTRING(CANCEL));
	SetDlgItemText(IDC_FH_HUB, CTSTRING(HUB));
	SetDlgItemText(IDC_FH_IDENT, CTSTRING(FAVORITE_HUB_IDENTITY));
	SetDlgItemText(IDC_FH_NAME, CTSTRING(HUB_NAME));
	SetDlgItemText(IDC_FH_ADDRESS, CTSTRING(HUB_ADDRESS));
	SetDlgItemText(IDC_FH_HUB_DESC, CTSTRING(DESCRIPTION));
	SetDlgItemText(IDC_FH_NICK, CTSTRING(NICK));
	SetDlgItemText(IDC_FH_PASSWORD, CTSTRING(PASSWORD));
	SetDlgItemText(IDC_FH_USER_DESC, CTSTRING(DESCRIPTION));
	SetDlgItemText(IDC_FH_CONN, CTSTRING(FAVORITE_HUB_CONNECTION));
	SetDlgItemText(IDC_STEALTH, CTSTRING(STEALTH_MODE));
	SetDlgItemText(IDC_FAV_NO_PM, CTSTRING(FAV_NO_PM));
	SetDlgItemText(IDC_SHOW_JOIN, CTSTRING(FAV_SHOW_JOIN));
	SetDlgItemText(IDC_HIDE_SHARE, CTSTRING(HIDE_SHARE));
	SetDlgItemText(IDC_FAV_SEARCH_INTERVAL, CTSTRING(MINIMUM_SEARCH_INTERVAL));
	SetDlgItemText(IDC_FAVGROUP, CTSTRING(GROUP));
	SetDlgItemText(IDC_LOGMAINCHAT, CTSTRING(FAV_LOG_CHAT));
	SetDlgItemText(IDC_CHAT_NOTIFY, CTSTRING(CHAT_NOTIFY));
	SetDlgItemText(IDC_FAILOVER, CTSTRING(ACCEPT_FAILOVERS_FAV));
	SetDlgItemText(IDC_AWAY_MSG_LBL, CTSTRING(CUSTOM_AWAY_MESSAGE));

	SetDlgItemText(IDC_LOGMAINCHAT, CTSTRING(FAV_LOG_CHAT));
	SetDlgItemText(IDC_HUBSETTINGS, CTSTRING(GLOBAL_SETTING_OVERRIDES));
	SetDlgItemText(IDC_SEARCH_INTERVAL_DEFAULT, CTSTRING(USE_DEFAULT));

	SetDlgItemText(IDC_FAV_SHAREPROFILE_CAPTION, CTSTRING(SHARE_PROFILE));
	SetDlgItemText(IDC_EDIT_PROFILES, CTSTRING(EDIT_PROFILES));
	SetDlgItemText(IDC_PROFILES_NOTE, CTSTRING(PROFILES_NOTE));

	// Fill in values
	SetDlgItemText(IDC_HUBNAME, Text::toT(entry->getName()).c_str());
	SetDlgItemText(IDC_HUBDESCR, Text::toT(entry->getDescription()).c_str());
	SetDlgItemText(IDC_HUBADDR, Text::toT(entry->getServerStr()).c_str());
	SetDlgItemText(IDC_NICK, Text::toT(entry->get(HubSettings::Nick)).c_str());
	SetDlgItemText(IDC_HUBPASS, Text::toT(entry->getPassword()).c_str());
	SetDlgItemText(IDC_USERDESC, Text::toT(entry->get(HubSettings::Description)).c_str());
	SetDlgItemText(IDC_EMAIL, Text::toT(entry->get(HubSettings::Email)).c_str());

	SetDlgItemText(IDC_AWAY_MSG, Text::toT(entry->get(HubSettings::AwayMsg)).c_str());

	CheckDlgButton(IDC_STEALTH, entry->getStealth() ? BST_CHECKED : BST_UNCHECKED);
	CheckDlgButton(IDC_FAV_NO_PM, entry->getFavNoPM() ? BST_CHECKED : BST_UNCHECKED);

	CheckDlgButton(IDC_SHOW_JOIN, toInt(entry->get(HubSettings::ShowJoins)));
	CheckDlgButton(IDC_SHOW_JOIN_FAV, toInt(entry->get(HubSettings::FavShowJoins)));
	CheckDlgButton(IDC_LOGMAINCHAT, toInt(entry->get(HubSettings::LogMainChat)));
	CheckDlgButton(IDC_CHAT_NOTIFY, toInt(entry->get(HubSettings::ChatNotify)));
	CheckDlgButton(IDC_FAILOVER, toInt(entry->get(HubSettings::AcceptFailovers)));

	CheckDlgButton(IDC_FAV_NO_PM, entry->getFavNoPM() ? BST_CHECKED : BST_UNCHECKED);

	auto searchInterval = entry->get(HubSettings::SearchInterval);
	CheckDlgButton(IDC_SEARCH_INTERVAL_DEFAULT, searchInterval == HubSettings::getMinInt() ? BST_CHECKED : BST_UNCHECKED);
	SetDlgItemText(IDC_FAV_SEARCH_INTERVAL_BOX, Util::toStringW(searchInterval).c_str());

	bool isAdcHub = entry->isAdcHub();

	CComboBox combo;
	combo.Attach(GetDlgItem(IDC_FAVGROUP_BOX));
	combo.AddString(_T("---"));
	combo.SetCurSel(0);

	const FavHubGroups& favHubGroups = FavoriteManager::getInstance()->getFavHubGroups();
	for(const auto& name: favHubGroups | map_keys) {
		int pos = combo.AddString(Text::toT(name).c_str());
		
		if(name == entry->getGroup())
			combo.SetCurSel(pos);
	}

	combo.Detach();

	// TODO: add more encoding into wxWidgets version, this is enough now
	// FIXME: following names are Windows only!
	combo.Attach(GetDlgItem(IDC_ENCODING));
	combo.AddString(_T("System default"));
	combo.AddString(_T("English_United Kingdom.1252"));
	combo.AddString(_T("Czech_Czech Republic.1250"));
	combo.AddString(_T("Russian_Russia.1251"));
	combo.AddString(Text::toT(Text::utf8).c_str());

	ctrlProfile.Attach(GetDlgItem(IDC_FAV_SHAREPROFILE));
	appendProfiles();
	hideShare = entry->getShareProfile() && entry->getShareProfile()->getToken() == SP_HIDDEN;
	CheckDlgButton(IDC_HIDE_SHARE, hideShare ? BST_CHECKED : BST_UNCHECKED);


	if(isAdcHub) {
		combo.SetCurSel(4); // select UTF-8 for ADC hubs
		combo.EnableWindow(false);
		if (hideShare)
			ctrlProfile.EnableWindow(false);
	} else {
		ctrlProfile.EnableWindow(false);
		if(entry->getEncoding().empty()) {
			combo.SetCurSel(0);
		} else {
			combo.SetWindowText(Text::toT(entry->getEncoding()).c_str());
		}
	}

	combo.Detach();

	// connection modes
	auto appendCombo = [](CComboBox& combo, int curMode) {
		combo.InsertString(0, CTSTRING(DEFAULT));
		combo.InsertString(1, CTSTRING(DISABLED));
		combo.InsertString(2, CTSTRING(ACTIVE_MODE));
		combo.InsertString(3, CTSTRING(PASSIVE_MODE));

		if(curMode == HubSettings::getMinInt())
			combo.SetCurSel(0);
		else if(curMode == SettingsManager::INCOMING_DISABLED)
			combo.SetCurSel(1);
		else if(curMode == SettingsManager::INCOMING_ACTIVE)
			combo.SetCurSel(2);
		else if(curMode == SettingsManager::INCOMING_PASSIVE)
			combo.SetCurSel(3);
	};

	modeCombo4.Attach(GetDlgItem(IDC_MODE4));
	modeCombo6.Attach(GetDlgItem(IDC_MODE6));

	appendCombo(modeCombo4, entry->get(HubSettings::Connection));
	appendCombo(modeCombo6, entry->get(HubSettings::Connection6));

	//external ips
	SetDlgItemText(IDC_SERVER4, Text::toT(entry->get(HubSettings::UserIp)).c_str());
	SetDlgItemText(IDC_SERVER6, Text::toT(entry->get(HubSettings::UserIp6)).c_str());

	fixControls();

	CEdit tmp;
	tmp.Attach(GetDlgItem(IDC_HUBNAME));
	tmp.SetFocus();
	tmp.SetSel(0,-1);
	tmp.Detach();
	tmp.Attach(GetDlgItem(IDC_NICK));
	tmp.LimitText(35);
	tmp.Detach();
	tmp.Attach(GetDlgItem(IDC_USERDESC));
	tmp.LimitText(50);
	tmp.Detach();
	tmp.Attach(GetDlgItem(IDC_EMAIL));
	tmp.LimitText(50);
	tmp.Detach();
	tmp.Attach(GetDlgItem(IDC_HUBPASS));
	tmp.SetPasswordChar('*');
	tmp.Detach();
	
	CUpDownCtrl updown;
	updown.Attach(GetDlgItem(IDC_FAV_SEARCH_INTERVAL_SPIN));
	updown.SetRange32(5, 9999);
	updown.Detach();

	CenterWindow(GetParent());
	loaded = true;
	return FALSE;
}
LRESULT FavHubProperties::fixControls(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) {
	fixControls();
	return FALSE;
}
Exemple #30
0
LRESULT EncryptionPage::onUseDefaults(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) {
	fixControls();
	return 0;
}