Status Weekly Roundup: Desktop UI team
In the Qt/QML world, models are an important and frequently used concept. They allow us to conveniently provide data to our UI components.
The simplest generic ListView model is available directly in QML as part of QtQuick. However, we often create dedicated models in C by inheriting from classes implementing QAbstractItemModel (e.g., QAbstractListModel).
In addition, we also often use the very convenient QML library SortFilterProxyModel (
github.com/oKcerG/SortFilter…), which allows us to create in a flexible, declarative way intermediate models for sorting, filtering, and some other transformations of the source model.
SortFilterProxyModel is great, but sometimes a proxy that accepts only one source model is not enough. There is often a need to combine data from two models into one common model, in a similar way to databases where we perform JOIN operations on tables. Of course, this can always be done using a dedicated model that internally combines all the data we need.
However, the need to combine different data from different models is so common that we came up with the idea of creating a reusable proxy model implementing this type of transformation. The working name is LeftJoinModel. Currently, it is just an idea, but the first prototype implementation will be created soon. We will definitely share details in our future posts. Stay tuned!
#EthStatusProgress