Commit Graph

1166 Commits

Author SHA1 Message Date
tomFlowee f1f8a87fc6 Move line back to the desktop usage
this got moved to the shared component, but it only works in the single
usage of the desktop. Move it back there.
2023-02-09 11:37:26 +01:00
tomFlowee cf76158e53 Last minute tweaks
Make the error not overlap when using larger text.
2023-02-08 21:11:20 +01:00
tomFlowee 9f39a9f54f Make the logic simpler
Move the logic for fiat to the payment object too and simplify the need
for code by defining this can only be called in the single-output mode.
2023-02-08 20:55:24 +01:00
tomFlowee 9ba23d20e7 Actually add a backspace image. 2023-02-08 20:10:47 +01:00
tomFlowee f1f0f113d7 Remove some of the camera work arounds
Since we have seen a lot of bugfixes in the multimedia library, we can
make this all faster and simpler.
2023-02-08 18:23:18 +01:00
tomFlowee 9b87590bd9 Fixes in currency number construction
Now tested with more currencies.
2023-02-08 18:23:18 +01:00
tomFlowee 40b0b6e3b8 Fix spacing of currency field. 2023-02-08 18:23:18 +01:00
tomFlowee 028c496712 Various bugfixes and tweaks.
Also remove the testing setup again.
2023-02-08 18:23:18 +01:00
tomFlowee a2969750c9 Fully switch currency on failure.
Also add some logging and add an emit on the new currency being set
because sometimes the fetch from server takes very long.
2023-02-08 14:29:02 +01:00
tomFlowee a475a99371 Add feature: autoprepare
For the payment object it now is possible to insta-commit to changes and
as such always prepare a transaction ready to be sent with the latest of
the settings.

This is enabled with a boolean property 'autoPrepare' (default off).
2023-02-08 14:14:06 +01:00
tomFlowee 49499ed449 Add option for menu to generic Page object
We use "Page" as anything that can be stacked on top of the rest,
now this can have a simple list of menu actions set which will make the
header get a hamburger-menu button to show those actions in the menu.
2023-02-08 14:11:26 +01:00
tomFlowee 939deb21cf Layout improvements. 2023-02-08 14:08:10 +01:00
tomFlowee 7b1333862c Make the non-detailed payment API use 'max'.
The Payment::paymentAmount() method is for the usecase where the GUI
doesn't care about the input/output details.
Its unused in the desktop GUI.

This method now takes into account the concept of 'max', returning the
full wallet amount if its set.
2023-02-08 10:23:28 +01:00
tomFlowee 738009522c New Qt. 2023-02-08 10:06:18 +01:00
tomFlowee 2aefc20023 Use === instead of ==, following linter suggestion. 2023-02-08 10:05:39 +01:00
tomFlowee 0f4a5d80cf Its 2023 now
Whee!
2023-02-08 09:28:48 +01:00
tomFlowee 0273982ea0 Add corrency selector in the pay screen. 2023-02-07 21:00:44 +01:00
tomFlowee 6c95cd3c09 Make currency changes persist between restarts. 2023-02-07 17:51:29 +01:00
tomFlowee 00dae95023 Allow changing of the currently used currency.
Provide a QML point where a different locale can be given for a different
currency. This then swaps out the historical file to the new one and
fetches from the online stream in that currency.
2023-02-07 14:38:33 +01:00
tomFlowee 4b10ba1d20 [UX] make sizing buttons bigger to easier hit them. 2023-02-07 12:14:04 +01:00
tomFlowee 55dc1a61a5 Another case where Column beats ColumnLayout
While the latter is supposed to be next-gen, its also quite limited.
In this case the first (header) row-height was duplicated to all rows in
the column, causing the sizing to be quite bad.

Seems that the Column is needed when you have non-equal height rows.
2023-02-07 11:44:31 +01:00
tomFlowee 834d59d82e Fix reference 2023-02-06 21:59:55 +01:00
tomFlowee eced0ffa15 Next iteration of the PayWithQR page
this solves a bunch of UX problems, but we need to re-add some features
in popups. Which is for tomorrow.
2023-02-06 21:59:55 +01:00
tomFlowee 7e04e5c26c Remove no longer needed hack.
Since we moved the editing to no longer need this, the width hack is no
longer needed.
2023-02-06 21:59:55 +01:00
tomFlowee a224ceb7bc Remove flickable
This does not conceptually seem to work as intended, maybe try something
else later..
2023-02-06 21:59:55 +01:00
tomFlowee b5877442b0 Fix sizing and positioning issues.
Using a layout as a top level reusable widget may to give weird results
on usage if the user doesn't realize its a layout, so wrap it in an
item.
2023-02-06 21:59:55 +01:00
tomFlowee 7f2deb9399 Make AccountSelector its own widget. 2023-02-06 21:59:55 +01:00
tomFlowee 996e5644a5 Share code, split out HamburgerMenu.qml 2023-02-06 21:59:55 +01:00
tomFlowee 69b82238ec New main year. 2023-02-05 22:42:37 +01:00
tomFlowee 1a23c29f01 Iterate on the UX for the small tx info screen.
Show more things we think actual users want to see.
2023-02-03 19:59:45 +01:00
tomFlowee 8ae25cbf64 Refactor Fiat and historical.
Move the historical fiat prices to share the API with the current ones
and avoid complicating the code in the GUI layer (one less object).
2023-02-03 19:59:02 +01:00
tomFlowee 0fad45975b Cleanup 2023-02-03 19:57:40 +01:00
tomFlowee 42a4449ede Move the popup component to its own file. 2023-02-02 13:28:18 +01:00
tomFlowee 9b1ec8e271 Make coinbase maturation smarter.
Instead of recalculating every single block, we now use the existing
locking of UTXOs feature to lock coinbase outputs to a certain
maturation height.
This is the traditional trade-off where we store some more data to
avoid work in the common codepath.
2023-02-02 12:49:18 +01:00
tomFlowee 8b4e264c1d Make grammar of comment easier to understand. 2023-02-02 12:48:57 +01:00
tomFlowee d5d5c74cb4 Fixlet in unit test. 2023-02-02 12:46:30 +01:00
tomFlowee 28d787b9c1 On app shutdown, unsubscribe listeners. 2023-01-31 20:36:40 +01:00
tomFlowee caa340768f Make 'chainHeight' property on Pay work better
We now show the estimated tip until the headers chain has been synched.

This follows p2pnet listener interfaces changes.
This uses the nicer interfaces setup to make available for FloweePay
the signal that we have reached the tip of the headerChain
2023-01-31 20:36:12 +01:00
tomFlowee 50e2176efd Remove unused property 2023-01-31 16:25:48 +01:00
tomFlowee ca1cd4a998 Avoid possible deadlock. 2023-01-31 14:06:10 +01:00
tomFlowee 7d9be8026b Update 'behind' text to make progress clearer.
We now update per day instead of per week. Nice for old imports.
2023-01-30 19:11:23 +01:00
tomFlowee 9338013398 [UX] don't use 'unconfirmed' in the UI
Instead use 'seen' for incoming and 'sending' for outgoing transactions.
2023-01-30 18:52:01 +01:00
tomFlowee 46531d06cb UX fix: show account sync widget on importing wallet
Seems like the Column is better for usage in a listview header as it
actually honors the height change.
2023-01-30 17:58:11 +01:00
tomFlowee 8a72fd1e6a Fix first blockheight property value on AccountInfo
Now we correctly have the first blockheight for wallets on creation.
2023-01-30 17:42:27 +01:00
tomFlowee 90cdfd8059 Add some comments on state 2023-01-30 17:12:22 +01:00
tomFlowee f80540b7e9 Another cleanup, like parent commit. 2023-01-30 17:11:35 +01:00
tomFlowee aea1ba28f7 Cleanup
After introduction of pay_mobile, we now have a static lib of all
classes that get linked to the unit tests, as such we can remove
optimizations that tried to keep the set of files to compile in tests
smaller.
2023-01-30 16:47:54 +01:00
tomFlowee d4413dad05 Enable freezing of the listview model on showing popup 2023-01-18 19:20:57 +01:00
tomFlowee 07908f2aae [Mobile] Make 'to top' button appear earlier.
The button to move the view to the top of the list is hidden when we are
at the top of the list. This new version makes the appearing if the
button happen based on the amount of rows we scrolled down, making it
appear faster and be more predicatable.
2023-01-18 19:18:45 +01:00
tomFlowee 57cae42300 Add freeze of model feature.
This is a bit of a violation of layers, as a result of the ListView not
having any way to do this. Even in a hacky way.

The usecase is that we need to stop the listview scrolling and showing
new items that are being inserted at the top in some cases.
Specifically when the user taps on a single transaction in order to get
more information about it, at that point the popup should be displayed
next to the item we tapped on and that item should not move due to
there being new transactions found.

The freezeModel property accomplishes that by simply not telling the
model new data has been found as long as the property is true.
Afterwards all the updates that have accumulate are flushed.
2023-01-18 19:15:52 +01:00