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

Add ProgressIndicator control #69

Merged
merged 2 commits into from
Nov 4, 2021

Conversation

promag
Copy link
Contributor

@promag promag commented Oct 22, 2021

Add and use the ProgressIndicator control. It can be seen as a more light version of the ProgressBar control.

The example captures mouse clicks to update the progress.

Windows
macOS

@hebasto hebasto added the UX Designers' opinions are required label Oct 23, 2021
@GBKS
Copy link
Contributor

GBKS commented Oct 25, 2021

Looks good. Any chance that the progress change is animated? So it would smoothly move from one position to the other, with some easing applied maybe?

@promag
Copy link
Contributor Author

promag commented Oct 25, 2021

Yes, something like:

Behavior on progress {
   SmoothedAnimation {
       velocity: 2
   }
}

@promag promag force-pushed the 2021-10-progress-indicator branch from 9ca78aa to 2d92f70 Compare October 25, 2021 14:26
@promag
Copy link
Contributor Author

promag commented Oct 25, 2021

@GBKS added animation.

@GBKS
Copy link
Contributor

GBKS commented Nov 3, 2021

I am not able to build this one. Getting a series of libbitcoin_util.a(libbitcoin_util_a-strnlen.o) has no symbols messages. The main branch builds fine, what could be the problem here?

@promag
Copy link
Contributor Author

promag commented Nov 3, 2021

Let me rebase this branch @GBKS

@hebasto
Copy link
Member

hebasto commented Nov 3, 2021

@GBKS

I am not able to build this one. Getting a series of libbitcoin_util.a(libbitcoin_util_a-strnlen.o) has no symbols messages.

These messages must be completely harmless.

@GBKS
Copy link
Contributor

GBKS commented Nov 3, 2021

Thanks for looking into this. Here's more of the error message. Does not seem harmless, but I might not be interpreting this correctly.

make[3]: *** No rule to make target `libunivalue.la'.  Stop.
make[2]: *** [univalue/libunivalue.la] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

@promag promag force-pushed the 2021-10-progress-indicator branch from 2d92f70 to 83c21f6 Compare November 3, 2021 09:24
@promag
Copy link
Contributor Author

promag commented Nov 3, 2021

Rebased.

@hebasto
Copy link
Member

hebasto commented Nov 3, 2021

@GBKS

Thanks for looking into this. Here's more of the error message. Does not seem harmless, but I might not be interpreting this correctly.

make[3]: *** No rule to make target `libunivalue.la'.  Stop.
make[2]: *** [univalue/libunivalue.la] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

What are your ./configure srcript options?

Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested 83c21f6 on Linux Mint 20.2 (Qt 5.12.8), and it looks great!

@promag

Is it your intention to get the demo commit merged?

contentItem: Rectangle {
implicitHeight: 6
radius: Math.floor(height / 2)
color: "#404040"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we avoid magic numbers?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to move these constants somewhere, something to follow up.

@promag
Copy link
Contributor Author

promag commented Nov 3, 2021

Is it your intention to get the demo commit merged?

@hebasto yes I think it's fine. What would be the alternative? Drop the commit before merging? Or we should have a separate branch with these demos?

Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 83c21f6

@GBKS
Copy link
Contributor

GBKS commented Nov 3, 2021

ACK 7dc95a0. A small change would be to speed up the transition a little by setting velocity to 1.5.

Overall I'd prefer a consistent animation duration (200ms or so) for this component with a cubic-bezier(0.5, 0.0, 0.2, 1) easing curve, but we can tweak that some other time, not sure if QML is set up for that easily.

@promag promag force-pushed the 2021-10-progress-indicator branch from 83c21f6 to 1bf3d5d Compare November 3, 2021 14:26
@promag
Copy link
Contributor Author

promag commented Nov 3, 2021

@GBKS changed animation as suggested.

@Bosch-0
Copy link
Contributor

Bosch-0 commented Nov 4, 2021

Progress bar on Windows 10 is not full even though the network is up to sync.

image

@GBKS
Copy link
Contributor

GBKS commented Nov 4, 2021

ACK 1bf3d5d. Thanks for the animation tweaks.

@Bosch-0 I think the bar is just meant as a sample UI element, and not to reflect the sync status.

@Bosch-0
Copy link
Contributor

Bosch-0 commented Nov 4, 2021

ACK 1bf3d5d

Okay sweet, wasn't sure :)

@hebasto hebasto merged commit 2641709 into bitcoin-core:main Nov 4, 2021
@promag promag deleted the 2021-10-progress-indicator branch November 4, 2021 14:04
hebasto added a commit that referenced this pull request Dec 2, 2021
Pull request description:

  Sync with the main repo up to bitcoin/bitcoin@c9d7d0a

  To reproduce:

  1) There are merge conflicts. To remedy this, the following commits from the following PR's must be reverted. They have been reverted from newest to oldest as listed:

  ```
  - PR #82 (Nov 12)
    - 83f1893
    - 0f5d210
  - PR #79 (Nov 5)
    - 011fcff
  - PR #69 (Nov 4)
    - 1bf3d5d
  - PR #77 (Nov 3)
    - 7dc95a0
    - 48fb724
  - PR #67 (Nov 3)
    - 61668e9
    - 37cfe4e
    - 5b00612
  - PR #65 (Oct 30)
    - 500a6d2
  - PR #74 (Oct 29)
    - 319db69
  - PR #72 (Oct 27)
    - 749470f
  - PR #55 (Oct 10)
    - a13a868
  - PR #45 (Oct 3)
    - 5ce77ad
  - PR #44 (Oct 3)
    - 6521cb8
  - PR #30 (Aug 30)
    - 3a0f948
    - f17a32a
  - PR #19 (Aug 19)
    - 8793ae7
    - 3ddb9b3
    - e61d42d
  ```

  2) Fetch the upstream commit
  ```
  git fetch https://github.com/bitcoin/bitcoin
  git merge c9d7d0a
  ```

  3) Cherry-pick back the reverted commits from oldest to newest. Note that I have left out 48fb724 and 3ddb9b3 from cherry-picking back in as it is unnecessary and leads to a cleaner commit history.

  ## GUIX HASHES
  ```
  $ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum

  6a9def1ba270b4e987c44194bf2704899da603fb25860063fc5ff22ee3b2168b  guix-build-ef99bc925033/output/aarch64-linux-gnu/SHA256SUMS.part
  a5750927e2d5a9086ae70b0279e6d06a48602b1b7b535fe2d1f743d0d320c1b6  guix-build-ef99bc925033/output/aarch64-linux-gnu/bitcoin-ef99bc925033-aarch64-linux-gnu-debug.tar.gz
  ec1a7e9750df2d00dbb420842ef17813e6f825d06e2122be031c6daf977a9714  guix-build-ef99bc925033/output/aarch64-linux-gnu/bitcoin-ef99bc925033-aarch64-linux-gnu.tar.gz
  74aa6e3330956e0d4445c2989056fa807e3dba9a35ec2b38b84c48c0f9bd3efb  guix-build-ef99bc925033/output/arm-linux-gnueabihf/SHA256SUMS.part
  1c1db52f0bcf91e8c27b150e4c9de3cd235d565e3cdb499dfec8433b4da2119a  guix-build-ef99bc925033/output/arm-linux-gnueabihf/bitcoin-ef99bc925033-arm-linux-gnueabihf-debug.tar.gz
  9bb58c56527c28b1730dadbf9b169527e056161e30a7cf758b53fdb565f98cdb  guix-build-ef99bc925033/output/arm-linux-gnueabihf/bitcoin-ef99bc925033-arm-linux-gnueabihf.tar.gz
  325a29527468d7a5686dbcd31602cbae01a41f6cd324680df311815d976f9ca2  guix-build-ef99bc925033/output/dist-archive/bitcoin-ef99bc925033.tar.gz
  6e2adbd2a9298f335332b1661e813c9a208a76ad45a37244791756d3296b278d  guix-build-ef99bc925033/output/powerpc64-linux-gnu/SHA256SUMS.part
  e1402abb77216fe1325625404ca8c909b8229f96f58154828c04bb7f699eb9e9  guix-build-ef99bc925033/output/powerpc64-linux-gnu/bitcoin-ef99bc925033-powerpc64-linux-gnu-debug.tar.gz
  080ef0d1b1361fbb2354e24d100a49f63ed914afccc69792edd4674ba7d02bb0  guix-build-ef99bc925033/output/powerpc64-linux-gnu/bitcoin-ef99bc925033-powerpc64-linux-gnu.tar.gz
  e6fb710af41df7be3ae6029ef1114707e0516d551beae0a9928c9de84a025563  guix-build-ef99bc925033/output/powerpc64le-linux-gnu/SHA256SUMS.part
  3bb370f79e6fb55ff50ea8db3b49ed7303fce2b9e49af6d0722821b049bfcee4  guix-build-ef99bc925033/output/powerpc64le-linux-gnu/bitcoin-ef99bc925033-powerpc64le-linux-gnu-debug.tar.gz
  1ed30ff64eacab08f724e521266784ae21c6ff879cbde7baad21a4b6ceb8ef82  guix-build-ef99bc925033/output/powerpc64le-linux-gnu/bitcoin-ef99bc925033-powerpc64le-linux-gnu.tar.gz
  dadebd336d5a359105bc4f757f60eba7651ed068a0a8d196ca7a18fa22e692c7  guix-build-ef99bc925033/output/riscv64-linux-gnu/SHA256SUMS.part
  208082743c43c37cb6907fe60ddea1909271204188763ee7b214673558f3c18e  guix-build-ef99bc925033/output/riscv64-linux-gnu/bitcoin-ef99bc925033-riscv64-linux-gnu-debug.tar.gz
  a28abc53c3a6cf7ddbd7177e3aae5a4636301c2fb18a0a361cb05d98ef23ea68  guix-build-ef99bc925033/output/riscv64-linux-gnu/bitcoin-ef99bc925033-riscv64-linux-gnu.tar.gz
  6f3c8b2fc3fa4638d8adf08f53dce07a9d96a2ef01db1df74ef53799f804ddb2  guix-build-ef99bc925033/output/x86_64-apple-darwin19/SHA256SUMS.part
  46160e6460bd1dfd8943f48199daacf58f8e8249edc3757ab681978d72490db9  guix-build-ef99bc925033/output/x86_64-apple-darwin19/bitcoin-ef99bc925033-osx-unsigned.dmg
  75f45e27858931ee91201962d1ffa8cf7998da3c962c672403ac8f8888bda7f2  guix-build-ef99bc925033/output/x86_64-apple-darwin19/bitcoin-ef99bc925033-osx-unsigned.tar.gz
  ee466fca21a6353d2aa6e85be5ac14192ce71430f87c54e8c406398fdeedd73f  guix-build-ef99bc925033/output/x86_64-apple-darwin19/bitcoin-ef99bc925033-osx64.tar.gz
  44de818d70a295fcd8488142b76a893cd94126ee3aa69d0bfc02096231cfac8c  guix-build-ef99bc925033/output/x86_64-linux-gnu/SHA256SUMS.part
  bb2bc967836cf11bf0412ecc64c1cfbd4076199ac1c1a828919a11802bbd9a4c  guix-build-ef99bc925033/output/x86_64-linux-gnu/bitcoin-ef99bc925033-x86_64-linux-gnu-debug.tar.gz
  52942d2ba01535b645c6d0460f074a6d683896082fe81b2f31addfc425a631a6  guix-build-ef99bc925033/output/x86_64-linux-gnu/bitcoin-ef99bc925033-x86_64-linux-gnu.tar.gz
  e437ff82adb1ac30ca9a27bd1732d14f9b17bfa2c9f017aeccadd19685daaf95  guix-build-ef99bc925033/output/x86_64-w64-mingw32/SHA256SUMS.part
  c4d2ed7580949cc6d4207b57429651a46cc023381b81408adfe4337f360c2be6  guix-build-ef99bc925033/output/x86_64-w64-mingw32/bitcoin-ef99bc925033-win-unsigned.tar.gz
  e5116106e634d0e1d6a7f509c645de81d19bd7b91243d94a6f90d893ca141016  guix-build-ef99bc925033/output/x86_64-w64-mingw32/bitcoin-ef99bc925033-win64-debug.zip
  005710c9e3032dfdc6117a77c38f85a2a5fa723b32772bc33c907298fe91ebfa  guix-build-ef99bc925033/output/x86_64-w64-mingw32/bitcoin-ef99bc925033-win64-setup-unsigned.exe
  c85bb2671820715a97273cc57b81de73f50f95fd8c8909020b08a6be02eb4797  guix-build-ef99bc925033/output/x86_64-w64-mingw32/bitcoin-ef99bc925033-win64.zip
  ```

  [![Windows](https://img.shields.io/badge/OS-Windows-green)](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/win64/insecure_win_gui.zip?branch=pull/87)
  [![macOS](https://img.shields.io/badge/OS-macOS-green)](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/macos/insecure_mac_gui.zip?branch=pull/87)
  [![Android](https://img.shields.io/badge/OS-Android-green)](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/android/insecure_android_apk.zip?branch=pull/87)

ACKs for top commit:
  hebasto:
    ACK ef99bc9

Tree-SHA512: abefdfb363d5ec51c0e4eb079b14e8befd1e921fc19beea210f34f70e80de84c33e4e2e68145eff6cb7e516e73ca2efb0f07fdeafaf440488950170be03ee3a1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UX Designers' opinions are required
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants