Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Multiple Selection for peer and ban tables #8874

Merged
merged 2 commits into from Nov 9, 2016

Conversation

Projects
None yet
7 participants
Member

achow101 commented Oct 4, 2016

Allows multiple selection and action for the nodes in the peer and ban tables in the Debug Window.

Closes #8864

@fanquake fanquake added the GUI label Oct 4, 2016

Member

fanquake commented Oct 4, 2016

OS X screenshots:
Current
before
8874
after

When multiple nodes are selected the dropdown menu should be "Nodes".

Contributor

paveljanik commented Oct 4, 2016

concept ACK

... or you can change the text to "Disconnect" and "Ban for 1 hour". I think we should use consistent terminology here. The bookmark is called "Peers" and we use "node" here. RPCs are getpeerinfo, addnode. Oops. But at least GUI should be consistent.

Member

luke-jr commented Oct 4, 2016

Our peers are nodes. Different terms for different things. Peer is the relationship, node is the thing.

Truncating the menu items does seem like the simplest approach here, though.

Member

achow101 commented Oct 4, 2016

I've just removed Node so that it says Disconnect, Ban for .., and Unban

Owner

laanwj commented Oct 5, 2016

Probably need #8885 in first to be able to test this re:banning.

Owner

laanwj commented Oct 5, 2016

Have tested d651056
I've been unable to ban/kick multiple peers. Either with Ctrl-click or Shift-click. Is there some other trick?
Ubuntu 16.04, Qt reports as 5.5.1.
It seems like it allows multiple selection (e.g. two nodes can be selected for a fraction of a second) but always ends up selecting the last clicked node. Maybe some rogue event handler?

Member

achow101 commented Oct 5, 2016

Click, hold, and move your mouse across multiple rows. That's what works. I haven't figured out Ctrl+click or Shift+click yet.

Member

achow101 commented Oct 5, 2016

@laanwj 763cc02 should allow for multiple selection with Ctrl-click, shift-click, and click n' drag.

Member

jonasschnelli commented Oct 8, 2016

Needs rebase.

Member

achow101 commented Oct 8, 2016

rebased

Tested a bit. Selecting multiple peers (with shift key or with the mouse) results in some of them getting deselected short after the selection.

src/qt/rpcconsole.cpp
+ if(!LookupHost(addr.c_str(), resolved, false))
+ continue;
+ g_connman->Ban(resolved, BanReasonManuallyAdded, bantime);
+ clearSelectedNode();
@jonasschnelli

jonasschnelli Oct 9, 2016

Member

I think the clearSelectedNode(); and L1008 can be moved out of the for loop

Member

achow101 commented Oct 9, 2016

I'm not sure why some of them get deselected. I noticed that too, but I can't figure out a reason for why that happens.

Contributor

rebroad commented Oct 19, 2016

Can we use keyboard shortcuts for selecting as per GUI standards? I.e. hold down shift while using the a cursor up/down to select multiple, or using spacebar and cursor up/down to toggle whether a node is selected or not (once at least one node is selected)?

Member

achow101 commented Oct 19, 2016

@rebroad It's whatever QAbstractItemView::ExtendedSelection specifies

luke-jr added a commit to bitcoinknots/bitcoin that referenced this pull request Oct 20, 2016

Multiple Selection for peer and ban tables
Allows multiple selection and action for the nodes in the peer and ban tables in the Debug Window.

Github-Pull: #8874
Rebased-From: db74962
Member

jonasschnelli commented Nov 8, 2016

@achow101: Are you planing to finalizing this? IMO there are still the issue with auto-deselecting rows.

Member

achow101 commented Nov 8, 2016

@jonasschnelli Yes, I do plan on finishing this. However, I am having trouble with figuring out why there is auto-deselecting.

Multiple Selection for peer and ban tables
Allows multiple selection and action for the nodes in the peer and ban tables in the Debug Window.
Member

achow101 commented Nov 8, 2016

rebased.

I think I figured out why it was auto-deselecting. It loses the selection after the model is refresehed.

Member

achow101 commented Nov 8, 2016

I think I fixed the problem.

Member

achow101 commented Nov 8, 2016

Actually fixed it this time.

Contributor

paveljanik commented Nov 8, 2016

ACK 1077577

Owner

laanwj commented Nov 9, 2016

Seems to work well enough now. If there are still minor issues with selection they can be fixed later.
ACK 1077577

@laanwj laanwj merged commit 1077577 into bitcoin:master Nov 9, 2016

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

laanwj added a commit that referenced this pull request Nov 9, 2016

Merge #8874: Multiple Selection for peer and ban tables
1077577 Fix auto-deselection of peers (Andrew Chow)
addfdeb Multiple Selection for peer and ban tables (Andrew Chow)
Member

jonasschnelli commented Nov 9, 2016

Post merge ACK.

luke-jr added a commit to bitcoinknots/bitcoin that referenced this pull request Dec 21, 2016

Multiple Selection for peer and ban tables
Allows multiple selection and action for the nodes in the peer and ban tables in the Debug Window.

Github-Pull: #8874
Rebased-From: addfdeb

luke-jr added a commit to bitcoinknots/bitcoin that referenced this pull request Dec 21, 2016

Fix auto-deselection of peers
Github-Pull: #8874
Rebased-From: 1077577

@achow101 achow101 deleted the achow101:peer-multiselect branch Apr 5, 2017

codablock added a commit to codablock/dash that referenced this pull request Sep 9, 2017

Merge #8874: Multiple Selection for peer and ban tables
1077577 Fix auto-deselection of peers (Andrew Chow)
addfdeb Multiple Selection for peer and ban tables (Andrew Chow)

codablock added a commit to codablock/dash that referenced this pull request Sep 11, 2017

Merge #8874: Multiple Selection for peer and ban tables
1077577 Fix auto-deselection of peers (Andrew Chow)
addfdeb Multiple Selection for peer and ban tables (Andrew Chow)

UdjinM6 added a commit to dashpay/dash that referenced this pull request Sep 11, 2017

Backport Bitcoin Qt/Gui changes up to 0.14.x part 3 (#1617)
* Merge #8996: Network activity toggle

19f46f1 Qt: New network_disabled icon (Luke Dashjr)
54cf997 RPC/Net: Use boolean consistently for networkactive, and remove from getinfo (Luke Dashjr)
b2b33d9 Overhaul network activity toggle (Jonas Schnelli)
32efa79 Qt: Add GUI feedback and control of network activity state. (Jon Lund Steffensen)
e38993b RPC: Add "togglenetwork" method to toggle network activity temporarily (Jon Lund Steffensen)
7c9a98a Allow network activity to be temporarily suspended. (Jon Lund Steffensen)

* Revert on-click behavior of network status icon to showing peers list

Stay with the way Dash handled clicking on the status icon

* Add theme support for network disabled icon

* Merge #8874: Multiple Selection for peer and ban tables

1077577 Fix auto-deselection of peers (Andrew Chow)
addfdeb Multiple Selection for peer and ban tables (Andrew Chow)

* Merge #9190: qt: Plug many memory leaks

ed998ea qt: Avoid OpenSSL certstore-related memory leak (Wladimir J. van der Laan)
5204598 qt: Avoid shutdownwindow-related memory leak (Wladimir J. van der Laan)
e4f126a qt: Avoid splash-screen related memory leak (Wladimir J. van der Laan)
693384e qt: Prevent thread/memory leak on exiting RPCConsole (Wladimir J. van der Laan)
47db075 qt: Plug many memory leaks (Wladimir J. van der Laan)

* Merge #9218: qt: Show progress overlay when clicking spinner icon

042f9fa qt: Show progress overlay when clicking spinner icon (Wladimir J. van der Laan)
827d9a3 qt: Replace NetworkToggleStatusBarControl with generic ClickableLabel (Wladimir J. van der Laan)

* Merge #9266: Bugfix: Qt/RPCConsole: Put column enum in the right places

df17fe0 Bugfix: Qt/RPCConsole: Put column enum in the right places (Luke Dashjr)

* Merge #9255: qt: layoutAboutToChange signal is called layoutAboutToBeChanged

f36349e qt: Remove on_toggleNetworkActiveButton_clicked from RPCConsole (Wladimir J. van der Laan)
297cc20 qt: layoutAboutToChange signal is called layoutAboutToBeChanged (Wladimir J. van der Laan)

* Use UniValue until bitcoin PR #8788 is backported

Network active toggle was already based on
"[RPC] Give RPC commands more information about the RPC request"
We need to use the old UniValue style until that one is backported

* Merge #8906: [qt] sync-overlay: Don't show progress twice

fafeec3 [qt] sync-overlay: Don't show progress twice (MarcoFalke)

* Merge #8985: Use pindexBestHeader instead of setBlockIndexCandidates for NotifyHeaderTip()

3154d6e [Qt] use NotifyHeaderTip's height and date for the progress update (Jonas Schnelli)
0a261b6 Use pindexBestHeader instead of setBlockIndexCandidates for NotifyHeaderTip() (Jonas Schnelli)

* Merge #9280: [Qt] Show ModalOverlay by pressing the progress bar, allow hiding

89a3723 [Qt] Show ModalOverlay by pressing the progress bar, disabled show() in sync mode (Jonas Schnelli)

* Merge #9461: [Qt] Improve progress display during headers-sync and peer-finding

40ec7c7 [Qt] Improve progress display during headers-sync and peer-finding (Jonas Schnelli)

* Merge #9588: qt: Use nPowTargetSpacing constant

fa4d478 qt: Use nPowTargetSpacing constant (MarcoFalke)

* Hide modal overlay forever when syncing has catched up

Don't allow to open it again by clicking on the progress bar and spinner
icon. Currently the overlay does not show meaningful information about
masternode sync and it gives the impression of being stuck after the block
chain sync is done.

* Don't include chainparams.h in sendcoinsdialog.cpp

This was just a remainder of a backported PR which meant to change some
calculation in this file which does not apply to Dash.

* Also check for fNetworkActive in ConnectNode

* Merge #9528: [qt] Rename formateNiceTimeOffset(qint64) to formatNiceTimeOffset(qint64)

988d300 [qt] Rename formateNiceTimeOffset(qint64) to formatNiceTimeOffset(qint64) (practicalswift)

* Merge #11237: qt: Fixing division by zero in time remaining

c8d38ab Refactor tipUpdate as per style guide (MeshCollider)
3b69a08 Fix division by zero in time remaining (MeshCollider)

Pull request description:

  Fixes bitcoin#10291, bitcoin#11265

  progressDelta may be 0 (or even negative according to 11265), this checks for that and prints unknown if it is, because we cannot calculate an estimate for the time remaining (would be infinite or negative).

Tree-SHA512: bc5708e5ed6e4670d008219558c5fbb25709bd99a32c98ec39bb74f94a0b7fa058f3d03389ccdd39e6723e6b5b48e34b13ceee7c051c2db631e51d8ec3e1d68c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment