185 Commits

Author SHA1 Message Date
tomFlowee 032f20d2dd On Desktop, show tooltip with exact mined date.
If the timestamp is something vague like "half an hour ago" then the
tooltip will show the to-the-minute correct timestamp.
2024-03-05 22:07:09 +01:00
tomFlowee f119fd788c Make the amount be according to user settings again
Must have left it commented out after the refactor, this brings back the
existing functionality to follow the user setting and only show fiat
price.
2024-02-28 12:10:09 +01:00
tomFlowee 2ebe29772d Fix width indicator. 2024-02-28 12:05:24 +01:00
tomFlowee a2560d98a7 Separate 'singleAccount' concept between UIs
The isSingleAccount property controls if the UI is simple or more
complex.
The single account setup doesn't show you that you have any concept on
differnt accounts at all. No account chooser etc.

On Desktop, however, we choose to always show the archived wallets
anyway. Even though its not in-your-face. Which makes the behavior
between those UIs slightly different.
The addition of the limitedArchiveView property is meant to
facilitate that.
2024-02-14 00:02:53 +01:00
tomFlowee 1ec24150c1 Add icons and colors to the placeholder buttons. 2024-02-12 23:01:14 +01:00
tomFlowee b8d650b9b3 Add UI scaling to desktop 2024-02-12 23:01:14 +01:00
tomFlowee 8c0210b0fe Add content to desktop TransactionDetails screen. 2024-02-12 23:01:14 +01:00
tomFlowee bc7891757d Make the TransactionInfo on desktop better
This follows the general idea and design from mobile,
but adapted for the desktop form-factor.
2024-02-12 23:01:10 +01:00
tomFlowee 523499cf7d Fix the 'archive' button not showing up.
We now fix archive being there when it makes sense, and
also fix the focus being lost after toggling the archivi-ness of a
wallet. Which means that hitting 'Ctrl-Q' will correctly close the app
after.
2024-02-10 21:56:59 +01:00
tomFlowee a6af4c8771 Remap 'tried' to a more logical backing value.
This changes 'tried' being about the amount of peers we actually
handshaked with to the amount of peers we tried to connect to at all.
2024-02-10 21:56:59 +01:00
tomFlowee 2391de723f Make Blur an optional component
As we still support older versions of Qt, this moves to load
the MultiEffect (blurring specifically) dynamically and avoids
the entire project failing if the effects module is not found.

The effects module was introduced in Qt6.5
2024-02-10 00:28:00 +01:00
tomFlowee 1455d90b30 Add ban / disconnect UI elements on NetView 2024-01-26 14:26:40 +01:00
tomFlowee 519b6d7532 Add button to pardon the banned.
This allows a user to re-connect to formerly banned peers.
2024-01-26 13:45:51 +01:00
tomFlowee efc4e7c7d4 Make peers show up faster in netView
A peer that has not yet handshaked is now show in this view, giving a
better indication of what is going on on platforms that do not have easy
access to a log file.
2024-01-26 12:12:45 +01:00
tomFlowee 2414c3457f Update the blocktime faster on active sync. 2024-01-25 19:47:55 +01:00
tomFlowee 4fbfb51f6b Make unconfirmed transactions show properly
After we changed the TX to always have a date at creation, the desktop
GUI code's assumptions were undermined and it would be able to show
weird stuff.
This fixes it properly and shows the right data.
2024-01-22 17:49:25 +01:00
tomFlowee 50c1442782 Use actually unique ID for selecting new wallet
When the user creates a new wallet, use the unique ID of a wallet
to find it and use it afterwards.
2024-01-16 17:32:56 +01:00
tomFlowee 88dd71b9ab Add 'copy address' menu option in the coin-selector. 2024-01-15 20:17:10 +01:00
tomFlowee 6161a43dac Add a statistics page to the Netview 2024-01-06 23:10:50 +01:00
tomFlowee e7d3edd416 Re-introduce the blur for balance
After the Qt6 port we lost that, but now this is again supported
with a standard QML component.
2024-01-06 22:11:00 +01:00
tomFlowee 0b7587b51b Refactor the NetView (peers dialog)
This is likely the oldest component in the app and it was
really in need of a rewrite.
The state of peers is shown much clearer now, we use a proper
model in order to avoid the jumping and we use a more safe
way of getting at the data.
2024-01-04 23:20:28 +01:00
tomFlowee b0a0528b93 Reviewed the checkbox 2024-01-04 22:12:08 +01:00
tomFlowee 3115f1527d Make indents more readable 2024-01-04 22:12:08 +01:00
tomFlowee 25909437fd Clarify the terminology 2023-11-06 12:40:11 +01:00
tomFlowee a7fd8a4d86 UX: hide help text when not appropriate. 2023-10-31 15:25:31 +01:00
Calin Culianu 95ff48c314 Implement reviewer suggestion plus fixes
In addition:

- Made it work with latest commit to Flowee/thehub/#5.
- Works better now when decrypting the wallet (accountInfo.isElectrum property
  should not be CONSTANT but instead notify on change)
- Made the actual wallet seed phrase type get saved to the wallet rather
  than a bool. This type comes from enum HDMasterKey::MnemonicType in
  thehub libs.
2023-10-19 18:26:50 +03:00
Calin Culianu d2550aee3f Add support for importing wallets using Electrum mnemonic phrases
This is the format used by (older) Electron Cash wallets. It may be
useful to users wishing to use their older EC wallets with Flowee Pay.

Highlight of changes:

- Import wallet UI now auto-detects whether it's Electrum or BIP39. Note
  that in some cases a valid BIP39 seed is also a valid Electrum seed.
  The user has a UI element checkbox for "forcing" Electrum
  interpretation in such cases.
- Electrum seed phrases always use derivation path "m/" so this is
  forced on the user as the only path available in the Electrum case.
- Wallet file format has a new tag to indicate whether the seed phrase
  is electrum or not. Only present in the electrum case, otherwise it's
  omitted from the serialized data.
2023-10-19 18:26:50 +03:00
tomFlowee 66def83e3b Fix swapped text. 2023-10-18 21:28:40 +02:00
tomFlowee 02bf2ab1df Translations update 2023-09-06 16:21:09 +02:00
tomFlowee 02288299fc Improve BIP activation on startup
For desktop we now properly support starting a payment when
the user clicks on a bitcoincash link in a browser.

For Android the activation logic _should_ work, except that the
Android specific way has yet to be tied to our app.
2023-09-05 20:45:32 +02:00
tomFlowee 69e0fe8869 Finish up BIP70 feature
Squash of 12 commits, this makes the UX actually useful and
we detect errors and show errors and warnings to the user.
This also adds an 'editable' bool to OutputDetail in order to
disable editing of a payment request address.
Additionally, this introduces the ability for a Payment to carry
a raw script instead of an address. So op-return or more complex
payment requests will be sent just fine.

Fun fact is that our broadcast is INV/SendData, which is two
roundtrips and thus slow, which is needed to be sure we get proper
rejection messages.
The sending of the transaction via BIP70 causes the network to
already know about the tx because the server we send it to has
likely much better Internet than we do.
So confirmation from the payment provider is used to show success
instead of the normal way.
2023-09-05 13:38:24 +02:00
tomFlowee bc459f74d5 PaymentProtocol abstraction
The PaymentProtcol class now handles the pasting of a payment uri,
like bip21.

Additionally this adds the feature where we pass in the payment uri on
the commandline which then results in an auto-opened payment screen.
2023-08-30 23:46:00 +02:00
tomFlowee 049d735a53 Add decrypt of PinToPay wallet in mobile
this also changes the API propertes that handle encryption details a
little. Making them faster and the meaning follows the logical
conclusion of the naming better.

Specifically:

when needsPinToOpen would return true, now needsPinToPay will also
always return true.
2023-06-30 23:18:31 +02:00
tomFlowee 8db23ba624 Provide a screen to unlock encrypted wallets.
This detects that the currently selected wallet is fully encryted and if
it is, it shows a password request page on top of the current screen.
The default setup aims to have people type a PIN in numbers to unlock
the wallet, but we also provide a way to make it use a textual password
instead.
2023-06-27 20:39:11 +02:00
tomFlowee 4883de304b Export the cashToken bool to the UI
Make clear that we have a cashtoken output in the UI.
2023-06-05 09:58:06 +02:00
tomFlowee 78830c8aa4 Cleanup call to no longer existing function 2023-06-04 19:20:46 +02:00
tomFlowee 49a8a9ce34 Cleanup nice-address usage
A Payment object now has a user-typed address,
a formattedAddress which is a properly formatted cash-address
and last a 'niceAddress' which is the same cash-address but without the
chain prefix.

This cleans up the usage and removes some code from the GUI that did the
string manipulation there.
2023-05-31 15:47:14 +02:00
tomFlowee 2724e2cd67 UX: make checkbox follow price indicator 2023-05-30 19:25:09 +02:00
tomFlowee 1e05c9f6ad Fix overlapping widgets issue 2023-05-30 19:19:57 +02:00
tomFlowee 6d648dc6e7 Make new account pages follow our UX guidelines.
This redoes most of those pages to look much nicer and in-place.

This also disables the 'create' button when the derivation path is not
correctly entered.
2023-05-17 21:23:19 +02:00
tomFlowee 747ff27a1f Various updates and UX features
This brings the new 'privacy mode' to use the standard widgets
and make the UX more smooth.

The swiping between pages / wallets is more visually satisfying.

We update the sync label to have a live counter of how long ago
the last block came in. (both front-ends)
2023-05-16 22:05:48 +02:00
tomFlowee 033cb5962d Add feature; private wallets
A wallet can permanently be labeled a 'private wallet' which is a simple
boolean.
Then when you may need to hand over your phone to a clerk, all you do is
quickly enable the 'private mode' which is sufficiently deep in the menu
to make it hidden.

The effect is that all wallets marked private will be hidden for the
duration of that feature being on.
2023-05-16 20:17:12 +02:00
tomFlowee b218f9f0d4 Fix inconsistent capitalization of toolTipText
Follow the Qt decided usage with 2 upper case characters.
2023-05-16 20:16:12 +02:00
tomFlowee 89e1b94027 Tie the new config settings to the front-end. 2023-05-15 16:17:26 +02:00
tomFlowee b0c22c98e1 Fix regression; make green check show up again
On having a correct address we validate it and show that green check.
This follows the refactor where we moved the logic to the AddressInfo
QML class.
2023-05-06 11:34:42 +02:00
tomFlowee bb4e0bc138 Always show BCH value on testnet
The feature to show only the exchange-rate based value on the
main screen doesn't make sense on anything but mainnet due to
the simple fact that thats the only one that has an exchange rate.

We hide the feature on testnet and make it always show the BCH
value on the overview screens.

Notice that the actuall setting, as written in the config file,
is shared between chains. We only have one confg file. So any
solution with default values would not work.
2023-05-02 11:14:15 +02:00
tomFlowee 527e7895ef Merge branch 'master' into PaymentRequest 2023-05-02 10:53:16 +02:00
tomFlowee 3dfb2b3d38 Port the startupscreen and desktop receive tab too
This makes the new PaymentRequest design be used by all components.
2023-05-02 10:52:37 +02:00
tomFlowee 167c590b78 Use triple equals in JS 2023-05-01 21:51:25 +02:00
tomFlowee 47b4e1ea0a Synchronize the errorRed colors
This adds a errorRedBg 'background' color for a popup with normal white
text on top of it.
2023-04-18 21:54:43 +02:00