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);