Author: kallisti5 Date: 2011-02-15 21:24:49 +0100 (Tue, 15 Feb 2011) New Revision: 40520 Changeset: http://dev.haiku-os.org/changeset/40520 Modified: haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd_private.h haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.h haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.h haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesListView.h haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/StatusAddOn.cpp Log: radeon_hd: small style header style fixes as per axel-- networkSetup: prevented enable/disable button from hiding; disable configure button if interface is disabled; add configuration mode dropdown (auto(dhcp)/static); make address fields disable (with curent settings shown) if auto-config is selected; style cleanup Modified: haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp 2011-02-15 19:58:00 UTC (rev 40519) +++ haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp 2011-02-15 20:24:49 UTC (rev 40520) @@ -8,6 +8,7 @@ * Clemens Zeidler, <haiku@xxxxxxxxxxxxxxxxxx> */ + #include "driver.h" #include "device.h" #include "lock.h" Modified: haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp 2011-02-15 19:58:00 UTC (rev 40519) +++ haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp 2011-02-15 20:24:49 UTC (rev 40520) @@ -7,6 +7,7 @@ * Clemens Zeidler, haiku@xxxxxxxxxxxxxxxxxx */ + #include "radeon_hd.h" #include "AreaKeeper.h" Modified: haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd_private.h =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd_private.h 2011-02-15 19:58:00 UTC (rev 40519) +++ haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd_private.h 2011-02-15 20:24:49 UTC (rev 40520) @@ -6,7 +6,6 @@ * Axel Dörfler, axeld@xxxxxxxxxxxxxxxx * Clemens Zeidler, haiku@xxxxxxxxxxxxxxxxxx */ - #ifndef RADEON_RD_PRIVATE_H #define RADEON_RD_PRIVATE_H Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp 2011-02-15 19:58:00 UTC (rev 40519) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp 2011-02-15 20:24:49 UTC (rev 40520) @@ -6,11 +6,13 @@ * Alexander von Gluck, kallisti5@xxxxxxxxxxx */ + #include "InterfaceAddressView.h" #include "NetworkSettings.h" #include <GroupLayout.h> #include <GroupLayoutBuilder.h> +#include <MenuItem.h> #include <StringView.h> @@ -27,6 +29,16 @@ SetLayout(new BGroupLayout(B_VERTICAL)); // Create our controls + fModePopUpMenu = new BPopUpMenu("modes"); + + fModePopUpMenu->AddItem(new BMenuItem("Automatic", + new BMessage(AUTOSEL_MSG))); + fModePopUpMenu->AddItem(new BMenuItem("Static", + new BMessage(STATICSEL_MSG))); + + fModeField = new BMenuField(frame, "mode", "Mode:", + fModePopUpMenu, B_FOLLOW_LEFT_RIGHT | B_FOLLOW_TOP, B_WILL_DRAW); + fAddressField = new BTextControl(frame, "address", "IP Address:", NULL, NULL, B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW); fNetmaskField = new BTextControl(frame, "netmask", "Netmask:", @@ -41,11 +53,13 @@ RevertFields(); // Do the initial field population + fModeField->SetDivider(labelSize); fAddressField->SetDivider(labelSize); fNetmaskField->SetDivider(labelSize); fGatewayField->SetDivider(labelSize); AddChild(BGroupLayoutBuilder(B_VERTICAL, 10) + .Add(fModeField) .Add(fAddressField) .Add(fNetmaskField) .Add(fGatewayField) @@ -61,10 +75,50 @@ } +void +InterfaceAddressView::AttachedToWindow() +{ + fModePopUpMenu->SetTargetForItems(this); +} + + +void +InterfaceAddressView::MessageReceived(BMessage* message) +{ + switch (message->what) { + case AUTOSEL_MSG: + _EnableFields(false); + break; + case STATICSEL_MSG: + _EnableFields(true); + break; + default: + BView::MessageReceived(message); + } +} + + +void +InterfaceAddressView::_EnableFields(bool enabled) +{ + fAddressField->SetEnabled(enabled); + fNetmaskField->SetEnabled(enabled); + fGatewayField->SetEnabled(enabled); +} + + status_t InterfaceAddressView::RevertFields() { // Populate address fields with current settings + const char* currMode = fSettings->AutoConfigure() ? "Automatic" : "Static"; + BMenuItem* item = fModePopUpMenu->FindItem(currMode); + if (item) + item->SetMarked(true); + + _EnableFields(!fSettings->AutoConfigure()); + // if Autoconfigured, disable address fields until changed + fAddressField->SetText(fSettings->IP(fFamily)); fNetmaskField->SetText(fSettings->Netmask(fFamily)); fGatewayField->SetText(fSettings->Gateway(fFamily)); Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h 2011-02-15 19:58:00 UTC (rev 40519) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h 2011-02-15 20:24:49 UTC (rev 40520) @@ -5,29 +5,44 @@ * Authors: * Alexander von Gluck, kallisti5@xxxxxxxxxxx */ - #ifndef INTERFACE_ADDRESS_VIEW_H #define INTERFACE_ADDRESS_VIEW_H + #include "NetworkSettings.h" +#include <MenuField.h> +#include <PopUpMenu.h> #include <Screen.h> +#include <TextControl.h> #include <View.h> -#include <TextControl.h> +enum { + AUTOSEL_MSG = 'iato', + STATICSEL_MSG = 'istc' +}; + + class InterfaceAddressView : public BView { public: InterfaceAddressView(BRect frame, const char* name, int family, NetworkSettings* settings); virtual ~InterfaceAddressView(); + virtual void MessageReceived(BMessage* message); + virtual void AttachedToWindow(); status_t RevertFields(); + private: + void _EnableFields(bool enabled); + NetworkSettings* fSettings; int fFamily; + BPopUpMenu* fModePopUpMenu; + BMenuField* fModeField; BTextControl* fAddressField; BTextControl* fNetmaskField; BTextControl* fGatewayField; Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp 2011-02-15 19:58:00 UTC (rev 40519) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp 2011-02-15 20:24:49 UTC (rev 40520) @@ -11,6 +11,7 @@ #include <Application.h> + #undef B_TRANSLATE_CONTEXT #define B_TRANSLATE_CONTEXT "NetworkSetupWindow" Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.h =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.h 2011-02-15 19:58:00 UTC (rev 40519) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.h 2011-02-15 20:24:49 UTC (rev 40520) @@ -5,11 +5,10 @@ * Authors: * Alexander von Gluck, kallisti5@xxxxxxxxxxx */ - - #ifndef INTERFACE_WINDOW_H #define INTERFACE_WINDOW_H + #include "NetworkSettings.h" #include "InterfaceAddressView.h" Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp 2011-02-15 19:58:00 UTC (rev 40519) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp 2011-02-15 20:24:49 UTC (rev 40520) @@ -81,7 +81,7 @@ fOnOff = new BButton(intViewRect, "onoff", "Disable", new BMessage(ONOFF_INTERFACE_MSG)); - fOnOff->Hide(); + fOnOff->SetEnabled(false); // Build the layout SetLayout(new BGroupLayout(B_VERTICAL)); @@ -107,7 +107,6 @@ fListview->SetTarget(this); fConfigure->SetTarget(this); fOnOff->SetTarget(this); - } @@ -122,14 +121,12 @@ switch (msg->what) { case INTERFACE_SELECTED_MSG: { - fConfigure->SetEnabled(item != NULL); fOnOff->SetEnabled(item != NULL); - if (item == NULL) { - fOnOff->Hide(); + fConfigure->SetEnabled(item != NULL); + if (!item) break; - } + fConfigure->SetEnabled(!item->IsDisabled()); fOnOff->SetLabel(item->IsDisabled() ? "Enable" : "Disable"); - fOnOff->Show(); break; } @@ -148,6 +145,7 @@ item->SetDisabled(!item->IsDisabled()); fOnOff->SetLabel(item->IsDisabled() ? "Enable" : "Disable"); + fConfigure->SetEnabled(!item->IsDisabled()); fListview->Invalidate(); break; Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.h =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.h 2011-02-15 19:58:00 UTC (rev 40519) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.h 2011-02-15 20:24:49 UTC (rev 40520) @@ -6,17 +6,17 @@ * Philippe Houdoin * Fredrik Modéen */ - - #ifndef INTERFACES_ADDON_H #define INTERFACES_ADDON_H + #include <Box.h> #include <ListView.h> #include <Button.h> #include "NetworkSetupAddOn.h" + class InterfacesAddOn : public NetworkSetupAddOn, public BBox { public: @@ -41,4 +41,6 @@ BButton* fOnOff; }; + #endif /*INTERFACES_ADDON_H*/ + Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesListView.h =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesListView.h 2011-02-15 19:58:00 UTC (rev 40519) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesListView.h 2011-02-15 20:24:49 UTC (rev 40520) @@ -7,11 +7,10 @@ * Fredrik Modéen * Alexander von Gluck, kallisti5@xxxxxxxxxxx */ - - #ifndef INTERFACES_LIST_VIEW_H #define INTERFACES_LIST_VIEW_H + #include <net/if.h> #include <net/if_dl.h> #include <net/if_media.h> Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/StatusAddOn.cpp =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/StatusAddOn.cpp 2011-02-15 19:58:00 UTC (rev 40519) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/StatusAddOn.cpp 2011-02-15 20:24:49 UTC (rev 40520) @@ -4,22 +4,24 @@ * */ -#include <stdlib.h> #include "NetworkSetupAddOn.h" +#include <stdlib.h> + + class StatusAddOn : public NetworkSetupAddOn { public: const char * Name(); }; - const char * StatusAddOn::Name() { return "Status"; } + NetworkSetupAddOn * get_addon() { return new StatusAddOn();