[haiku-commits] haiku: hrev54957 - src/add-ons/network_settings/dnsclient

  • From: Adrien Destugues <pulkomandy@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 13 Feb 2021 19:30:56 +0000 (UTC)

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();


Other related posts:

  • » [haiku-commits] haiku: hrev54957 - src/add-ons/network_settings/dnsclient - Adrien Destugues