Commit Graph

34 Commits

Author SHA1 Message Date
tomFlowee d3a36346af Port create_directories to std 2026-02-22 12:28:56 +01:00
tomFlowee 9f54adeb13 Sync modules config loading.
Move the module manager loading to also wait for the unlocking of the
data dir.
2026-02-12 16:39:42 +01:00
tomFlowee 97565fbb95 Fix lack of translations in module description
This moves the installation of the translation module to be before
the initialization of the datastructures of the module
2026-01-19 21:42:35 +01:00
tomFlowee 399cc33716 Expect bigger save-file. 2026-01-14 17:37:47 +01:00
tomFlowee d396e1bdfd Improve UX of desktop wallet
This redoes the "AccountDetails" page, matching ideas from the mobile
wallet and fixing a lot of bad interactions.

This also looked at the colors in desktop to be consistent and nicer.

Lots of smaller fixes and UI changes.
2025-11-16 12:35:01 +01:00
tomFlowee 708c63c880 Redo the AccountsList page
This cleans up and re-does the 'wallets' page, as it is named in the
menu.
This adds some features and inlines some not reused content but mostlie
redoes the UX to something more satisfying.
2025-11-01 21:55:33 +01:00
tomFlowee 3aee43d531 Handle NFC scanning resulting in a page opening. 2025-10-28 14:48:18 +01:00
tomFlowee 99e1f1e762 Allow a module to request saving 2025-10-20 21:50:50 +02:00
tomFlowee 963ce1064c Ensure the module is easier to implement
Now we make sure that setEnabled and loadSettings are always called for
each module info class, even if the save file doesn't have the relevant
properties.

This makes it easier to tie into the setup of the app.
2025-10-12 23:09:39 +02:00
tomFlowee 9a2a7538b7 Defensive programming.
So, if this goes wrong, avoid registring the translation module too.
2025-10-08 22:54:27 +02:00
tomFlowee 7b693e9a60 Add priority to modules for display purposes. 2025-02-25 17:04:13 +01:00
tomFlowee 122234c2e3 Add getter to find a certain plugin, any section 2025-02-01 17:17:57 +01:00
tomFlowee 837bad6a13 Add Module section type; other-default
This section type means that the module will have it's icon shown in
the 'Explore' tab always, it can not be disabled by users and as such
it just becomes an overflow of the main app avoiding worry about a
module not being found.
2024-12-31 15:57:17 +01:00
tomFlowee 33799f0c1f Add new tab 'Explore'.
Continuing the 'rework send page' series.

This moves stuff that had no business being on the "Send" page to
live on a new tab instead. Prime example was the 'sweep' module
that creates a transaction we send, but to ourselves. So it's far
fetched that it fits in 'send'.
2024-12-22 17:23:27 +01:00
tomFlowee 644241255f Revert "API level rename of 'send' to 'action'"
This reverts commit 9f69241bbb.

Reason for revert is that instead of renaming the send, we're now
creating a new tab instead. So we'll keep "Send" and add a new one
as well.
2024-12-22 15:02:30 +01:00
tomFlowee 19a19df5d3 No longer make sweep module enabled by default
With webpage based scanning and the landing page button, the access is
there. No need to have a button always on the 'send' tab.
2024-10-27 21:54:48 +01:00
tomFlowee 0fc17ea5f8 Add bch-wif scheme support for mobile
This allows a user to click on a link in a browser with the bch-wif
scheme and we'll handle that with a sweep page on startup.

To avoid this being just-another-special case we introduce a new
module (read: plugin) concept that is a Start-screen type.
The idea is that we can have a generic handling of this type in
various parts of the app without it being specifically about the
wif handling.

Notice that it doesn't matter if the user has the module enabled,
which just operates the display of the menu option to start it manually.
2024-10-27 21:54:48 +01:00
tomFlowee afa23dba9b Also move control of 'enabled' to the module dev.
The virtua method allows full freedom for module devs to interpret the
user enabling or disabling the module and any of it child sections.
2024-10-27 21:54:48 +01:00
tomFlowee a8a2cf8329 Upgrade module config saving
This moves the saving of the enabled-ness of a module to be for the
entire module instead of for each section.
To allow a module to be 'configurable' (for disabling section among
others) we add a virtual method to the ModuleInfo object to allow a
module to save anything it wants.
2024-10-27 21:54:48 +01:00
tomFlowee 9f69241bbb API level rename of 'send' to 'action'
As we get more modules it turns out that the 'send' tab as originally
envisioned isn't really representative of how we're evolving.
Various items end up being about doing 'stuff' in general. Including
creating a transaction to receive. Only in a very loose way can we
say those are 'send' items.

So, without actually any user-visible changes, this renames the
enum in the module manager and module-section to make it about the
more accurate "action menu".
2024-10-19 23:09:20 +02:00
tomFlowee 0d1b202302 Fix typo in methodname 2024-10-08 22:04:23 +02:00
tomFlowee 7664e167a0 Add default-enabled modules section.
Lets make the 'sweep' module enabled by default on first start.
2024-10-08 21:17:09 +02:00
tomFlowee 1c466b62f6 add some 'as_const' to avoid detaching Qt containers 2024-10-08 21:17:09 +02:00
tomFlowee 491af94040 Provide another plugin integration.
Plugins can be plugged into the main menu and the send menu already,
this adds the ability for a (section of a) plugin to be loaded as
custom component in the main app, among others.
2024-06-23 19:37:52 +02:00
tomFlowee b24a939b93 Be nice to devs. 2024-01-30 17:22:12 +01:00
tomFlowee 8e0c7c57e6 Follow Streaming::pool() refactor
This upstream refactor stopped passing in the pool by pointer and
now wraps it in a shared_ptr.

A lot less 'address-of' operators and generally cleaner code are
the result.
2023-12-22 16:46:23 +01:00
tomFlowee 7f5e4130ad Move the Netview to a module of its own: Peers-view 2023-07-04 22:35:58 +02:00
tomFlowee fd70f18c06 Port saving code to std lib
The various places we save files used different libraries to do that
work. This commit lets all use the same std lib methods consistently.
2023-06-18 17:43:26 +02:00
tomFlowee 44379f2650 Defensive programming.
Don't assume the module exist on loading its config.
2023-06-14 23:10:13 +02:00
tomFlowee 8d4b4ea7ca Persist user choice of which module is enabled
Code the load/save methods for storing module enabled-ness
2023-06-13 18:15:48 +02:00
tomFlowee c25adfffa0 After an API review.
This simplyfies things and ensures the translations are loaded before
any possible tr() calls.
2023-06-13 15:59:37 +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