43 Commits

Author SHA1 Message Date
tomFlowee a516d7e9a9 Fix logic issues 2026-05-05 19:24:42 +02:00
tomFlowee e5fef98a42 UX fixes, make Android text input smoother. 2026-02-13 14:05:21 +01:00
tomFlowee 355c1f8570 Fix regression; discover doesn't have visual feedback
This also removes unneeded semicolons for cleaner code.
2026-01-29 22:56:25 +01:00
tomFlowee b48bfea02c Use thumbler for date pickers
Since the whole thing with Android going full screen with margins, the
combobox popup idea started showing a big flaw; Qt no longer clips the
window on top to the content area and thus your top and bottom item may
become impossible to select.

This replaces the combobox with a new component; a thumbler. Based on
the extremely basic one from QQComponents we introduce our own and use
that to select the year and month in the import screen.
2025-11-16 12:35:01 +01:00
tomFlowee 218644752b Update blockheight lookups.
This inserts the latest block heights for those that want to look start
an import by month / year.
2025-11-16 12:35:01 +01:00
tomFlowee 2e7ed33586 Make widget reusable 2025-10-29 18:54:29 +01:00
tomFlowee f7128de1c0 Make fetching with electronX handle lack of Internet
We notice a lack of DNS lookup and instead of trying all, we give up
quickly and realize that the most likely reason is that the Internet is
missing.
This avoids giving a punishment to all discovered peers.

Additionally, we recover better and show the password field in such
cases.
And on Mobile this adds a menu option to enable the password field for
better discoverability.
2025-09-22 23:19:36 +02:00
tomFlowee 0ef4e8ed4f Use our own Popup style
The QML design of styling is that one extends the "Template" version
of a component. With the Basic, the Fusion etc already provided.
But after upgrading to Qt6.9 that styling for Popup changed and broke
the look of Flowee Pay.

So, we no longer use the Basic styled class, but the bare one which
should never change.
This additionally simplifies a lot of the workarounds surrounding insets
and other stuff that existed in the Basic.Popup, and we just don't set
in our own "style" of Popup.
Beautiful result, lots of complexity removed from AccountDetails,
TransactionListItem and very much from PopupOverlay
2025-06-19 15:09:36 +02:00
tomFlowee dfabcde813 Use Basic QQ Controls theme
The non-themed import basically is just a proxy using some
auto-detection to find out which theme to use.
As the app only uses the basic theme, this is what we'll import.
2025-06-19 15:09:36 +02:00
tomFlowee 6792f1f1a6 Fixes; sometimes import partially uses name 2025-06-19 15:09:36 +02:00
tomFlowee b0c4545b09 Improve typing/pasting of seedphrase
This adds the ability to paste an almost correct seed phrase, for
instance when the last word is cut off.

We also provide a new UI to propose words while typing the seed,
allowing the user to tap on the words instead of having to finish typing
them.
2025-04-07 15:35:44 +02:00
tomFlowee ad93f235f8 Minor UX improvements.
This reuses the same text for the same button here as in the 'send' tab,
and fixes the spacing a litte.
2025-02-17 12:34:02 +01:00
tomFlowee 018df80441 Add top spacing. 2025-02-17 12:06:19 +01:00
tomFlowee 5b3a779aa4 Make 'secrets' input field use monospace font
To input something like a private key, using monospace will be much
easier.
2025-02-03 16:59:47 +01:00
tomFlowee 5411d21fb0 Use ints instead of fancy JS enums.
I mean, yes, the fancy enums help readability, but the fancy enums
actually pull in a rather large dependency that adds hundreds of
kilobytes to the deployment. Then just ints don't look so bad
anymore, do they?
2024-12-31 15:57:17 +01:00
tomFlowee 3800093643 Rework 'Send' page. Part 1.
The initial design has done well for over 2 years, but problems
are starting to show.

This does a bit of cleanup in the UX and many cleanups in the
underlying architecture that were the result of those UX choices.

We remove the clipboard (paste) concept from the camera pipeline
completely and simply make it a new top-level button "paste" on the
send page. This helps discovery AND helps architecture!

The both workflows now also become 2 stage affairs, when the button
is pressed we open a page that does the scanning or pasting and then
introspects the actual data in order to redirect to the right page.
This means that we auto-detect if the scanned item is an address or
a private key or whatever, and handle it appropriately without needing
any user interaction.
2024-12-22 14:56:14 +01:00
tomFlowee 65eb981d83 Revise import wallet pages
The vast vast majority of wallets imported will not have a password. So
we de-prioritize that and make the user aware of the password field
should they check the contents without one.

This moves the 'wallet name' again to the top for all types as the most
observed mistake is that people type a wallet-name in the password field
and then are confused why there is nothing there. (and additionally
annoyed that the name of the wallet is auto-generated).

Other fixes includes spacing and alignment.
Keyboard focus on desktop.
2024-10-28 13:41:24 +01:00
tomFlowee 1960bb6260 Improve the import screens a little.
This applies the knowledge learned from mobile to desktop too.
Also set the initially selected import year to 2023 and avoid
long imports for most people.
2024-06-30 23:26:25 +02:00
tomFlowee 8776e5763a Make 'back' button do what we'd expect. 2024-06-29 12:15:30 +02:00
tomFlowee b073a6ab64 Fix regression, handle the checkbox in all cases. 2024-06-29 12:15:30 +02:00
tomFlowee e2d1251fc3 Move the UI to allow imports only from 2011 2024-06-26 17:55:53 +02:00
tomFlowee 7ba275fd53 On resolve start-date, show it in the UI
We use the same header-heights lookup table to show the actual month to
the user on resolve.
The resolve is the fetch of first-use of an address or seed, this
returns a blockheight from elecrum servers only and that isn't very
user-friendly. As such this now fills the comboboxes with the proper
month/year for better understanding.
2024-06-24 22:33:53 +02:00
tomFlowee a4d394aca1 Re-order and cleanup the import (seed) page.
This makes the language simpler and makes clear that the password field
is related to the import. Second, the name-field is now moved closer to
the big 'start' button and has a more obvious title.
2024-06-23 19:37:58 +02:00
tomFlowee 7005507041 Help resolve blockheight
This is the import page, it will certainly be possible for a
user to import a wallet that is older than the headers on their
device. In that case using the headers to resolve the height can't
work.
Circular dependency: Need headers to know which headers to download...

So, we hardcode the historical blockheights here for each month that
the user can select.
Notice that the dates are the first of each month, at the UTC-16
time-line.
2024-06-23 19:37:58 +02:00
tomFlowee 47f991a36e Make the DownloadChecker.qml actually functional.
The ImportWalletPage now loads the QML provided by the module,
exposed via the metadata of modules.
The module gets just a blockheight property and then will do
"its thing".
This will either instantly close when there is nothing to do
and continue instantly to the actual import.

Or the module will check the server, initiate download and when
all is setup and done THEN close the popup and continue with
the actual import.
2024-06-23 19:37:58 +02:00
tomFlowee 2a507a6a96 Move the TextPasteDecorator (and icon) to common
The widget actually is pretty useful on desktop too.
2024-05-05 20:52:26 +02:00
tomFlowee da8802c6d1 Re-do the 'import wallet' screen (mobile)
This completely re-designed the 'import wallet' screens on
mobile.
We use the various new features available now, most importantly the
ability to detect derivation and start-height from an electrum
indexing server.
2024-05-05 20:52:26 +02:00
tomFlowee e8a74673ba Fix 'back' after scan closing the app.
The scanner takes the focus away from the current page, so 'back' would
not see the page and we'd close the app...
2024-01-16 17:46:47 +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 bebb53b670 Add ability to scan a private key on import 2024-01-16 17:32:56 +01:00
tomFlowee b0a0528b93 Reviewed the checkbox 2024-01-04 22:12:08 +01:00
Calin Culianu 5b5a9f9c96 Added Electrum mnemonic format changes to mobile app UI
This works just like the desktop app.
2023-10-19 18:26:50 +03:00
tomFlowee 4eb0053042 A litheny of UX-bugfixes. 2023-07-05 12:24:31 +02:00
tomFlowee 6f8369e4ff [UX] Take preedit text into account.
For instant validation and similar, use the preedit text into account to
work around the silly design in Qt where the normal is made difficult.
2023-06-30 23:39:45 +02:00
tomFlowee 901b3b5a89 Add flickable around the import page.
Reports show that the button at the bottom may fall out the screen for
some people's settings.
2023-06-20 20:27:21 +02:00
tomFlowee a6bf542108 Revive the QR-only image after it got updated
Not all usages of the old 'QR' image were about scanning, so the
added photo frame ended up causing a UX regression for those
that were used to indicate showing a QR.

Instead we now have 2 icons (at 4kb ascii text each, thats literally
not a big deal) to acoid this confusion.
2023-06-17 16:20:32 +02:00
tomFlowee 1377c01531 Slight alignment fixlet. 2023-06-15 15:59:07 +02:00
tomFlowee d94f1faae2 Work on QR scanning
This removes the dependency on the QrEncode lib and uses
the fact that our scanning lib also is capable of making QRs.

We now allow the QR to get its color inverted for dark mode
users, making it less bright to show a QR.

This introduces a new QR-creation mode which allows spaces and
other chars to be in there directly without being URL-encoded.

This improves the QR showing of the user's seed-phrase (in the
backup screen).
This adds the ability to scan a seed phrase with your camera by
adding a button to the wallet import page.
This also adds support for the QR format that the bitcoin com
wallet uses in its QR for seed phrases.
2023-06-15 14:58:44 +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 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 86fc45c98b UX fixes
Make the importing page not requires a name for the wallet.
Also fix the width of the month combobox.
2023-05-08 13:37:11 +02:00
tomFlowee 14871ab90a Move the first-date widgets up
This makes sure that they show up even if the on-screen keyboard is open
2023-05-07 17:13:43 +02:00
tomFlowee ab75be981e Add landing page
For all times we start with a completely empty Flowee Pay, show a
landing page which guides the user to create a new wallet or deposit
funds into the default wallet.
2023-02-09 18:25:10 +01:00