void Solid::Control::WirelessNetworkInterfaceNm09::makeConnections(QObject * source)
{
    connect(source, SIGNAL(accessPointAppeared(QString)),
            this, SLOT(_k_accessPointAdded(QString)));
    connect(source, SIGNAL(accessPointDisappeared(QString)),
            this, SLOT(_k_accessPointRemoved(QString)));
    connect(source, SIGNAL(bitRateChanged(int)),
            this, SIGNAL(bitRateChanged(int)));
    connect(source, SIGNAL(activeAccessPointChanged(QString)),
            this, SIGNAL(activeAccessPointChanged(QString)));
    connect(source, SIGNAL(modeChanged(Solid::Control::WirelessNetworkInterfaceNm09::OperationMode)),
            this, SIGNAL(modeChanged(Solid::Control::WirelessNetworkInterfaceNm09::OperationMode)));
}
WirelessInterfaceItem::WirelessInterfaceItem(Solid::Control::WirelessNetworkInterfaceNm09 * iface, RemoteActivatableList* activatables, InterfaceItem::NameDisplayMode mode, QGraphicsWidget* parent)
: InterfaceItem(iface, activatables, mode, parent)
{
    connect(iface, SIGNAL(activeAccessPointChanged(QString)),
            SLOT(updateInfo()));

    m_wirelessStatus = new WirelessStatus(iface);
    connect(m_wirelessStatus, SIGNAL(strengthChanged(int)), this, SLOT(updateInfo()));
    setConnectionInfo();
}
ConnectionInfoWirelessTab::ConnectionInfoWirelessTab(Solid::Control::WirelessNetworkInterface *iface, QWidget *parent)
    : QWidget(parent), m_iface(iface), m_ap(0), m_maxBitRate(0)
{
    QFormLayout *layout = new QFormLayout(this);
    setLayout(layout);

    m_ssidLabel = new QLabel(this);
    layout->addRow(i18nc("@label:textbox access point SSID", "SSID:"), m_ssidLabel);

    m_signalStrengthLabel = new QLabel(this);
    layout->addRow(i18nc("@label:textbox signal strength of AP", "Signal strength:"), m_signalStrengthLabel);

    m_operationModeLabel = new QLabel(this);
    layout->addRow(i18nc("@label:textbox Wi-Fi mode, e.g. Ad-Hoc or Managed", "Operation mode:"), m_operationModeLabel);

    m_bitRateLabel = new QLabel(this);
    layout->addRow(i18nc("@label:textbox bit rate of network interface", "Bit rate:"), m_bitRateLabel);

    m_accessPointLabel = new QLabel(this);
    layout->addRow(i18nc("@label:textbox MAC address of access point", "Access point:"), m_accessPointLabel);

    m_securityWpaLabel = new QLabel(this);
    layout->addRow(i18nc("@label:textbox security flags of AP", "Security (WPA):"), m_securityWpaLabel);

    m_securityRsnLabel = new QLabel(this);
    layout->addRow(i18nc("@label:textbox security flags of AP", "Security (RSN/WPA2):"), m_securityRsnLabel);

    m_frequencyLabel = new QLabel(this);
    layout->addRow(i18nc("@label:textbox Wi-Fi frequency", "Frequency:"), m_frequencyLabel);

    m_hardwareAddressLabel = new QLabel(this);
    layout->addRow(i18nc("@label:textbox MAC address of network interface", "Hardware address:"), m_hardwareAddressLabel);

    connect(iface, SIGNAL(activeAccessPointChanged(QString)), this, SLOT(updateAccessPoint(QString)));

    connect(iface, SIGNAL(bitRateChanged(int)), this, SLOT(updateBitRate(int)));

    connect(iface, SIGNAL(modeChanged(Solid::Control::WirelessNetworkInterface::OperationMode)), this, SLOT(updateOperationMode(Solid::Control::WirelessNetworkInterface::OperationMode)));

    // populate initial values
    updateAccessPoint(iface->activeAccessPoint());
    updateBitRate(iface->bitRate());
    updateOperationMode(iface->mode());

    m_hardwareAddressLabel->setText(iface->hardwareAddress());
}