Commit Graph

99 Commits

Author SHA1 Message Date
tomFlowee ce827ed776 Import translations 2024-10-14 20:09:43 +02:00
tomFlowee d7c656cf94 Make the new module part of the translation system 2024-10-08 22:37:56 +02:00
tomFlowee c6a4b200c7 Update to newer blockheaders
This moves the blockheaders we ship to actually be for 2024 :-)
2024-06-30 15:45:38 +02:00
tomFlowee 74b387e43e install desktop file without x flag 2024-06-25 10:05:36 +02:00
tomFlowee b5eaf1534f Use smaller static file 2024-06-23 16:52:13 +02:00
tomFlowee 736ba60732 add user-friendly comment 2024-05-07 22:30:45 +02:00
tomFlowee 16d52b9383 Make camera stuff available for desktop app
In case the configure step found the QtMultimedia libs, we also
include the camera / QR-scanner functionality in the desktop
app since users may use a laptop which contains a camera.
2024-05-05 20:52:26 +02:00
tomFlowee 4e1c6ced07 Skip including not used plugins 2024-01-28 11:56:20 +01:00
tomFlowee 539d0fa229 Simplify the local_qml feature 2024-01-16 14:40:37 +01:00
tomFlowee b1cbf45849 Add cmake option 'skip-example' & skip that module
The final release should not include the example module as we aim
releases at normal people, not devs.
This makes the skipping of the example module part of the build
setup by simply passing in -Dskip_example=TRUE
to cmake.
2024-01-16 14:40:37 +01:00
tomFlowee 4c573f88d6 Minor fixes 2024-01-13 18:17:08 +01:00
tomFlowee 1ca77a427a Import translations from crowdin.
This adds a new language: Hausa
2024-01-04 22:12:08 +01:00
tomFlowee a3500b3fff Lower logs in exe on mobile 2023-11-04 15:59:49 +01:00
tomFlowee 99801a2bf6 Cleanup network logger cmake stuff
Move messge below the main apps
Make the defines to be used in all places.
2023-11-03 19:41:56 +01:00
tomFlowee 896854bc2d Import translations from crowdin 2023-10-29 22:46:22 +01:00
Calin Culianu ddeac5622f Fix build issues on macOS + clang 2023-10-17 22:02:08 +03:00
tomFlowee 9b5381a11d Cleanups of old CMake stuff 2023-08-27 18:48:30 +02:00
tomFlowee ac12a688a1 Import translations from Crowedin
This enables 2 new languages:

Spanish for mobile
German for mobile and desktop
2023-08-17 21:51:38 +02:00
tomFlowee ccbeea0486 Skip modules reporting when mobile is not built. 2023-07-26 10:14:49 +02:00
tomFlowee f741f317e8 Cleanup old files 2023-07-08 08:38:26 +02:00
tomFlowee 7f5e4130ad Move the Netview to a module of its own: Peers-view 2023-07-04 22:35:58 +02:00
tomFlowee 5634f2ba2b Move modules status to the end
Make the module messages appear below the "configuration results"
section by moving the messages to the end of the CMakeLists file
2023-06-23 12:48:22 +02:00
tomFlowee 8f18df35b0 Add comment 2023-06-19 13:34:01 +02:00
tomFlowee 779c245f5b Import translations from crowdin 2023-06-15 20:02:35 +02:00
tomFlowee e033c49f0c Move ZXing dep from all using apps to just the lib. 2023-06-15 17:59:54 +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 5c1952c267 Update translation units 2023-06-13 21:30:38 +02:00
tomFlowee 42d3c2e96b Make the build-transactions module function
This moves the last of the assets to the module and provides the base
requirements to actually make the featue function from a module.
2023-06-13 15:59:37 +02:00
tomFlowee a73e004998 Move QML and introduce i18n concept for modules 2023-06-13 15:59:37 +02:00
tomFlowee 1220a3839c Start a setup for modules.
This sets up a basic system for creating modules on top of the flowee
pay static lib in a way that is ensured to be isolated (modules can't
accidentally use each other's classes)

The setup is made such that the buildsystem does the hard work on
plugging in a new module, making it so that all you need to do is create
a new dir and a "{something}ModuleInfo.h" file and it will get compiled
in.
The point there is to make it not have any merge conflicts and just make
it dead easy to get started.
2023-06-13 15:59:37 +02:00
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