add a quick "None" option to the Address mode setting as proposed by DeadYak
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40523 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
71947e478c
commit
8c3c490801
@ -35,6 +35,9 @@ InterfaceAddressView::InterfaceAddressView(BRect frame, const char* name,
|
|||||||
new BMessage(AUTOSEL_MSG)));
|
new BMessage(AUTOSEL_MSG)));
|
||||||
fModePopUpMenu->AddItem(new BMenuItem("Static",
|
fModePopUpMenu->AddItem(new BMenuItem("Static",
|
||||||
new BMessage(STATICSEL_MSG)));
|
new BMessage(STATICSEL_MSG)));
|
||||||
|
fModePopUpMenu->AddSeparatorItem();
|
||||||
|
fModePopUpMenu->AddItem(new BMenuItem("None",
|
||||||
|
new BMessage(NONESEL_MSG)));
|
||||||
|
|
||||||
fModeField = new BMenuField(frame, "mode", "Mode:",
|
fModeField = new BMenuField(frame, "mode", "Mode:",
|
||||||
fModePopUpMenu, B_FOLLOW_LEFT_RIGHT | B_FOLLOW_TOP, B_WILL_DRAW);
|
fModePopUpMenu, B_FOLLOW_LEFT_RIGHT | B_FOLLOW_TOP, B_WILL_DRAW);
|
||||||
@ -92,6 +95,12 @@ InterfaceAddressView::MessageReceived(BMessage* message)
|
|||||||
case STATICSEL_MSG:
|
case STATICSEL_MSG:
|
||||||
_EnableFields(true);
|
_EnableFields(true);
|
||||||
break;
|
break;
|
||||||
|
case NONESEL_MSG:
|
||||||
|
_EnableFields(false);
|
||||||
|
fAddressField->SetText("");
|
||||||
|
fNetmaskField->SetText("");
|
||||||
|
fGatewayField->SetText("");
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
BView::MessageReceived(message);
|
BView::MessageReceived(message);
|
||||||
}
|
}
|
||||||
@ -111,14 +120,24 @@ status_t
|
|||||||
InterfaceAddressView::RevertFields()
|
InterfaceAddressView::RevertFields()
|
||||||
{
|
{
|
||||||
// Populate address fields with current settings
|
// Populate address fields with current settings
|
||||||
|
|
||||||
const char* currMode = fSettings->AutoConfigure() ? "Automatic" : "Static";
|
const char* currMode = fSettings->AutoConfigure() ? "Automatic" : "Static";
|
||||||
BMenuItem* item = fModePopUpMenu->FindItem(currMode);
|
|
||||||
if (item)
|
|
||||||
item->SetMarked(true);
|
|
||||||
|
|
||||||
_EnableFields(!fSettings->AutoConfigure());
|
_EnableFields(!fSettings->AutoConfigure());
|
||||||
// if Autoconfigured, disable address fields until changed
|
// if Autoconfigured, disable address fields until changed
|
||||||
|
|
||||||
|
// TODO : AutoConfigure needs to be based on family
|
||||||
|
if (fSettings->IPAddr(fFamily).IsEmpty()
|
||||||
|
&& !fSettings->AutoConfigure())
|
||||||
|
{
|
||||||
|
currMode = "None";
|
||||||
|
_EnableFields(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
BMenuItem* item = fModePopUpMenu->FindItem(currMode);
|
||||||
|
if (item)
|
||||||
|
item->SetMarked(true);
|
||||||
|
|
||||||
fAddressField->SetText(fSettings->IP(fFamily));
|
fAddressField->SetText(fSettings->IP(fFamily));
|
||||||
fNetmaskField->SetText(fSettings->Netmask(fFamily));
|
fNetmaskField->SetText(fSettings->Netmask(fFamily));
|
||||||
fGatewayField->SetText(fSettings->Gateway(fFamily));
|
fGatewayField->SetText(fSettings->Gateway(fFamily));
|
||||||
|
@ -20,7 +20,8 @@
|
|||||||
|
|
||||||
enum {
|
enum {
|
||||||
AUTOSEL_MSG = 'iato',
|
AUTOSEL_MSG = 'iato',
|
||||||
STATICSEL_MSG = 'istc'
|
STATICSEL_MSG = 'istc',
|
||||||
|
NONESEL_MSG = 'inon'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user