[haiku-commits] haiku: hrev47884 - in src/tests/kits/net/preflet/InterfacesAddOn: . src/tests/kits/net/preflet

  • From: pulkomandy@xxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 19 Sep 2014 17:51:34 +0200 (CEST)

hrev47884 adds 2 changesets to branch 'master'
old head: 76a607d2fef312194d161a410cacb8dfcde45387
new head: ee2985c144db8516ac340d7f3f071c12b8886914
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=ee2985c+%5E76a607d

----------------------------------------------------------------------------

763cd90: NetworkSetup: simplify UI layout
  
  * Temporarily disable the non-working Profiles popup
  * Remove the currently single-tabbed TabView
  * Remove duplicate apply and revert buttons in the interfaces add-on.
  
  The goal here is to remove functionalities not available in the current
  network preferences, and finish the other parts, so we can put this new
  preferences panel in service now. We can re-add the extra functionality
  later.

ee2985c: NetworkSetup: list and join wireless networks
  
  * Reuse the logic from the old network preflet for now. Something better
  can be done later.

                             [ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

11 files changed, 174 insertions(+), 89 deletions(-)
.../InterfacesAddOn/InterfaceHardwareView.cpp    | 92 +++++++++++++++++---
.../InterfacesAddOn/InterfaceHardwareView.h      |  3 +
.../preflet/InterfacesAddOn/InterfaceView.cpp    | 68 ++++-----------
.../net/preflet/InterfacesAddOn/InterfaceView.h  | 16 ++--
.../preflet/InterfacesAddOn/InterfacesAddOn.cpp  | 27 ++++--
.../preflet/InterfacesAddOn/InterfacesAddOn.h    |  4 +
.../preflet/InterfacesAddOn/NetworkSettings.cpp  | 19 ++++
.../preflet/InterfacesAddOn/NetworkSettings.h    |  8 +-
src/tests/kits/net/preflet/Jamfile               |  6 ++
.../kits/net/preflet/NetworkSetupWindow.cpp      | 18 ++--
src/tests/kits/net/preflet/NetworkSetupWindow.h  |  2 +-

############################################################################

Commit:      763cd902f672f7912ebeddca25c2d8e848728ae7
URL:         http://cgit.haiku-os.org/haiku/commit/?id=763cd90
Author:      Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date:        Fri Sep 19 13:24:50 2014 UTC

NetworkSetup: simplify UI layout

* Temporarily disable the non-working Profiles popup
* Remove the currently single-tabbed TabView
* Remove duplicate apply and revert buttons in the interfaces add-on.

The goal here is to remove functionalities not available in the current
network preferences, and finish the other parts, so we can put this new
preferences panel in service now. We can re-add the extra functionality
later.

----------------------------------------------------------------------------

diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.cpp 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.cpp
index 63142f7..b333932 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.cpp
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.cpp
@@ -24,33 +24,11 @@
 
 InterfaceView::InterfaceView(NetworkSettings* settings)
        :
-       BView("Interface Settings", 0, 0)
+       BTabView("settings_tabs")
 {
        fNetworkSettings = settings;
-
-       fTabView = new BTabView("settings_tabs");
-       fTabView->SetTabWidth(B_WIDTH_FROM_LABEL);
-
-       fRevertButton = new BButton("revert", B_TRANSLATE("Revert"),
-               new BMessage(MSG_IP_REVERT));
-
-       fApplyButton = new BButton("save", B_TRANSLATE("Save"),
-               new BMessage(MSG_IP_SAVE));
-
+       SetTabWidth(B_WIDTH_FROM_LABEL);
        _PopulateTabs();
-
-       SetLayout(new BGroupLayout(B_VERTICAL));
-
-       AddChild(BGroupLayoutBuilder(B_VERTICAL, B_USE_SMALL_SPACING)
-               .Add(fTabView)
-               .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING)
-                       .Add(fRevertButton)
-                       .AddGlue()
-                       .Add(fApplyButton)
-               .End()
-               .SetInsets(B_USE_SMALL_SPACING, B_USE_SMALL_SPACING,
-                       B_USE_SMALL_SPACING, B_USE_SMALL_SPACING)
-       );
 }
 
 
@@ -60,38 +38,30 @@ InterfaceView::~InterfaceView()
 
 
 void
-InterfaceView::AttachedToWindow()
+InterfaceView::Revert()
 {
-       Window()->SetDefaultButton(fApplyButton);
+       protocols* supportedFamilies = fNetworkSettings->ProtocolVersions();
+
+       for (int index = 0; index < MAX_PROTOCOLS; index++) {
+               if (supportedFamilies[index].present) {
+                       int inet_id = supportedFamilies[index].inet_id;
+                       fTabIPView[inet_id]->Revert();
+               }
+       }
 }
 
 
 void
-InterfaceView::MessageReceived(BMessage* message)
+InterfaceView::Apply()
 {
        protocols* supportedFamilies = fNetworkSettings->ProtocolVersions();
 
-       switch (message->what) {
-               case MSG_IP_REVERT:
-                       for (int index = 0; index < MAX_PROTOCOLS; index++) {
-                               if (supportedFamilies[index].present) {
-                                       int inet_id = 
supportedFamilies[index].inet_id;
-                                       fTabIPView[inet_id]->Revert();
-                               }
-                       }
-                       break;
-               case MSG_IP_SAVE:
-                       for (int index = 0; index < MAX_PROTOCOLS; index++) {
-                               if (supportedFamilies[index].present) {
-                                       int inet_id = 
supportedFamilies[index].inet_id;
-                                       fTabIPView[inet_id]->Save();
-                               }
-                       }
-                       break;
-               default:
-                       BView::MessageReceived(message);
+       for (int index = 0; index < MAX_PROTOCOLS; index++) {
+               if (supportedFamilies[index].present) {
+                       int inet_id = supportedFamilies[index].inet_id;
+                       fTabIPView[inet_id]->Save();
+               }
        }
-
 }
 
 
@@ -102,7 +72,7 @@ InterfaceView::_PopulateTabs()
 
        BTab* hardwareTab = new BTab;
        fTabHardwareView = new InterfaceHardwareView(fNetworkSettings);
-       fTabView->AddTab(fTabHardwareView, hardwareTab);
+       AddTab(fTabHardwareView, hardwareTab);
        hardwareTab->SetLabel(B_TRANSLATE("Interface"));
 
        for (int index = 0; index < MAX_PROTOCOLS; index++) {
@@ -111,7 +81,7 @@ InterfaceView::_PopulateTabs()
                        fTabIPView[inet_id] = new InterfaceAddressView(inet_id,
                                fNetworkSettings);
                        BTab* tab = new BTab;
-                       fTabView->AddTab(fTabIPView[inet_id], tab);
+                       AddTab(fTabIPView[inet_id], tab);
                        tab->SetLabel(supportedFamilies[index].name);
                }
        }
diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.h 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.h
index aec81d2..749f594 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.h
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.h
@@ -16,6 +16,7 @@
 
 #include <map>
 
+#include <TabView.h>
 #include <Window.h>
 
 
@@ -31,25 +32,21 @@ typedef std::map<int, InterfaceAddressView*> IPViewMap;
 class BButton;
 class BTabView;
 
-class InterfaceView : public BView {
+class InterfaceView : public BTabView {
 public:
                                                                        
InterfaceView(NetworkSettings* settings);
        virtual                                                 
~InterfaceView();
 
-       virtual void                                    AttachedToWindow();
-       virtual void                                    
MessageReceived(BMessage* mesage);
        virtual bool                                    QuitRequested();
 
+                       void                                    Apply();
+                       void                                    Revert();
+
 private:
                        status_t                                _PopulateTabs();
 
                        NetworkSettings*                fNetworkSettings;
 
-                       BButton*                                fRevertButton;
-                       BButton*                                fApplyButton;
-
-                       BTabView*                               fTabView;
-
                        IPViewMap                               fTabIPView;
                        InterfaceHardwareView*  fTabHardwareView;
 };
diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp
index 323eb17..0851c13 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp
@@ -50,6 +50,7 @@ InterfacesAddOn::InterfacesAddOn(image_id image)
        NetworkSetupAddOn(image),
        BBox(NULL, B_NAVIGABLE_JUMP, B_NO_BORDER)
 {
+       fSettingsView = NULL;
 }
 
 
@@ -111,14 +112,27 @@ InterfacesAddOn::AttachedToWindow()
 }
 
 
+// FIXME with this scheme the apply and revert button will only take effect for
+// the currently shown interface. This can be confusing, it would be better to
+// keep the state of all interfaces and allow reverting and saving all of them.
 status_t
 InterfacesAddOn::Save()
 {
        // TODO : Profile?
+       
+       fSettingsView->Apply();
        return fListView->SaveItems();
 }
 
 
+status_t
+InterfacesAddOn::Revert()
+{
+       fSettingsView->Revert();
+       return B_OK;
+}
+
+
 void
 InterfacesAddOn::MessageReceived(BMessage* msg)
 {
@@ -139,11 +153,12 @@ InterfacesAddOn::MessageReceived(BMessage* msg)
 
                        // TODO it would be better to reuse the view instead of 
recreating
                        // one.
-                       InterfaceView* sw = new 
InterfaceView(item->GetSettings());
-                       BView* old = ChildAt(1);
-                       RemoveChild(old);
-                       delete old;
-                       AddChild(sw);
+                       if (fSettingsView != NULL) {
+                               fSettingsView->RemoveSelf();
+                               delete fSettingsView;
+                       }
+                       fSettingsView = new InterfaceView(item->GetSettings());
+                       AddChild(fSettingsView);
                        break;
                }
 
diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.h 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.h
index c36c5d0..46636c5 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.h
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.h
@@ -26,6 +26,8 @@ static const uint32 kMsgInterfaceRenegotiate = 'redo';
 class BButton;
 class BView;
 
+class InterfaceView;
+
 class InterfacesAddOn : public NetworkSetupAddOn, public BBox
 {
 public:
@@ -34,6 +36,7 @@ public:
 
                        const char*             Name();
                        status_t                        Save();
+                       status_t                        Revert();
 
                        BView*                          CreateView();
 
@@ -42,6 +45,7 @@ public:
 
 private:
                        InterfacesListView*     fListView;
+                       InterfaceView*          fSettingsView;
                        BButton*                        fOnOff;
                        BButton*                        fRenegotiate;
 };
diff --git a/src/tests/kits/net/preflet/NetworkSetupWindow.cpp 
b/src/tests/kits/net/preflet/NetworkSetupWindow.cpp
index e1e5dcd..156cacb 100644
--- a/src/tests/kits/net/preflet/NetworkSetupWindow.cpp
+++ b/src/tests/kits/net/preflet/NetworkSetupWindow.cpp
@@ -38,6 +38,7 @@ NetworkSetupWindow::NetworkSetupWindow(const char *title)
        fAddonCount(0)
 {
        // ---- Profiles section
+#if 0
        BMenu *profilesPopup = new BPopUpMenu("<none>");
        _BuildProfilesMenu(profilesPopup, kMsgProfileSelected);
 
@@ -46,10 +47,11 @@ NetworkSetupWindow::NetworkSetupWindow(const char *title)
 
        profilesMenuField->SetFont(be_bold_font);
        profilesMenuField->SetEnabled(false);
+#endif
 
        // ---- Settings section
 
-       fPanel = new BTabView("showview_box");
+       fPanel = new BGroupView(B_VERTICAL);
 
        fApplyButton = new BButton("apply", B_TRANSLATE("Apply"),
                new BMessage(kMsgApply));
@@ -59,17 +61,16 @@ NetworkSetupWindow::NetworkSetupWindow(const char *title)
                new BMessage(kMsgRevert));
        // fRevertButton->SetEnabled(false);
 
-       // Enable boxes resizing modes
-       //fPanel->SetResizingMode(B_FOLLOW_ALL);
-
        // Build the layout
        SetLayout(new BGroupLayout(B_VERTICAL));
 
        AddChild(BGroupLayoutBuilder(B_VERTICAL, B_USE_SMALL_SPACING)
+#if 0
                .AddGroup(B_HORIZONTAL, B_USE_SMALL_SPACING)
                        .Add(profilesMenuField)
                        .AddGlue()
                .End()
+#endif
                .Add(fPanel)
                .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING)
                        .Add(fRevertButton)
@@ -154,8 +155,6 @@ NetworkSetupWindow::MessageReceived(BMessage*       msg)
                                break;
 
                        fPanel->AddChild(fAddonView);
-                       fAddonView->ResizeTo(fPanel->Bounds().Width(),
-                               fPanel->Bounds().Height());
                        break;
                }
 
@@ -301,9 +300,10 @@ NetworkSetupWindow::_BuildShowTabView(int32 msg_what)
                                msg->AddPointer("addon", 
fNetworkAddOnMap[fAddonCount]);
                                msg->AddPointer("addon_view", addon_view);
 
-                               BTab* tab = new BTab;
-                               fPanel->AddTab(addon_view, tab);
-                               
tab->SetLabel(fNetworkAddOnMap[fAddonCount]->Name());
+                               // FIXME rework this: we don't want to use a 
tab view here,
+                               // instead add-ons should populate the 
"interfaces" list with
+                               // interfaces, services, etc.
+                               fPanel->AddChild(addon_view);
                                fAddonCount++;
                                        // Number of tab addons total
                                tabCount++;
diff --git a/src/tests/kits/net/preflet/NetworkSetupWindow.h 
b/src/tests/kits/net/preflet/NetworkSetupWindow.h
index 8c2a765..4931b0e 100644
--- a/src/tests/kits/net/preflet/NetworkSetupWindow.h
+++ b/src/tests/kits/net/preflet/NetworkSetupWindow.h
@@ -53,7 +53,7 @@ class NetworkSetupWindow : public BWindow
 
                        NetworkAddOnMap         fNetworkAddOnMap;
 
-                       BTabView*                       fPanel;
+                       BView*                          fPanel;
                        BView*                          fAddonView;
                        int                                     fAddonCount;
 };

############################################################################

Revision:    hrev47884
Commit:      ee2985c144db8516ac340d7f3f071c12b8886914
URL:         http://cgit.haiku-os.org/haiku/commit/?id=ee2985c
Author:      Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date:        Fri Sep 19 15:50:06 2014 UTC

NetworkSetup: list and join wireless networks

* Reuse the logic from the old network preflet for now. Something better
can be done later.

----------------------------------------------------------------------------

diff --git 
a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp
index 01403ca..4b3cdb8 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp
@@ -9,7 +9,10 @@
 
 
 #include "InterfaceHardwareView.h"
+
+#include "InterfaceView.h"
 #include "NetworkSettings.h"
+#include "WirelessNetworkMenuItem.h"
 
 #include <Catalog.h>
 #include <ControlLook.h>
@@ -22,6 +25,7 @@
 #include <StringView.h>
 #include <TextControl.h>
 
+#include <set>
 #include <stdio.h>
 
 
@@ -70,21 +74,25 @@ 
InterfaceHardwareView::InterfaceHardwareView(NetworkSettings* settings)
        fLinkRxField = new BStringView("rx field", "");
        fLinkRxField ->SetExplicitMinSize(BSize(minimumWidth, B_SIZE_UNSET));
 
-       Update();
-               // Populate the fields
+       fNetworkMenuField = new BMenuField(B_TRANSLATE("Network:"), new BMenu(
+               B_TRANSLATE("Choose automatically")));
+       fNetworkMenuField->SetAlignment(B_ALIGN_RIGHT);
+       fNetworkMenuField->Menu()->SetLabelFromMarked(true);
 
        BLayoutBuilder::Group<>(this)
                .AddGrid()
                        .Add(status, 0, 0)
                        .Add(fStatusField, 1, 0)
-                       .Add(macAddress, 0, 1)
-                       .Add(fMacAddressField, 1, 1)
-                       .Add(linkSpeed, 0, 2)
-                       .Add(fLinkSpeedField, 1, 2)
-                       .Add(linkTx, 0, 3)
-                       .Add(fLinkTxField, 1, 3)
-                       .Add(linkRx, 0, 4)
-                       .Add(fLinkRxField, 1, 4)
+                       .Add(fNetworkMenuField->CreateLabelLayoutItem(), 0, 1)
+                       .Add(fNetworkMenuField->CreateMenuBarLayoutItem(), 1, 1)
+                       .Add(macAddress, 0, 2)
+                       .Add(fMacAddressField, 1, 2)
+                       .Add(linkSpeed, 0, 3)
+                       .Add(fLinkSpeedField, 1, 3)
+                       .Add(linkTx, 0, 4)
+                       .Add(fLinkTxField, 1, 4)
+                       .Add(linkRx, 0, 5)
+                       .Add(fLinkRxField, 1, 5)
                .End()
                .AddGlue()
                .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING,
@@ -104,7 +112,8 @@ InterfaceHardwareView::~InterfaceHardwareView()
 void
 InterfaceHardwareView::AttachedToWindow()
 {
-
+       Update();
+               // Populate the fields
 }
 
 
@@ -112,6 +121,11 @@ void
 InterfaceHardwareView::MessageReceived(BMessage* message)
 {
        switch (message->what) {
+               case kMsgNetwork:
+               {
+                       
fSettings->SetWirelessNetwork(message->FindString("name"));
+                       break;
+               }
                default:
                        BView::MessageReceived(message);
        }
@@ -163,6 +177,62 @@ InterfaceHardwareView::Update()
                stats.receive.bytes / 1024);
        fLinkRxField->SetText(buffer);
 
+       // TODO move the wireless info to a separate tab. We should have a
+       // BListView of available networks, rather than a menu, to make them 
more
+       // readable and easier to browse and select.
+       if (fNetworkMenuField->IsHidden(fNetworkMenuField)
+               && fSettings->IsWireless()) {
+               fNetworkMenuField->Show();
+       } else if (!fNetworkMenuField->IsHidden(fNetworkMenuField)
+               && !fSettings->IsWireless()) {
+               fNetworkMenuField->Hide();
+       }
+
+       if (fSettings->IsWireless()) {
+               // Rebuild network menu
+               BMenu* menu = fNetworkMenuField->Menu();
+               menu->RemoveItems(0, menu->CountItems(), true);
+
+               std::set<BNetworkAddress> associated;
+               BNetworkAddress address;
+               uint32 cookie = 0;
+               while (fSettings->GetNextAssociatedNetwork(cookie, address) == 
B_OK)
+                       associated.insert(address);
+
+               wireless_network network;
+               int32 count = 0;
+               cookie = 0;
+               while (fSettings->GetNextNetwork(cookie, network) == B_OK) {
+                       BMessage* message = new BMessage(kMsgNetwork);
+
+                       message->AddString("device", fSettings->Name());
+                       message->AddString("name", network.name);
+
+                       BMenuItem* item = new 
WirelessNetworkMenuItem(network.name,
+                               network.signal_strength,
+                               network.authentication_mode, message);
+                       if (associated.find(network.address) != 
associated.end())
+                               item->SetMarked(true);
+                       menu->AddItem(item);
+
+                       count++;
+               }
+               if (count == 0) {
+                       BMenuItem* item = new BMenuItem(
+                               B_TRANSLATE("<no wireless networks found>"), 
NULL);
+                       item->SetEnabled(false);
+                       menu->AddItem(item);
+               } else {
+                       BMenuItem* item = new BMenuItem(
+                               B_TRANSLATE("Choose automatically"), NULL);
+                       if (menu->FindMarked() == NULL)
+                               item->SetMarked(true);
+                       menu->AddItem(item, 0);
+                       menu->AddItem(new BSeparatorItem(), 1);
+               }
+               menu->SetTargetForItems(this);
+       }
+
        return B_OK;
 }
 
diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h
index 09c8859..d6a7384 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h
@@ -15,6 +15,7 @@
 #include <GroupView.h>
 
 
+class BMenuField;
 class BMessage;
 class BRect;
 class BStringView;
@@ -42,6 +43,8 @@ private:
                        BStringView*            fLinkSpeedField;
                        BStringView*            fLinkTxField;
                        BStringView*            fLinkRxField;
+
+                       BMenuField*                     fNetworkMenuField;
 };
 
 
diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.h 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.h
index 749f594..57aeda2 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.h
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.h
@@ -21,8 +21,7 @@
 
 
 enum {
-       MSG_IP_SAVE = 'ipap',
-       MSG_IP_REVERT = 'iprv'
+       kMsgNetwork = 'netw'
 };
 
 
diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp
index 0851c13..8a916fb 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp
@@ -95,8 +95,6 @@ InterfacesAddOn::CreateView()
                        .AddGlue()
                        .Add(fRenegotiate)
                .End()
-               .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING,
-                       B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING)
        );
 
        return this;
diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.cpp 
b/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.cpp
index c538f6d..97771bd 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.cpp
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.cpp
@@ -286,6 +286,9 @@ void
 NetworkSettings::SetConfiguration()
 {
        printf("Setting %s\n", Name());
+
+       fNetworkDevice->JoinNetwork(WirelessNetwork());
+
        for (int index = 0; index < MAX_PROTOCOLS; index++) {
                int inet_id = fProtocols[index].inet_id;
                if (fProtocols[index].present) {
@@ -362,3 +365,19 @@ NetworkSettings::HardwareAddress()
 
        return NULL;
 }
+
+
+status_t
+NetworkSettings::GetNextAssociatedNetwork(uint32& cookie,
+       BNetworkAddress& address)
+{
+       return fNetworkDevice->GetNextAssociatedNetwork(cookie, address);
+}
+
+
+status_t
+NetworkSettings::GetNextNetwork(uint32& cookie, wireless_network& network)
+{
+       return fNetworkDevice->GetNextNetwork(cookie, network);
+}
+
diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.h 
b/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.h
index 0ecce14..e2ed804 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.h
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.h
@@ -61,8 +61,8 @@ public:
                        void                            SetDisabled(bool 
disabled)
                                                                        { 
fDisabled = disabled; }
 
-//                     void                            
SetWirelessNetwork(const char* name)
-//                                                                     { 
fWirelessNetwork.SetTo(name); }
+                       void                            
SetWirelessNetwork(const char* name)
+                                                                       { 
fWirelessNetwork.SetTo(name); }
 //                     void                            SetDomain(const 
BString& domain)
 //                                                                     { 
fDomain = domain; }
 
@@ -98,6 +98,10 @@ public:
                        const char*                     HardwareAddress();
 
                        const BString&          WirelessNetwork() { return 
fWirelessNetwork; }
+                       status_t                        
GetNextAssociatedNetwork(uint32& cookie,
+                                                                       
BNetworkAddress& address);
+                       status_t                        GetNextNetwork(uint32& 
cookie,
+                                                                       
wireless_network& network);
 
                        BObjectList<BString>& NameServers() { return 
fNameServers; }
 
diff --git a/src/tests/kits/net/preflet/Jamfile 
b/src/tests/kits/net/preflet/Jamfile
index 634c029..c9675da 100644
--- a/src/tests/kits/net/preflet/Jamfile
+++ b/src/tests/kits/net/preflet/Jamfile
@@ -1,10 +1,16 @@
 SubDir HAIKU_TOP src tests kits net preflet ;
+SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src apps networkstatus ] ;
 
 Preference NetworkSetup :
        NetworkSetup.cpp
        NetworkSetupWindow.cpp
        NetworkSetupProfile.cpp
        NetworkSetupAddOn.cpp
+
+       # from NetworkStatus
+       RadioView.cpp
+       WirelessNetworkMenuItem.cpp
+
        : be root [ TargetLibstdc++ ] localestub
        : NetworkSetup.rdef
 ;


Other related posts:

  • » [haiku-commits] haiku: hrev47884 - in src/tests/kits/net/preflet/InterfacesAddOn: . src/tests/kits/net/preflet - pulkomandy