Commit Graph

24 Commits

Author SHA1 Message Date
tomFlowee 038cd72428 Re-work 'back' button behavior
Pressing 'Escape' or (android) back button is now more logical.
Closing the menu is new, going back to the 'main' tab as well.
This also fixes some odd behavior when using the back button while the
camera is active.

And last, when there is nothing more to back out of, on Android we end
up closing the application. This is what people expect on that platform.
2023-11-06 16:27:19 +01:00
tomFlowee 2600dd960c Remove stop 2023-10-29 15:59:12 +01:00
tomFlowee e67d5a1453 {Android} fetch phone dark-theme setting.
This calls Java code on Android through the Qt JNI bridge
in order to learn the phone-wide setting of dark-theme.

For new installs this will now follow the phone setting by default.
Add GuiSettings: dark mode option.
2023-10-28 12:18:11 +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 a56e762853 After hiding on Android for some minutes we lock again
The Android design is that you can "close" the app while it is not
actually killed. It stays frozen but in the background.
This makes Pay check the clock on 'wake up' and if 10 minutes has passed
it will lock again.
2023-07-06 11:23:08 +02:00
tomFlowee bff9cd5dc2 Introduce app-level password feature and more.
We already allowed individual wallets to get PIN-to-Open/PIN-to-Pay
but that is too advanced for most users. Not to mention that encrypted
private keys means a slower payment process and certain types of
features become impossible. Like auto-invoicing (incasso).

The gap, for mobile, is a simple not-encrypting password on startup
of the app which is likely what 80% of the privacy / security minded
people on mibile will be more than happy with.

This adds this mode and additionally streamlines the encrypted modes
of wallets.
2023-07-04 18:39:16 +02:00
tomFlowee df717aa967 Set minimum size of mobile wallet.
This really only is relevent on desktop, though.
2023-05-17 14:28:24 +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
tomFlowee a11614a66f Continue adding functionality to the PayToOthers screen 2023-03-13 12:14:23 +01:00
tomFlowee e153e35d32 Avoid closing the app on pressing back too often 2023-02-22 22:23:39 +01:00
tomFlowee c10510b139 Behave correctly on accounts lists
The GUI confused 'userowned' and having a list of wallets.
Basically we can just trust the backend 'accounts' list, making
the GUI eaier to understand.
2023-02-22 22:23:39 +01: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
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 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 324255c0ea Refactor camera support
After working on android and the qtmultimedia library for a week,
I have a much better understanding of what works and what doesn't.
The resulting design is thus presented. We will have one
CameraController class which refers to one overlay panel in QML
and in different places in the GUI objects based on QRScanner
can be created to initiate a scan.

This additionally moves the actual scanning out of the GUI thread
since blocking that is a no-no.

Now to move towards actually supporting scanning usecases.
2022-12-03 19:34:23 +01:00
tomFlowee a98efcbb1e Remove the mouse-touch feedback
It was neat, but probably not the best way to do it since this seems to
interfere with scrolling.
2022-11-23 16:07:17 +01:00
tomFlowee d8cfc9767d Provide a means to properly move keyboard input
As most of our app will be based on Pages pushed to the stack,
a simple structure to move focus forcefully to the new child
has been added.

Children would basically only need to mark the first item as
taking focus.
2022-11-23 10:35:31 +01:00
tomFlowee ef3498ee67 Only enable touch-feedback on Android
This approach works great for touch events, not so wonderful for mouse
events as it stops me being able to swipe on lists with the mouse.
So disable this on platforms that don't use touch primarily.
2022-11-21 14:11:55 +01:00
tomFlowee 7def5fd4e9 Make the account history tab mostly functional. 2022-11-18 21:53:31 +01:00
tomFlowee e426188f95 Boring GUI updates
Add tabbar icon, fix font usage, add basic history list. Show wallet
balance with the right label.
2022-11-18 13:43:04 +01:00
tomFlowee bb8a940fbf Continue implementing the UX design.
This adds account showing and selection.
Icons for the "night-theme" selector.
Improvements to the color set and a splashscreen.
2022-11-17 23:10:06 +01:00
tomFlowee e2ab48e816 Make the phone UI look the same as my Linux one.
We now hardcode the style and I needed to override the Label
in order to explicitly use the palette from the mainWindow. Not
sure why the one on Android behaved different than on Linux.
2022-11-15 15:19:35 +01:00
tomFlowee e2bea6a5af Start basic mobile GUI structure
On the mainscreen have some big tab-buttons for the main features
then we have a menu overlay which can hold various other screens
and features. Those screens will be placed on top of the main
tabbed screen using a stack-view which is common on touch-interfaces.
2022-11-15 11:38:28 +01:00
tomFlowee d384167445 Prepare for better shared-widgets setup
QML allows re-usable components, this makes the already created
list of widgets for Desktop easy to use for mobile as well.
2022-11-14 21:25:36 +01:00