Network: disabling/enabling devices is now working.
* Disabled the "renegotiate" button for now -- this will move to the interface add-ons, at least some day.
This commit is contained in:
@@ -85,12 +85,12 @@ InterfaceView::InterfaceView()
|
|||||||
fNetworkMenuField->Menu()->SetLabelFromMarked(true);
|
fNetworkMenuField->Menu()->SetLabelFromMarked(true);
|
||||||
|
|
||||||
// Construct the BButtons
|
// Construct the BButtons
|
||||||
fOnOff = new BButton("onoff", B_TRANSLATE("Disable"),
|
fToggleButton = new BButton("onoff", B_TRANSLATE("Disable"),
|
||||||
new BMessage(kMsgInterfaceToggle));
|
new BMessage(kMsgInterfaceToggle));
|
||||||
|
|
||||||
fRenegotiate = new BButton("heal", B_TRANSLATE("Renegotiate"),
|
fRenegotiateButton = new BButton("heal", B_TRANSLATE("Renegotiate"),
|
||||||
new BMessage(kMsgInterfaceRenegotiate));
|
new BMessage(kMsgInterfaceRenegotiate));
|
||||||
fRenegotiate->SetEnabled(false);
|
fRenegotiateButton->SetEnabled(false);
|
||||||
|
|
||||||
BLayoutBuilder::Group<>(this)
|
BLayoutBuilder::Group<>(this)
|
||||||
.AddGrid()
|
.AddGrid()
|
||||||
@@ -110,8 +110,8 @@ InterfaceView::InterfaceView()
|
|||||||
.AddGlue()
|
.AddGlue()
|
||||||
.AddGroup(B_HORIZONTAL)
|
.AddGroup(B_HORIZONTAL)
|
||||||
.AddGlue()
|
.AddGlue()
|
||||||
.Add(fOnOff)
|
.Add(fToggleButton)
|
||||||
.Add(fRenegotiate)
|
.Add(fRenegotiateButton)
|
||||||
.End();
|
.End();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,8 +134,8 @@ InterfaceView::AttachedToWindow()
|
|||||||
_Update();
|
_Update();
|
||||||
// Populate the fields
|
// Populate the fields
|
||||||
|
|
||||||
fOnOff->SetTarget(this);
|
fToggleButton->SetTarget(this);
|
||||||
fRenegotiate->SetTarget(this);
|
fRenegotiateButton->SetTarget(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -161,8 +161,15 @@ InterfaceView::MessageReceived(BMessage* message)
|
|||||||
}
|
}
|
||||||
case kMsgInterfaceToggle:
|
case kMsgInterfaceToggle:
|
||||||
{
|
{
|
||||||
// TODO: disable/enable interface
|
// Disable/enable interface
|
||||||
_Update();
|
uint32 flags = fInterface.Flags();
|
||||||
|
if ((flags & IFF_UP) != 0)
|
||||||
|
flags &= ~IFF_UP;
|
||||||
|
else
|
||||||
|
flags |= IFF_UP;
|
||||||
|
|
||||||
|
if (fInterface.SetFlags(flags) == B_OK)
|
||||||
|
_Update();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,6 +193,8 @@ InterfaceView::Pulse()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*! Populate fields with current settings.
|
||||||
|
*/
|
||||||
status_t
|
status_t
|
||||||
InterfaceView::_Update(bool updateWirelessNetworks)
|
InterfaceView::_Update(bool updateWirelessNetworks)
|
||||||
{
|
{
|
||||||
@@ -193,7 +202,6 @@ InterfaceView::_Update(bool updateWirelessNetworks)
|
|||||||
bool isWireless = device.IsWireless();
|
bool isWireless = device.IsWireless();
|
||||||
bool disabled = (fInterface.Flags() & IFF_UP) == 0;
|
bool disabled = (fInterface.Flags() & IFF_UP) == 0;
|
||||||
|
|
||||||
// Populate fields with current settings
|
|
||||||
if (fInterface.HasLink()) {
|
if (fInterface.HasLink()) {
|
||||||
if (isWireless) {
|
if (isWireless) {
|
||||||
// TODO!
|
// TODO!
|
||||||
@@ -286,8 +294,8 @@ InterfaceView::_Update(bool updateWirelessNetworks)
|
|||||||
menu->SetTargetForItems(this);
|
menu->SetTargetForItems(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
fRenegotiate->SetEnabled(!disabled);
|
//fRenegotiateButton->SetEnabled(!disabled);
|
||||||
fOnOff->SetLabel(disabled ? "Enable" : "Disable");
|
fToggleButton->SetLabel(disabled ? "Enable" : "Disable");
|
||||||
|
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,8 +48,8 @@ private:
|
|||||||
|
|
||||||
BMenuField* fNetworkMenuField;
|
BMenuField* fNetworkMenuField;
|
||||||
|
|
||||||
BButton* fOnOff;
|
BButton* fToggleButton;
|
||||||
BButton* fRenegotiate;
|
BButton* fRenegotiateButton;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user