diff --git a/src/apps/networkstatus/NetworkStatus.rdef b/src/apps/networkstatus/NetworkStatus.rdef index c2d9389f95..d78e346232 100644 --- a/src/apps/networkstatus/NetworkStatus.rdef +++ b/src/apps/networkstatus/NetworkStatus.rdef @@ -14,7 +14,7 @@ resource app_version { internal = 0, short_info = "NetworkStatus", - long_info = "NetworkStatus ©2007-2009 Haiku" + long_info = "NetworkStatus ©2007-2013 Haiku" }; resource vector_icon { diff --git a/src/apps/networkstatus/NetworkStatusView.cpp b/src/apps/networkstatus/NetworkStatusView.cpp index a0415069cf..0ac56dc410 100644 --- a/src/apps/networkstatus/NetworkStatusView.cpp +++ b/src/apps/networkstatus/NetworkStatusView.cpp @@ -414,8 +414,7 @@ NetworkStatusView::MouseDown(BPoint point) message->AddFlat("address", &network.address); BMenuItem* item = new WirelessNetworkMenuItem(network.name, - network.signal_strength, - (network.flags & B_NETWORK_IS_ENCRYPTED) != 0, message); + network.signal_strength, network.authentication_mode, message); menu->AddItem(item); if (associated.find(network.address) != associated.end()) item->SetMarked(true); diff --git a/src/apps/networkstatus/WirelessNetworkMenuItem.cpp b/src/apps/networkstatus/WirelessNetworkMenuItem.cpp index 043f293171..0ee634583a 100644 --- a/src/apps/networkstatus/WirelessNetworkMenuItem.cpp +++ b/src/apps/networkstatus/WirelessNetworkMenuItem.cpp @@ -6,16 +6,29 @@ #include "WirelessNetworkMenuItem.h" +#include +#include +#include + #include "RadioView.h" +#undef B_TRANSLATION_CONTEXT +#define B_TRANSLATION_CONTEXT "WirelessNetworkMenuItem" + WirelessNetworkMenuItem::WirelessNetworkMenuItem(const char* name, - int32 signalQuality, bool encrypted, BMessage* message) + int32 signalQuality, int32 authenticationMode, BMessage* message) : BMenuItem(name, message), - fQuality(signalQuality), - fIsEncrypted(encrypted) + fQuality(signalQuality) { + // Append authentication mode to label + BString label = B_TRANSLATE("%name% (%authenticationMode%)"); + label.Replace("%name%", name, 1); + label.Replace("%authenticationMode%", + AuthenticationName(authenticationMode), 1); + + SetLabel(label.String()); } @@ -30,6 +43,28 @@ WirelessNetworkMenuItem::SetSignalQuality(int32 quality) fQuality = quality; } +BString +WirelessNetworkMenuItem::AuthenticationName(int32 mode) +{ + switch (mode) { + default: + case B_NETWORK_AUTHENTICATION_NONE: + return B_TRANSLATE_CONTEXT("open", "Open network"); + break; + case B_NETWORK_AUTHENTICATION_WEP: + return B_TRANSLATE_CONTEXT("WEP", "WEP protected network"); + break; + case B_NETWORK_AUTHENTICATION_WPA: + return B_TRANSLATE_CONTEXT("WPA", "WPA protected network"); + break; + case B_NETWORK_AUTHENTICATION_WPA2: + return B_TRANSLATE_CONTEXT("WPA2", "WPA2 protected network"); + break; + case B_NETWORK_AUTHENTICATION_EAP: + return B_TRANSLATE_CONTEXT("EAP", "EAP protected network"); + break; + } +} void WirelessNetworkMenuItem::DrawContent() diff --git a/src/apps/networkstatus/WirelessNetworkMenuItem.h b/src/apps/networkstatus/WirelessNetworkMenuItem.h index 83e18f98d5..4e04817e67 100644 --- a/src/apps/networkstatus/WirelessNetworkMenuItem.h +++ b/src/apps/networkstatus/WirelessNetworkMenuItem.h @@ -12,15 +12,14 @@ class WirelessNetworkMenuItem : public BMenuItem { public: WirelessNetworkMenuItem(const char* name, - int32 signalQuality, bool encrypted, + int32 signalQuality, int32 authenticationMode, BMessage* message); virtual ~WirelessNetworkMenuItem(); void SetSignalQuality(int32 quality); int32 SignalQuality() const { return fQuality; } - bool IsEncrypted() const - { return fIsEncrypted; } + BString AuthenticationName(int32 mode); protected: virtual void DrawContent(); @@ -30,7 +29,6 @@ protected: private: int32 fQuality; - bool fIsEncrypted; };