Commit Graph

738 Commits

Author SHA1 Message Date
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 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 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
tomFlowee 15cf4732e3 Fix initial save of private wallet data
This makes sure that after initial setup of the wallet we save the
private data and the wallet that was not owned by the user is stored as
such.

On Android the destructor often is not properly called, which leads to
us not saving this on shutdown and that showed this bug.
2023-01-15 18:31:39 +01:00
tomFlowee 051e21ef60 Fix testnet4 support 2023-01-06 00:47:13 +01:00
tomFlowee f45408163a Avoid iterator on container that is being modified.
Setting the wallet to null calls us again to remove it from our list, as
such it is better to not work on that live list but on a copy.
2023-01-06 00:45:12 +01:00
tomFlowee 0b38d38176 Fix updating price when max is set. 2023-01-05 14:27:24 +01:00
tomFlowee d2213194d4 Add delay on camera init
Move to the next eventloop event the usage of the camera (finding out
resolutions etc) which looks to help stability.

Also remove the init-on-startup again, which had the nasty side-effect of
turning on the camera for a very brief time due to some Qt bug that
ignores the 'active' boolean on the camera object.
2022-12-21 13:46:14 +01:00
tomFlowee 4259eede23 Keep working on Linux
QtMultimedia on Linux has the nasty bug that stopping the camera doens't
allow us to start it afterwards. So for now, while Qt is still buggy, lets
simply not stop it.
Notice that this is Linux only, where I expect this class to have very low
usage.
Android doesn't have this specific issue.
2022-12-21 13:17:34 +01:00
tomFlowee 3112912c57 New version. 2022-12-21 13:15:55 +01:00
tomFlowee 56d3b4fc36 Fill price from historical on startup.
On mobile its more visible that it takes a couple of seconds to fetch
the price from the network. The result is that no prices are visible on
unconfirmed transactions and wallet balances for that time.

This instead uses the last known correct price from the historical
database as the price, so in that couple of seconds we are showing the
mostly correct data instead of no data.
When the price feed comes in, all values on screen get automatically
updated.
2022-12-21 12:58:01 +01:00
tomFlowee e78bfe1c8a Fix lastSyncIndicator when there are unconfirmed TXs 2022-12-21 12:49:51 +01:00
tomFlowee 0f993e07ca Fix copy paste error. 2022-12-21 12:25:28 +01:00
tomFlowee 7cedf20844 Move parsing of '--offline' to be as soon as possible 2022-12-21 12:24:21 +01:00
tomFlowee 5a88fcbe04 Follow the rowproxy new data storage.
We inverted the rowProxy ordering 2 weeks ago, but not all usages of
this change were updated. This should cover those unupdated usages.
2022-12-20 16:28:49 +01:00
tomFlowee ed918d6039 Small API fixes
Move the signals to the right class and remove an include from the
header file.
Also provide a context object in QTimer::singleShot. Useful to avoid
dangling pointers being dereferenced on shutdown.
2022-12-20 15:20:16 +01:00
tomFlowee 1cad0fc3e9 Special case 'yesterday' here too. 2022-12-19 23:43:08 +01:00
tomFlowee edab1e09f0 Use non-singleton buffer
As this call can be made on deletion of the FloweePay singleton, avoid
using the thread-local singletons and avoid deletion-order issues.
2022-12-19 23:29:01 +01:00
tomFlowee 6922ed4e0c Remove no longer needed task. 2022-12-19 22:07:00 +01:00
tomFlowee 192b178989 Encode url before entering in QR.
Turns out that the image-source concept takes a special URL which then
decodes our earlier encoded bip21 string. So we need to make sure we
encode it again before pushing it into a QR.
2022-12-19 16:53:52 +01:00
tomFlowee 40c3222f4a Rename property and minor UX cleanups
Rename AccountInfo property 'isDefautWallet' to 'isPrimaryAccount'.
2022-12-19 14:06:27 +01:00
tomFlowee 80200fa28c Start new mobile page 'wallet information'.
This shows all wallets and wallet details.

Additionally, this moves the AccountTypeLabel out of the desktop page to
be reusable. Not so much because its hard, but because they have
translations and we'd better push shared translations into the common
translation unit as opposed to duplicating it.

The LabelWithClipboard now has as default context-menu-item text "Copy"
instead of "Copy Address".
2022-12-16 19:57:43 +01:00
tomFlowee c12f8cea64 Cleanup QRScanner QML component design
Avoid the ugly 'Component.onCompleted' and instead make this is a
property 'autostart'.
2022-12-15 14:54:13 +01:00
tomFlowee bdbbdd1726 Remove priceFor overload
The downside of this method is that changes in price don't cause the
result to be re-calculated.
Its not very declarative, in other words.
2022-12-15 14:37:58 +01:00
tomFlowee 7af28e9d22 Use cheaper malloc on save. 2022-12-15 12:39:44 +01:00
tomFlowee ebae4b6bcd Add gui-font-scaling config option.
Allow the user to change the font sizing of the GUI.
2022-12-15 12:37:21 +01:00
tomFlowee 3f32f759e7 Improve camera stability.
This adds some timers and similar hacks which seem to have a very
positive result on getting an actual picture consistently from the
camera.

Tested this on 3 actual phones, of different make and versions.

Fixes: #11
2022-12-14 16:23:51 +01:00
tomFlowee 039a435d5f Be more accepting in what we receive in a QR payment
We fetch the message from either the 'label' or the 'message' url
variable now.
2022-12-14 14:23:43 +01:00
tomFlowee a0c4f9be7a Much improvement with the camera section.
This adds a prettty cutout screen and better feedback on the camera view
popping up.
We also make visible the scan overlay instantly, hiding out any other UI
that is hidden beneath it.

We correctly handle various odd issues with Qt / Android.

- the permissions request (QFuture) returned in a different thread, we
now move back to the main thread before doing any calls on the
multimedia objects.

- The popping up of the android permissions requestor actually makes the
app think its being made inactive. Now we no longer cancel the QR scan
request in such cases.
2022-12-14 14:21:56 +01:00
tomFlowee 60341e4f8a Fix regression; move define to the root level
Yesterdays refactor causes the OS defines to only be specified for the
shared library. This makes the app-specific compiles receive the define
again too.
2022-12-14 14:17:04 +01:00
tomFlowee bad7419886 Make camera usage on desktop not a CPU hog
This now waits the QR parsing thread should we have time
left over before the next frame.
2022-12-13 20:53:58 +01:00
tomFlowee 702735e17a Fix the grouping of transactions.
This adds a unit test as well, which is a bit tricky as this is date
specific.
2022-12-13 20:53:58 +01:00
tomFlowee 163e615613 Move sources into the src subdir
Slowly the amount of cpp sources has been growing to the point
where its just too much to store in the root of the project.
I think they are more happy in a subdir as well, getting an elevated
position for themselves.
2022-12-13 11:54:03 +01:00