void CGUIWindowBoxeeWizardNetwork::GetUserConfiguration(CStdString& interfaceName, CStdString& essId, CStdString& key, EncMode& enc) { // Get current settings from the GUI components CGUIMessage msg(GUI_MSG_ITEM_SELECTED, GetID(), CONTROL_INTERFACES); OnMessage(msg); int iItem = msg.GetParam1(); CNetworkInterface* interface = m_interfaces[iItem]; interfaceName = interface->GetName(); if (interface->IsWireless()) { CGUIMessage msg2(GUI_MSG_ITEM_SELECTED, GetID(), CONTROL_WIRELESS); OnMessage(msg2); int iItem = msg2.GetParam1(); essId = m_networkItems[iItem]->GetLabel(); CGUIButtonControl* passwordButton = (CGUIButtonControl*) GetControl(CONTROL_PASSWORD); key = passwordButton->GetLabel(); CGUIButtonControl* encSelectionButton = (CGUIButtonControl*) GetControl(CONTROL_ENC_SELECTION); CStdString encStr = encSelectionButton->GetLabel(); for (int i = 0; i < 5; i++) { if (strcasecmp(encStr.c_str(), ENC_LABELS[i]) == 0) { enc = ENC_MODES[i]; break; } } } }
bool CGUIWindowBoxeeWizardNetwork::NetworkConfigurationChanged() { if (!m_foundCurrnetNetwork) return true; CStdString currentEssId; CStdString currentKey; EncMode currentEnc; CStdString currentInterfaceName; GetUserConfiguration(currentInterfaceName, currentEssId, currentKey, currentEnc); CGUIMessage msg(GUI_MSG_ITEM_SELECTED, GetID(), CONTROL_INTERFACES); OnMessage(msg); int iItem = msg.GetParam1(); CNetworkInterface* interface = m_interfaces[iItem]; // Do the actual comparison if (m_interfaceName != currentInterfaceName) return true; bool result = false; if (interface->IsWireless()) { result = (currentEssId != m_essId || currentEnc != m_encryptionMode); if (currentEnc != ENC_NONE) result = result || (currentKey != m_key); } return result; }
void CGUIWindowBoxeeWizardNetwork::ShowWirelessNetworksIfNeeded() { CGUIMessage msg(GUI_MSG_ITEM_SELECTED, GetID(), CONTROL_INTERFACES ); OnMessage(msg); int iItem = msg.GetParam1(); CNetworkInterface* interface = m_interfaces[iItem]; if (interface->IsWireless()) { SET_CONTROL_VISIBLE(CONTROL_WIRELESS); SET_CONTROL_VISIBLE(CONTROL_SEP1); ShowWirelessNetworks(interface); SET_CONTROL_FOCUS(CONTROL_WIRELESS, 0); CONTROL_DISABLE(CONTROL_NEXT); } else { SET_CONTROL_HIDDEN(CONTROL_SEP1); SET_CONTROL_HIDDEN(CONTROL_WIRELESS); SET_CONTROL_HIDDEN(CONTROL_SEP2); SET_CONTROL_HIDDEN(CONTROL_PASSWORD_GROUP); SET_CONTROL_HIDDEN(CONTROL_ENC_GROUP); CONTROL_ENABLE(CONTROL_NEXT); SET_CONTROL_FOCUS(CONTROL_NEXT, 0); } }