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() {