Commit Graph

69 Commits

Author SHA1 Message Date
tomFlowee e75fb07d9c whitespace 2023-05-31 15:12:17 +02:00
tomFlowee 11c2847055 Include mobile_en translations as well.
English "translations" are just there to allow us to have a
different form for singular statements: "1 hour left".
2023-03-04 21:48:10 +01:00
tomFlowee 15da1acc19 Make i18n target include all the cpp sources 2023-02-21 15:50:47 +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 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
tomFlowee e65469c979 Update version
Also replace tabs with spaces in the XML
2022-12-08 15:27:59 +01:00
tomFlowee f3a9493e84 Remove lib which is no longer present in the docker
On rebuilding the library as part of the docker builds, this static lib
no longer is created making it easier to use this library.
2022-12-08 15:27:59 +01:00
tomFlowee 48be8b6df6 Better detect not installed packages 2022-12-04 14:21:21 +01:00
tomFlowee 7272f62f64 Make libs linking private 2022-12-03 22:37:17 +01:00
tomFlowee 09b5f887f7 Add option to have faster deployments. (default off)
This allows a developer to avoid including the headers file in the APK
so it becomes a lot smaller and deployment is faster.
This only works on reinstalls, it won't be able to run on a phone where
Flowee Pay has never been installed.
2022-12-03 19:37:31 +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 46d34df2a0 Actually scan for QRs.
This takes the camera feed and pipes it through the ZXing (pronounced
zebra-crossing) library which detects the barcodes in the image.
When we find it, we pluck out the text.
2022-12-01 23:53:21 +01:00
tomFlowee 218fa034ce Move Camera.cpp to the apps compiles
We no longer compile this one together with the static lib as that
pulled in qtMultimedia for all users of the lib.
2022-11-30 17:51:10 +01:00
tomFlowee 31e4fc77f2 Use QT_VERSION_MINOR
Learned the trick to getting the version set and now printing it again
also use it to only include the private stuff in the versions of Qt
that we need to use the private headers.
For doing dirty stuff, I just always want to have a sunsetting defined
to avoid us silently depending on it forever.
2022-11-30 11:35:14 +01:00
tomFlowee 95d2b57cb3 Add basically functional camera support
This makes it possible for the mobile app on Android to use the camera.
We only ask for permission when the user actively goes to the 'QR-Scan'
tab, and we show a simple preview of the camera feed.

Notice that the permissions stuff is quite ugly right now due to Qt
having that module in development and the public APIs are simply not
available yet. But at least it works, which is all that matters.
When the next minor Qt release comes out we can hopefully clean this
up and use a version that needs no ifdefs.
2022-11-29 23:51:14 +01:00
tomFlowee 59b0b300db Use QtMultimedia 2022-11-29 23:51:14 +01:00
tomFlowee 9b737871dc Add network logging client
When doing development on Android we don't really have a good way to see
what is going on or run a second application showing the log-lines. So the
simplest solution is to just use what we already have in Flowee: a logging
system with pluggable channels.
Now, we only want this during debugging, so this is a CMake option
and the file is compiled and included only when you set that.
Additionally, the code won't do anything unless there is a config file
included in the APK (assets dir) with the host etc.
2022-11-24 20:00:53 +01:00
tomFlowee a3831df0d6 Move data of the menu to a model. 2022-11-21 14:29:54 +01:00
tomFlowee 6a9848366d Refactor enum; move to own class
The usage of the big application singleton for enums is not the best for
linkage.

See, in QML you like to use enums, but you need to register the object
it is defined on with QML. So, you ideally have one object with loads of
enums. Easy to maintain, less to learn for the QML author.
Using the application-wide singleton made kind of sense, but this
creates a dependency requirement for all users of these enums that
doesn't jibe well with maintainable code.

So, introduce a simple enums-only class that can be used from QML and is
cheap to include from any using classes.
2022-11-18 13:09:12 +01:00
tomFlowee 674fedd41b Use the Qt created cmake method for adding qrc files 2022-11-15 13:05:44 +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
tomFlowee db2587393e Refactor main, split into multiple files
To solve this becoming slowly unreadable due to ifdefs, move stuff to
methods which have a differnt implementation based on which OS we target.
The build-system now chooses to compile only the utils file for the
target OS.
2022-11-14 13:16:35 +01:00
tomFlowee f9dd9f6e43 Support reading bip39 wordlists on Android 2022-11-13 18:25:13 +01:00
tomFlowee 05d666bc74 Add the basic block-headers in the APK 2022-11-13 16:58:19 +01:00
tomFlowee 5cec6fee76 Add various Android pieces of support
This adds the AndroidManifest and icons in order to make sure
and APK will have the proper name and the icons.
2022-11-10 16:43:11 +01:00
tomFlowee 9c0a45b6d1 Remove debug 2022-11-04 11:09:06 +01:00
tomFlowee 7853004d68 Make compiling apps optional
This adds cmake options to make it easy to enable/disable apps
from building.
2022-09-16 22:59:36 +02:00
tomFlowee b3c1e74c8c Improvements for android building.
The build now no longer uses the root user for built files.
2022-09-16 22:59:36 +02:00
tomFlowee f177b57ca7 new version 2022-09-10 00:51:00 +02:00
tomFlowee e643a7749b Port to Qt6 2022-08-20 18:23:51 +02:00
tomFlowee b81910226d Start new class 2022-08-02 21:49:30 +02:00
tomFlowee 27af984f5b Split off encryption methods to its own file.
This avoids Wallet.cpp to become too huge and groups stuff to
make it easier to find.
2022-07-11 19:23:30 +02:00
tomFlowee 67bb23dd5a Make link on older systems. 2022-05-03 18:48:18 +02:00
tomFlowee cfc5a2c5bf Start adding notification support. 2022-04-29 22:43:46 +02:00
tomFlowee f786db4627 Find address info. 2022-04-07 18:16:03 +02:00
tomFlowee ea6c753021 Use new upsteam static-blockheaders API
This also adds a helper executable that is useful to create the meta
file.
2022-01-12 19:47:10 +01:00
tomFlowee 88955b7f7b Split Payment.{cpp|h} into different files. 2021-11-23 22:46:28 +01:00
tomFlowee 5758d67e54 Merge branch 'master' into SendPanel 2021-11-23 17:17:43 +01:00
tomFlowee ad0d675be1 Fix typo 2021-11-23 11:18:47 +01:00
tomFlowee adcded6f47 Download translations from crowdin 2021-11-21 13:23:31 +01:00
tomFlowee b69b388d9c Split translations and add proof-of-concept mobile
This alters the build setup to create two executables based on
practically the same CPP static lib but with different QML
dirs and translations.
This also adds a cmake option
    -Dlocal_qml=ON
when passed it will create an executable that will load the QML
from local disk instead of using the compiled-in version.
The main advantage of that is that there is no need to recompile
after each QML change.
2021-11-21 00:35:55 +01:00
tomFlowee 4a184fc5c2 Make a static lib pay_lib
To avoid recompiles and such generally to simplify stuff, this
moves all the code into a static lib that is then linked with
by the various apps (including tests).
2021-11-20 22:20:08 +01:00
tomFlowee 381c475bb4 Start with coin-selector 2021-11-19 11:20:01 +01:00
tomFlowee 256bd2151f Fix install dir 2021-11-10 23:17:32 +01:00
tomFlowee 3bf8273510 Also extract cpp files 2021-11-10 10:34:03 +01:00
tomFlowee 6057d589b1 Working on a new AccountDetails view. 2021-10-29 18:20:42 +02:00
tomFlowee d005a2cd7e Refactor; move code. 2021-10-29 12:48:12 +02:00
tomFlowee 98431b6e17 Add and install bip39-english 2021-10-28 14:51:12 +02:00
tomFlowee 967a9c0231 Fix i18n building.
Separate updating ts files and creating qm files out of them.

This solves the annoyance that any change in the QML files generates
changes in our source-tree.
Updating the translations now requires calling an explicit `make i18n`
2021-10-28 14:40:39 +02:00
tomFlowee 80d7456898 Make new-wallet pane functional.
This changes the default generated wallet to be a HD wallet.
We also add a helper class to configure newly created wallets from QML.
This finishes up the new wallet panel to have all the visible features
actually do something.
2021-10-27 19:11:00 +02:00