Open jessjwilliamson opened 1 year ago
This looks like fun, I'll pick up the implementation of this. I'll post back some progress in a few days. :)
Nice, good luck! It's an interesting one indeed. Let us know if you have questions!
@Blargian Hi! How's the progress going? :)
Hello, I would like to try working on this but I'm having trouble with figuring out how, could I get some general pointers on what I would need to do (or what is required when working on something similar)? (How do I add to the existing dropdown, do I need to create a new UI component qml file, etc.). Any help would be appreciated!
Some ideas:
AbstractAudioResourceItem
(and especially its two subclasses), AudioResourceControl.qml
, StyledMenuLoader.qml
/StyledMenu.qml
etc.QAbstractListModel
, or a QVariantList
(or JS list); i.e. a list, not a tree. That list contains MenuItem
s, as defined in menuitem.h
, or a QVariantMap
(or JS object) with the same entries; and such a menu item contains a property called subitems
, which is again a list of menu items. So, there is a kind of tree structure, but only an "ad hoc" one, and not a real QAbstractItemModel
(as opposed to QAbstractListModel
).
But to implement the tree-like UI in a somewhat comfortable way, it seems essential to use QML's TreeView component, together with a QAbstractItemModel
. So, either you'd need to generate one based on the ad hoc tree structure, or completely replace the ad hoc structure.StyledMenu
components, or as a completely new component. With the first option, you risk that it adds a performance penalty to all instances of StyledMenu
that don't make use of the feature; with the second one, you risk code duplication.
My guess in this case would be that option 2 might still be better:
StyledMenu.qml
as inspiration for how to do a menu-like popup)StyledListView
and any other relevant stuff from StyledMenu.qml
into a new component called StyledMenuContent.qml
, and reuse that new component in your new container componentQAbstractItemModel
(i.e. a real tree model) to the container component; for the StyledMenuContent component, generate an ad hoc tree structure based on the tree model, as the StyledMenuContent expects; for the TreeView-based component, specify the QAbstractItemModel directly. But I find it difficult to say what would be the best way; absolutely feel free to experiment with it.SortFilterProxyModel
(not Q…
) might come in handy. It's used for example in AdvancedPreferencesModel
and `ScoresListView.Hello,
My colleage, @SirKuzalot, and I started working on this feature. Though we have not yet managed to create the Tree-Like Structure that was intended, we have created the desired filter system for the menus. Though not final, we hope that it may assist in future final implementations of the requested feature We shall submit a PR marked as draft so the changes may be seen
Your idea
To have a faster and more efficient way for users to search for sounds or audio FXs in the Mixer, a search box is a way to make quicker results.
Problem to be solved
This will solve slow, FX locating issues, especially for users who have lots and lots of plugins installed on their computers.
Prior art
No response
Additional context
This is a collaboration project with me, I have already made designs for this, only implementation needed.
Here are the designs with a UX flow in a Figma project: https://www.figma.com/file/f5JfTbhKggUjPfTMoqyynH/Search-box-in-Mixer?type=design&node-id=6-35