Changeset View
Changeset View
Standalone View
Standalone View
libs/editor/settings/bridgewidget.cpp
Show All 27 Lines | |||||
28 | #include <NetworkManagerQt/GenericTypes> | 28 | #include <NetworkManagerQt/GenericTypes> | ||
29 | #include <NetworkManagerQt/Connection> | 29 | #include <NetworkManagerQt/Connection> | ||
30 | #include <NetworkManagerQt/Settings> | 30 | #include <NetworkManagerQt/Settings> | ||
31 | #include <NetworkManagerQt/ConnectionSettings> | 31 | #include <NetworkManagerQt/ConnectionSettings> | ||
32 | 32 | | |||
33 | #include <KLocalizedString> | 33 | #include <KLocalizedString> | ||
34 | #include <KMessageBox> | 34 | #include <KMessageBox> | ||
35 | 35 | | |||
36 | BridgeWidget::BridgeWidget(const QString & masterUuid, const NetworkManager::Setting::Ptr &setting, QWidget* parent, Qt::WindowFlags f): | 36 | BridgeWidget::BridgeWidget(const QString & masterUuid, const QString &masterId, | ||
37 | const NetworkManager::Setting::Ptr &setting, | ||||
38 | QWidget* parent, Qt::WindowFlags f): | ||||
37 | SettingWidget(setting, parent, f), | 39 | SettingWidget(setting, parent, f), | ||
38 | m_uuid(masterUuid), | 40 | m_uuid(masterUuid), | ||
41 | m_id(masterId), | ||||
39 | m_ui(new Ui::BridgeWidget) | 42 | m_ui(new Ui::BridgeWidget) | ||
40 | { | 43 | { | ||
41 | m_ui->setupUi(this); | 44 | m_ui->setupUi(this); | ||
42 | 45 | | |||
43 | // Action buttons and menu | 46 | // Action buttons and menu | ||
44 | m_menu = new QMenu(this); | 47 | m_menu = new QMenu(this); | ||
45 | QAction * action = new QAction(i18n("Ethernet"), this); | 48 | QAction * action = new QAction(i18n("Ethernet"), this); | ||
46 | action->setData(NetworkManager::ConnectionSettings::Wired); | 49 | action->setData(NetworkManager::ConnectionSettings::Wired); | ||
▲ Show 20 Lines • Show All 175 Lines • ▼ Show 20 Line(s) | |||||
222 | } | 225 | } | ||
223 | 226 | | |||
224 | void BridgeWidget::populateBridges() | 227 | void BridgeWidget::populateBridges() | ||
225 | { | 228 | { | ||
226 | m_ui->bridges->clear(); | 229 | m_ui->bridges->clear(); | ||
227 | 230 | | |||
228 | for (const NetworkManager::Connection::Ptr &connection : NetworkManager::listConnections()) { | 231 | for (const NetworkManager::Connection::Ptr &connection : NetworkManager::listConnections()) { | ||
229 | NetworkManager::ConnectionSettings::Ptr settings = connection->settings(); | 232 | NetworkManager::ConnectionSettings::Ptr settings = connection->settings(); | ||
230 | if (settings->master() == m_uuid && settings->slaveType() == type()) { | 233 | // The mapping from slave to master may be by uuid or name, try our best to | ||
234 | // figure out if we are master to the slave. | ||||
235 | const QString master = settings->master(); | ||||
236 | bool isSlave = ((master == m_uuid) || // by-uuid | ||||
237 | (!m_id.isEmpty() && master == m_id)); // by-name | ||||
238 | if (isSlave && (settings->slaveType() == type())) { | ||||
231 | const QString label = QString("%1 (%2)").arg(connection->name()).arg(connection->settings()->typeAsString(connection->settings()->connectionType())); | 239 | const QString label = QString("%1 (%2)").arg(connection->name()).arg(connection->settings()->typeAsString(connection->settings()->connectionType())); | ||
232 | QListWidgetItem * slaveItem = new QListWidgetItem(label, m_ui->bridges); | 240 | QListWidgetItem * slaveItem = new QListWidgetItem(label, m_ui->bridges); | ||
233 | slaveItem->setData(Qt::UserRole, connection->uuid()); | 241 | slaveItem->setData(Qt::UserRole, connection->uuid()); | ||
234 | } | 242 | } | ||
235 | } | 243 | } | ||
236 | } | 244 | } | ||
237 | 245 | | |||
238 | bool BridgeWidget::isValid() const | 246 | bool BridgeWidget::isValid() const | ||
239 | { | 247 | { | ||
240 | return !m_ui->ifaceName->text().isEmpty() && m_ui->bridges->count() > 0; | 248 | return !m_ui->ifaceName->text().isEmpty() && m_ui->bridges->count() > 0; | ||
241 | } | 249 | } |