[haiku-commits] haiku: hrev45454 - src/tests/kits/net/preflet/InterfacesAddOn

  • From: kallisti5@xxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 7 Apr 2013 08:45:13 +0200 (CEST)

hrev45454 adds 4 changesets to branch 'master'
old head: 542de916c4beea64afae32c5bb1501223ea5bb4f
new head: 2895c48c1286e7cc275a023deb291d76af46d62e
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=2895c48+%5E542de91

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

04b7652: NetworkSetup: Build fix. max vs max_c
  
  * max can only be used in C apps.
    C++ apps use max_c

93708c3: NetworkSetup: Spelling: Wirless -> Wireless

960bf99: NetworkSetup: Cleanup headers; No functional change

2895c48: NetworkSetup: Add stats and wifi network name
  
  * Add ability for fSettings to pass on network
    stats
  * Show KB Sent / Received for interface
  * Drop the wireless / wired tab name.
    (we are going to need another tab for wifi)
  * Add wifi network name to connection field
    if interface is wifi.

                          [ Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> ]

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

7 files changed, 65 insertions(+), 16 deletions(-)
.../InterfacesAddOn/InterfaceAddressView.cpp     |  2 +-
.../InterfacesAddOn/InterfaceAddressView.h       |  2 +-
.../InterfacesAddOn/InterfaceHardwareView.cpp    | 56 ++++++++++++++++++--
.../InterfacesAddOn/InterfaceHardwareView.h      |  6 ++-
.../preflet/InterfacesAddOn/InterfaceWindow.cpp  |  9 +---
.../InterfacesAddOn/InterfacesListView.cpp       |  3 +-
.../preflet/InterfacesAddOn/NetworkSettings.h    |  3 ++

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

Commit:      04b7652feade60e83dbced7447f1f142efdbb736
URL:         http://cgit.haiku-os.org/haiku/commit/?id=04b7652
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sun Apr  7 05:15:22 2013 UTC

NetworkSetup: Build fix. max vs max_c

* max can only be used in C apps.
  C++ apps use max_c

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

diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesListView.cpp 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesListView.cpp
index 9d94011..6f38243 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesListView.cpp
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesListView.cpp
@@ -37,6 +37,7 @@
 #include <Resources.h>
 #include <String.h>
 #include <SeparatorItem.h>
+#include <SupportDefs.h>
 #include <Window.h>
 
 #include <AutoDeleter.h>
@@ -224,7 +225,7 @@ InterfaceListItem::Update(BView* owner, const BFont* font)
        fSecondlineOffset = fFirstlineOffset + lineHeight;
        fThirdlineOffset = fFirstlineOffset + (lineHeight * 2);
 
-       SetHeight(max(3 * lineHeight + 4, fIcon->Bounds().Height() + 8));
+       SetHeight(max_c(3 * lineHeight + 4, fIcon->Bounds().Height() + 8));
                // either to the text height or icon height, whichever is taller
 }
 

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

Commit:      93708c3da387ec6759996e18a1420cc9b653bfa5
URL:         http://cgit.haiku-os.org/haiku/commit/?id=93708c3
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sun Apr  7 05:16:50 2013 UTC

NetworkSetup: Spelling: Wirless -> Wireless

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

diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp
index 424c8b6..9f956a1 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp
@@ -108,7 +108,7 @@ InterfaceWindow::_PopulateTabs()
        if (fNetworkSettings->IsEthernet())
                hardwareTab->SetLabel(B_TRANSLATE("Wired"));
        else
-               hardwareTab->SetLabel(B_TRANSLATE("Wirless"));
+               hardwareTab->SetLabel(B_TRANSLATE("Wireless"));
 
        for (int index = 0; index < MAX_PROTOCOLS; index++)
        {

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

Commit:      960bf9918bcab81346547393e698b02193e43d50
URL:         http://cgit.haiku-os.org/haiku/commit/?id=960bf99
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sun Apr  7 05:41:04 2013 UTC

NetworkSetup: Cleanup headers; No functional change

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

diff --git 
a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp
index 83857bd..4ff92bf 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp
@@ -3,7 +3,7 @@
  * Distributed under the terms of the MIT License.
  *
  * Authors:
- *      Alexander von Gluck, kallisti5@xxxxxxxxxxx
+ *             Alexander von Gluck, kallisti5@xxxxxxxxxxx
  *             John Scipione, jscipione@xxxxxxxxx
  */
 
diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h
index 8d700e8..29f12a4 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h
@@ -3,7 +3,7 @@
  * Distributed under the terms of the MIT License.
  *
  * Authors:
- *      Alexander von Gluck, kallisti5@xxxxxxxxxxx
+ *             Alexander von Gluck, kallisti5@xxxxxxxxxxx
  *             John Scipione, jscipione@xxxxxxxxx
  */
 #ifndef INTERFACE_ADDRESS_VIEW_H
diff --git 
a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp
index c5d9e64..dd0ed59 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp
@@ -3,7 +3,7 @@
  * Distributed under the terms of the MIT License.
  *
  * Authors:
- *      Alexander von Gluck, kallisti5@xxxxxxxxxxx
+ *             Alexander von Gluck, kallisti5@xxxxxxxxxxx
  *             John Scipione, jscipione@xxxxxxxxx
  */
 
diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h
index 7e023b7..0d649c0 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h
@@ -3,7 +3,7 @@
  * Distributed under the terms of the MIT License.
  *
  * Authors:
- *      Alexander von Gluck, kallisti5@xxxxxxxxxxx
+ *             Alexander von Gluck, kallisti5@xxxxxxxxxxx
  *             John Scipione, jscipione@xxxxxxxxx
  */
 #ifndef INTERFACE_HARDWARE_VIEW_H

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

Revision:    hrev45454
Commit:      2895c48c1286e7cc275a023deb291d76af46d62e
URL:         http://cgit.haiku-os.org/haiku/commit/?id=2895c48
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sun Apr  7 06:44:37 2013 UTC

NetworkSetup: Add stats and wifi network name

* Add ability for fSettings to pass on network
  stats
* Show KB Sent / Received for interface
* Drop the wireless / wired tab name.
  (we are going to need another tab for wifi)
* Add wifi network name to connection field
  if interface is wifi.

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

diff --git 
a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp
index dd0ed59..16b559c 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp
@@ -22,6 +22,8 @@
 #include <StringView.h>
 #include <TextControl.h>
 
+#include <stdio.h>
+
 
 #undef B_TRANSLATION_CONTEXT
 #define B_TRANSLATION_CONTEXT "IntefaceHardwareView"
@@ -57,7 +59,19 @@ InterfaceHardwareView::InterfaceHardwareView(BRect frame,
        fLinkSpeedField = new BStringView("link speed field", "");
        fLinkSpeedField->SetExplicitMinSize(BSize(minimumWidth, B_SIZE_UNSET));
 
-       Revert();
+       // TODO: These metrics may be better in a BScrollView?
+       BStringView* linkTx = new BStringView("tx label",
+               B_TRANSLATE("Sent:"));
+       linkTx->SetAlignment(B_ALIGN_RIGHT);
+       fLinkTxField = new BStringView("tx field", "");
+       fLinkTxField ->SetExplicitMinSize(BSize(minimumWidth, B_SIZE_UNSET));
+       BStringView* linkRx = new BStringView("rx label",
+               B_TRANSLATE("Received:"));
+       linkRx->SetAlignment(B_ALIGN_RIGHT);
+       fLinkRxField = new BStringView("rx field", "");
+       fLinkRxField ->SetExplicitMinSize(BSize(minimumWidth, B_SIZE_UNSET));
+
+       Update();
                // Populate the fields
 
        BLayoutBuilder::Group<>(this)
@@ -68,6 +82,10 @@ InterfaceHardwareView::InterfaceHardwareView(BRect frame,
                        .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)
                .End()
                .AddGlue()
                .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING,
@@ -107,10 +125,26 @@ InterfaceHardwareView::MessageReceived(BMessage* message)
 status_t
 InterfaceHardwareView::Revert()
 {
+       Update();
+       return B_OK;
+}
+
+
+status_t
+InterfaceHardwareView::Update()
+{
        // Populate fields with current settings
-       if (fSettings->HasLink())
-               fStatusField->SetText(B_TRANSLATE("connected"));
-       else
+       if (fSettings->HasLink()) {
+               if (fSettings->IsWireless()) {
+                       BString network = fSettings->WirelessNetwork();
+                       network.Prepend(" (");
+                       network.Prepend(B_TRANSLATE("connected"));
+                       network.Append(")");
+                       fStatusField->SetText(network.String());
+               } else {
+                       fStatusField->SetText(B_TRANSLATE("connected"));
+               }
+       } else
                fStatusField->SetText(B_TRANSLATE("disconnected"));
 
        fMacAddressField->SetText(fSettings->HardwareAddress());
@@ -118,6 +152,18 @@ InterfaceHardwareView::Revert()
        // TODO : Find how to get link speed
        fLinkSpeedField->SetText("100 Mb/s");
 
+       // Update Link stats
+       ifreq_stats stats;
+       char buffer[100];
+       fSettings->Stats(&stats);
+       snprintf(buffer, sizeof(buffer), B_TRANSLATE("%" B_PRIu64 " KBytes"),
+               stats.send.bytes / 1024);
+       fLinkTxField->SetText(buffer);
+
+       snprintf(buffer, sizeof(buffer), B_TRANSLATE("%" B_PRIu64 " KBytes"),
+               stats.receive.bytes / 1024);
+       fLinkRxField->SetText(buffer);
+
        return B_OK;
 }
 
diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h
index 0d649c0..43ddb79 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h
@@ -31,6 +31,8 @@ public:
                        status_t                        Save();
 
 private:
+                       status_t                        Update();
+
                        void                            _EnableFields(bool 
enabled);
 
                        NetworkSettings*        fSettings;
@@ -38,6 +40,8 @@ private:
                        BStringView*            fStatusField;
                        BStringView*            fMacAddressField;
                        BStringView*            fLinkSpeedField;
+                       BStringView*            fLinkTxField;
+                       BStringView*            fLinkRxField;
 };
 
 
diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp 
b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp
index 9f956a1..38de21a 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp
@@ -104,14 +104,9 @@ InterfaceWindow::_PopulateTabs()
        fTabHardwareView = new InterfaceHardwareView(frame,
                fNetworkSettings);
        fTabView->AddTab(fTabHardwareView, hardwareTab);
+       hardwareTab->SetLabel(B_TRANSLATE("Interface"));
 
-       if (fNetworkSettings->IsEthernet())
-               hardwareTab->SetLabel(B_TRANSLATE("Wired"));
-       else
-               hardwareTab->SetLabel(B_TRANSLATE("Wireless"));
-
-       for (int index = 0; index < MAX_PROTOCOLS; index++)
-       {
+       for (int index = 0; index < MAX_PROTOCOLS; index++) {
                if (supportedFamilies[index].present) {
                        int inet_id = supportedFamilies[index].inet_id;
                        fTabIPView[inet_id] = new InterfaceAddressView(frame,
diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.h 
b/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.h
index d2b476a..0ecce14 100644
--- a/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.h
+++ b/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.h
@@ -83,6 +83,9 @@ public:
 
                        const char*                     Name()  { return 
fName.String(); }
                        const char*                     Domain() { return 
fDomain.String(); }
+                       status_t                        Stats(ifreq_stats* ptr)
+                                                                       { 
return fNetworkInterface->GetStats(*ptr); }
+
                        bool                            IsDisabled() { return 
fDisabled; }
 
                        bool                            IsWireless() {


Other related posts: