Skip to content
New issue

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

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

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

@achow101
Copy link
Member

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

@fanquake

This comment has been minimized.

Copy link
Member

commented Oct 4, 2016

OS X screenshots:
Current
before
8874
after

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

@paveljanik

This comment has been minimized.

Copy link
Contributor

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.

@luke-jr

This comment has been minimized.

Copy link
Member

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.

@achow101 achow101 force-pushed the achow101:peer-multiselect branch Oct 4, 2016

@achow101

This comment has been minimized.

Copy link
Member Author

commented Oct 4, 2016

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

@laanwj

This comment has been minimized.

Copy link
Member

commented Oct 5, 2016

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

@laanwj

This comment has been minimized.

Copy link
Member

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?

@achow101

This comment has been minimized.

Copy link
Member Author

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.

@achow101 achow101 force-pushed the achow101:peer-multiselect branch Oct 5, 2016

@achow101

This comment has been minimized.

Copy link
Member Author

commented Oct 5, 2016

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

@jonasschnelli

This comment has been minimized.

Copy link
Member

commented Oct 8, 2016

Needs rebase.

@achow101 achow101 force-pushed the achow101:peer-multiselect branch Oct 8, 2016

@achow101

This comment has been minimized.

Copy link
Member Author

commented Oct 8, 2016

rebased

@jonasschnelli
Copy link
Member

left a comment

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 Outdated
if(!LookupHost(addr.c_str(), resolved, false))
continue;
g_connman->Ban(resolved, BanReasonManuallyAdded, bantime);
clearSelectedNode();

This comment has been minimized.

Copy link
@jonasschnelli

jonasschnelli Oct 9, 2016

Member

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

This comment has been minimized.

Copy link
@achow101

achow101 Oct 9, 2016

Author Member

Done

@achow101 achow101 force-pushed the achow101:peer-multiselect branch Oct 9, 2016

@achow101

This comment has been minimized.

Copy link
Member Author

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.

@rebroad

This comment has been minimized.

Copy link
Contributor

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)?

@achow101

This comment has been minimized.

Copy link
Member Author

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: bitcoin#8874
Rebased-From: db749626ff7b8a64e6f157d58614e0726cf1795e
@jonasschnelli

This comment has been minimized.

Copy link
Member

commented Nov 8, 2016

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

@achow101

This comment has been minimized.

Copy link
Member Author

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.

@achow101 achow101 force-pushed the achow101:peer-multiselect branch to addfdeb Nov 8, 2016

@achow101

This comment has been minimized.

Copy link
Member Author

commented Nov 8, 2016

rebased.

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

@achow101

This comment has been minimized.

Copy link
Member Author

commented Nov 8, 2016

I think I fixed the problem.

@achow101 achow101 force-pushed the achow101:peer-multiselect branch to 1077577 Nov 8, 2016

@achow101

This comment has been minimized.

Copy link
Member Author

commented Nov 8, 2016

Actually fixed it this time.

@paveljanik

This comment has been minimized.

Copy link
Contributor

commented Nov 8, 2016

ACK 1077577

@laanwj

This comment has been minimized.

Copy link
Member

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)
@jonasschnelli

This comment has been minimized.

Copy link
Member

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: bitcoin#8874
Rebased-From: addfdeb
luke-jr added a commit to bitcoinknots/bitcoin that referenced this pull request Dec 21, 2016

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

codablock added a commit to codablock/dash that referenced this pull request Sep 11, 2017
Merge bitcoin#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 bitcoin#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 bitcoin#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 bitcoin#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 bitcoin#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 bitcoin#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 bitcoin#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 bitcoin#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 bitcoin#8906: [qt] sync-overlay: Don't show progress twice

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

* Merge bitcoin#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 bitcoin#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 bitcoin#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 bitcoin#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 bitcoin#9528: [qt] Rename formateNiceTimeOffset(qint64) to formatNiceTimeOffset(qint64)

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

* Merge bitcoin#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
Projects
None yet
7 participants
You can’t perform that action at this time.