NetworkSetup: move renegociate and disable buttons to HardwareView
The idea is making the interface list a generic list to add some stuff that are not interfaces there (ie services: DNS, FTP, SSH, ...)
This commit is contained in:
parent
afc5d438a7
commit
de6278fec1
|
@ -14,6 +14,7 @@
|
|||
#include "NetworkSettings.h"
|
||||
#include "WirelessNetworkMenuItem.h"
|
||||
|
||||
#include <Button.h>
|
||||
#include <Catalog.h>
|
||||
#include <ControlLook.h>
|
||||
#include <LayoutBuilder.h>
|
||||
|
@ -79,6 +80,14 @@ InterfaceHardwareView::InterfaceHardwareView(NetworkSettings* settings)
|
|||
fNetworkMenuField->SetAlignment(B_ALIGN_RIGHT);
|
||||
fNetworkMenuField->Menu()->SetLabelFromMarked(true);
|
||||
|
||||
// Construct the BButtons
|
||||
fOnOff = new BButton("onoff", B_TRANSLATE("Disable"),
|
||||
new BMessage(kMsgInterfaceToggle));
|
||||
|
||||
fRenegotiate = new BButton("heal", B_TRANSLATE("Renegotiate"),
|
||||
new BMessage(kMsgInterfaceRenegotiate));
|
||||
fRenegotiate->SetEnabled(false);
|
||||
|
||||
BLayoutBuilder::Group<>(this)
|
||||
.AddGrid()
|
||||
.Add(status, 0, 0)
|
||||
|
@ -95,6 +104,11 @@ InterfaceHardwareView::InterfaceHardwareView(NetworkSettings* settings)
|
|||
.Add(fLinkRxField, 1, 5)
|
||||
.End()
|
||||
.AddGlue()
|
||||
.AddGroup(B_HORIZONTAL)
|
||||
.Add(fOnOff)
|
||||
.AddGlue()
|
||||
.Add(fRenegotiate)
|
||||
.End()
|
||||
.SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING,
|
||||
B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING);
|
||||
}
|
||||
|
@ -114,6 +128,9 @@ InterfaceHardwareView::AttachedToWindow()
|
|||
{
|
||||
Update();
|
||||
// Populate the fields
|
||||
|
||||
fOnOff->SetTarget(this);
|
||||
fRenegotiate->SetTarget(this);
|
||||
}
|
||||
|
||||
|
||||
|
@ -126,6 +143,20 @@ InterfaceHardwareView::MessageReceived(BMessage* message)
|
|||
fSettings->SetWirelessNetwork(message->FindString("name"));
|
||||
break;
|
||||
}
|
||||
case kMsgInterfaceToggle:
|
||||
{
|
||||
fSettings->SetDisabled(!fSettings->IsDisabled());
|
||||
Update();
|
||||
Window()->FindView("interfaces")->Invalidate();
|
||||
break;
|
||||
}
|
||||
|
||||
case kMsgInterfaceRenegotiate:
|
||||
{
|
||||
fSettings->RenegotiateAddresses();
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
BView::MessageReceived(message);
|
||||
}
|
||||
|
@ -233,6 +264,9 @@ InterfaceHardwareView::Update()
|
|||
menu->SetTargetForItems(this);
|
||||
}
|
||||
|
||||
fRenegotiate->SetEnabled(!fSettings->IsDisabled());
|
||||
fOnOff->SetLabel(fSettings->IsDisabled() ? "Enable" : "Disable");
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -15,6 +15,11 @@
|
|||
#include <GroupView.h>
|
||||
|
||||
|
||||
static const uint32 kMsgInterfaceToggle = 'onof';
|
||||
static const uint32 kMsgInterfaceRenegotiate = 'redo';
|
||||
|
||||
|
||||
class BButton;
|
||||
class BMenuField;
|
||||
class BMessage;
|
||||
class BRect;
|
||||
|
@ -45,6 +50,9 @@ private:
|
|||
BStringView* fLinkRxField;
|
||||
|
||||
BMenuField* fNetworkMenuField;
|
||||
|
||||
BButton* fOnOff;
|
||||
BButton* fRenegotiate;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -41,6 +41,8 @@ public:
|
|||
void Apply();
|
||||
void Revert();
|
||||
|
||||
NetworkSettings* Settings() { return fNetworkSettings; }
|
||||
|
||||
private:
|
||||
status_t _PopulateTabs();
|
||||
|
||||
|
|
|
@ -76,25 +76,11 @@ InterfacesAddOn::CreateView()
|
|||
BScrollView* scrollView = new BScrollView("scrollView", fListView,
|
||||
B_WILL_DRAW | B_FRAME_EVENTS, false, true);
|
||||
|
||||
// Construct the BButtons
|
||||
fOnOff = new BButton("onoff", B_TRANSLATE("Disable"),
|
||||
new BMessage(kMsgInterfaceToggle));
|
||||
fOnOff->SetEnabled(false);
|
||||
|
||||
fRenegotiate = new BButton("heal", B_TRANSLATE("Renegotiate"),
|
||||
new BMessage(kMsgInterfaceRenegotiate));
|
||||
fRenegotiate->SetEnabled(false);
|
||||
|
||||
// Build the layout
|
||||
SetLayout(new BGroupLayout(B_HORIZONTAL));
|
||||
|
||||
AddChild(BGroupLayoutBuilder(B_VERTICAL, B_USE_DEFAULT_SPACING)
|
||||
.Add(scrollView)
|
||||
.AddGroup(B_HORIZONTAL, B_USE_SMALL_SPACING)
|
||||
.Add(fOnOff)
|
||||
.AddGlue()
|
||||
.Add(fRenegotiate)
|
||||
.End()
|
||||
);
|
||||
|
||||
return this;
|
||||
|
@ -105,8 +91,6 @@ void
|
|||
InterfacesAddOn::AttachedToWindow()
|
||||
{
|
||||
fListView->SetTarget(this);
|
||||
fOnOff->SetTarget(this);
|
||||
fRenegotiate->SetTarget(this);
|
||||
}
|
||||
|
||||
|
||||
|
@ -142,12 +126,8 @@ InterfacesAddOn::MessageReceived(BMessage* msg)
|
|||
switch (msg->what) {
|
||||
case kMsgInterfaceSelected:
|
||||
{
|
||||
fOnOff->SetEnabled(item != NULL);
|
||||
fRenegotiate->SetEnabled(item != NULL);
|
||||
if (item == NULL)
|
||||
break;
|
||||
fRenegotiate->SetEnabled(!item->IsDisabled());
|
||||
fOnOff->SetLabel(item->IsDisabled() ? "Enable" : "Disable");
|
||||
|
||||
// TODO it would be better to reuse the view instead of recreating
|
||||
// one.
|
||||
|
@ -160,27 +140,9 @@ InterfacesAddOn::MessageReceived(BMessage* msg)
|
|||
break;
|
||||
}
|
||||
|
||||
case kMsgInterfaceToggle:
|
||||
{
|
||||
if (item == NULL)
|
||||
break;
|
||||
|
||||
item->SetDisabled(!item->IsDisabled());
|
||||
fOnOff->SetLabel(item->IsDisabled() ? "Enable" : "Disable");
|
||||
fRenegotiate->SetEnabled(!item->IsDisabled());
|
||||
case B_OBSERVER_NOTICE_CHANGE:
|
||||
fListView->Invalidate();
|
||||
break;
|
||||
}
|
||||
|
||||
case kMsgInterfaceRenegotiate:
|
||||
{
|
||||
if (item == NULL)
|
||||
break;
|
||||
|
||||
NetworkSettings* ns = item->GetSettings();
|
||||
ns->RenegotiateAddresses();
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
BBox::MessageReceived(msg);
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
|
||||
static const uint32 kMsgInterfaceSelected = 'ifce';
|
||||
static const uint32 kMsgInterfaceToggle = 'onof';
|
||||
static const uint32 kMsgInterfaceRenegotiate = 'redo';
|
||||
|
||||
|
||||
class BButton;
|
||||
|
@ -46,8 +44,6 @@ public:
|
|||
private:
|
||||
InterfacesListView* fListView;
|
||||
InterfaceView* fSettingsView;
|
||||
BButton* fOnOff;
|
||||
BButton* fRenegotiate;
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue