From d26777c4e4cd20ba76eea80bb0ee6979126527c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 16 Mar 2015 18:19:04 +0000 Subject: [PATCH] Network: added BNetworkSettingsListener. * Same as the configuration listener, just for SettingsUpdated(). * This is now broadcasted to all list items, too. --- .../os/add-ons/network_settings/NetworkSettingsAddOn.h | 9 ++++++++- src/preferences/network/NetworkWindow.cpp | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/headers/os/add-ons/network_settings/NetworkSettingsAddOn.h b/headers/os/add-ons/network_settings/NetworkSettingsAddOn.h index 6540138ef4..fe1d02cd4c 100644 --- a/headers/os/add-ons/network_settings/NetworkSettingsAddOn.h +++ b/headers/os/add-ons/network_settings/NetworkSettingsAddOn.h @@ -42,7 +42,14 @@ public: }; -class BNetworkSettingsItem : public BNetworkConfigurationListener { +class BNetworkSettingsListener { +public: + virtual void SettingsUpdated(uint32 type) = 0; +}; + + +class BNetworkSettingsItem : public BNetworkConfigurationListener, + BNetworkSettingsListener { public: BNetworkSettingsItem(); virtual ~BNetworkSettingsItem(); diff --git a/src/preferences/network/NetworkWindow.cpp b/src/preferences/network/NetworkWindow.cpp index 4242d5cb0d..50ee3162f9 100644 --- a/src/preferences/network/NetworkWindow.cpp +++ b/src/preferences/network/NetworkWindow.cpp @@ -477,6 +477,14 @@ NetworkWindow::_SelectItem(BListItem* listItem) void NetworkWindow::_BroadcastSettingsUpdate(uint32 type) { + for (int32 index = 0; index < fListView->FullListCountItems(); index++) { + BNetworkSettingsListener* listener + = dynamic_cast( + fListView->FullListItemAt(index)); + if (listener != NULL) + listener->SettingsUpdated(type); + } + SettingsMap::const_iterator iterator = fSettingsMap.begin(); for (; iterator != fSettingsMap.end(); iterator++) iterator->second->SettingsUpdated(type);