hrev54957 adds 1 changeset to branch 'master'
old head: 91b9cbbbb0ac6d59a9ee8a06ef859e8ef79e7fcd
new head: e248c98eb8cb3b0521ed3316cb2e1c71a721b1f9
overview:
https://git.haiku-os.org/haiku/log/?qt=range&q=e248c98eb8cb+%5E91b9cbbbb0ac
----------------------------------------------------------------------------
e248c98eb8cb: DNSSettingsView: Disable list buttons when nothing selected
Change-Id: I2ff2ab1b3e29b1a8b217506ae620926f0f51787f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3742
Reviewed-by: Adrien Destugues <pulkomandy@xxxxxxxxx>
[ Jaidyn Ann <jadedctrl@xxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev54957
Commit: e248c98eb8cb3b0521ed3316cb2e1c71a721b1f9
URL: https://git.haiku-os.org/haiku/commit/?id=e248c98eb8cb
Author: Jaidyn Ann <jadedctrl@xxxxxxxxx>
Date: Fri Feb 12 01:25:01 2021 UTC
Committer: Adrien Destugues <pulkomandy@xxxxxxxxx>
Commit-Date: Sat Feb 13 19:30:53 2021 UTC
----------------------------------------------------------------------------
1 file changed, 18 insertions(+)
.../network_settings/dnsclient/DNSSettingsView.cpp | 18 ++++++++++++++++++
----------------------------------------------------------------------------
diff --git a/src/add-ons/network_settings/dnsclient/DNSSettingsView.cpp
b/src/add-ons/network_settings/dnsclient/DNSSettingsView.cpp
index b6294652ea..559754b52e 100644
--- a/src/add-ons/network_settings/dnsclient/DNSSettingsView.cpp
+++ b/src/add-ons/network_settings/dnsclient/DNSSettingsView.cpp
@@ -34,6 +34,7 @@
static const int32 kMsgAddServer = 'adds';
static const int32 kMsgDeleteServer = 'dels';
+static const int32 kMsgSelectServer = 'sels';
static const int32 kMsgMoveUp = 'mvup';
static const int32 kMsgMoveDown = 'mvdn';
static const int32 kMsgApply = 'aply';
@@ -54,6 +55,7 @@ DNSSettingsView::DNSSettingsView(BNetworkSettingsItem* item)
titleView->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNSET));
fServerListView = new BListView("nameservers");
+ fServerListView->SetSelectionMessage(new BMessage(kMsgSelectServer));
const char* serverLabel = B_TRANSLATE("Server:");
fTextControl = new IPAddressControl(AF_UNSPEC, serverLabel, "server");
fTextControl->SetExplicitMinSize(BSize(fTextControl->StringWidth("5") *
16
@@ -63,12 +65,15 @@ DNSSettingsView::DNSSettingsView(BNetworkSettingsItem* item)
fAddButton->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNSET));
fUpButton = new BButton(B_TRANSLATE("Move up"), new
BMessage(kMsgMoveUp));
fUpButton->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNSET));
+ fUpButton->SetEnabled(false);
fDownButton = new BButton(B_TRANSLATE("Move down"),
new BMessage(kMsgMoveDown));
fDownButton->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNSET));
+ fDownButton->SetEnabled(false);
fRemoveButton = new BButton(B_TRANSLATE("Remove"),
new BMessage(kMsgDeleteServer));
fRemoveButton->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED,
B_SIZE_UNSET));
+ fRemoveButton->SetEnabled(false);
fDomain = new BTextControl(B_TRANSLATE("Domain:"), "", NULL);
fApplyButton = new BButton(B_TRANSLATE("Apply"), new
BMessage(kMsgApply));
@@ -143,6 +148,8 @@ DNSSettingsView::AttachedToWindow()
fUpButton->SetTarget(this);
fDownButton->SetTarget(this);
+ fServerListView->SetTarget(this);
+
fTextControl->SetTarget(this);
fApplyButton->SetTarget(this);
@@ -178,6 +185,17 @@ DNSSettingsView::MessageReceived(BMessage* message)
fServerListView->SwapItems(index, index + 1);
break;
}
+ case kMsgSelectServer:
+ {
+ bool enabled = false;
+ if (fServerListView->CurrentSelection() > -1)
+ enabled = true;
+
+ fUpButton->SetEnabled(enabled);
+ fDownButton->SetEnabled(enabled);
+ fRemoveButton->SetEnabled(enabled);
+ break;
+ }
case kMsgApply:
if (_SaveDNSConfiguration() == B_OK)
fItem->NotifySettingsUpdated();