Today, we bring you a new report on the Maui Project’s progress.
A few weeks away from the next stable release of MauiKit and the Maui apps, we want to share some of the new features, bug fixes, and changes coming to the next stable release.
To follow the Maui Project’s development or to say hi, you can join us on Telegram: https://t.me/mauiproject.
We are present on Twitter and Mastodon:
2021 goals and plans
- Fully utilize CMake. [Done]
- Developers can build apps and the framework with CMake for all targeted platforms.
- More feature-rich applications. [In Progress]
- Pix image editor and GPS location browsing.
- Vvave metadata editor and cloud streaming.
- Improve data synchronization using NextCloud. [Pending]
- Only Buho and Vvave have initial and basic support.
- Improve performance. [In progress]
- MauiKit framework split out.
- Improve the UI cohesion on all supported platforms. [In Progress]
- Move beta apps to stable. [In Progress]
- The Clip movie player has been moved to stable, missing the Sol web browser and Shelf document viewer.
Maui framework and apps next stable release is scheduled for the first week of May 2021, and after that, there will be a greater stabilization for the next biggest release, 2.0
Beta AppImages for Linux desktop and mobile computers will be available in the upcoming week and APKs for Android and Windows installers.
For more early previews of packages and get involved, you can join us on Telegram. Links above.
The MauiKit framework has been split out into sub-libraries. Now developers creating applications using the framework do not have to drag unneeded dependencies for extra controls. The deployment of packages on platforms like Android, Windows, and macOS gets lighter, the same for AppImages.
For the upcoming release, there are three new libraries:
MauiKit::FileBrowsing MauiKit remains being core component for the former three.
MauiKit still has some parts that will be moving out in upcoming releases:
MauiKit is the core library for creating Maui apps; the visual components can be imported from QML using the URI:
org.mauikit.controls The visual controls are independent and can be mixed with other controls from other frameworks such as Kirigami without any problem.
MauiKit also contains utilities for the back-end and data modeling; to use this, MauiKit can be linked.
For modeling data, MauiKit offers
MauiKit::MauiList which is an easy way to represent data and use it as a model with
MauiKit::BaseModel The header file FMH contains enums and helpers to manipulate the templated MauiKit data modeling structures.
Another backend utility for tweaking the application and setting up information is the
For this upcoming release MauiKit has gained some new convergent controls:
Used to pick from a list of different colors. It provides a common UI for this common pattern.
The TabView control helps to quickly and dynamically create new tabbed views. The port view to switch between tabs gets adapted from a mobile-friendly grid view to an old-style tab UI on desktop computers.
Apps like Index, Station, and Nota are already using this new control.
A popup menu that gets adapted from mobile handheld devices to desktop computers. It is still the same old menu popup on desktop computers, but the menu positioning is more accessible on mobile devices.
A library to browse the local file system but also NextCloud servers and tagging files.
To use the visual controls, the URI can be imported from QML:
Some of the visual controls are:
For the backend library, The apps can use the following classes to query, retrieve quickly, and model the file system:
- FMStatic for command file actions
- FM and FMList for listing files
- FileLoader for asynchronous loading files from multiple locations
- Downloader to download remote files
- Tagging for file tagging
Provides an already made text editor with the basic functionality plus: find and replace and syntax highlighting, document changes alerts, lines numbers, file opening, and saving.
To use the TextEditor UI control, the URI can be imported from QML:
Provides tools and controls to visualize and edit images and gather metadata information.
The apps can import the visual controls from QML by using
Some of the visual controls are:
When linking to this library, the apps can use the following classes:
PicInfoModel, for getting EXIF and file metadata information.
All apps have been updated to use the latest MauiKit import URIs and the newest controls.
The Index file manager has gained a new tab views design, and the embedded terminal is now available if the QMLTermWidget is installed instead of passing the option at build time.
The history navigation issues have been fixed.
Cleaner toggle buttons to switching from the grid to the list view.
Cleaner main toolbar with fewer view icons.
Working metadata editor.
Cleaner toggle buttons to switching from the grid to the list views.
Metadata information retrieved using the exiv2 library from MauiKit::ImageTools.
Better image editor toolbar layout being imported from org.mauikit.imagetools.
Cleaner toggle buttons for switching from grid to list view in the gallery views.
GPS decoding and location browsing are still pending.
Now uses the new convergent tabs design from MauiKit.
The command shortcuts were cleanup and improved to trigger and save commands more quickly.
Uses the new convergent tabs view.
The embedded terminal is now available if the QMLTermWidget package is installed.
Cleaner toggle buttons to switch from grid to list view in the recent documents view.
The alerts header informing on file changes has now been fixed, coming from MauiKit::TextEditor.
Buho, Clip, Communicator and Shelf
We’ve fixed these apps updated them to the latest MauiKit and minor issues.