feat(ui/ux): replace "Add Tag/Field" modals with search+create bar(s) with autocomplete#1451
Open
CyanVoxel wants to merge 20 commits into
Open
feat(ui/ux): replace "Add Tag/Field" modals with search+create bar(s) with autocomplete#1451CyanVoxel wants to merge 20 commits into
CyanVoxel wants to merge 20 commits into
Conversation
This reverts commit c8ba9b1.
CyanVoxel
marked this pull request as ready for review
July 19, 2026 21:45
8 tasks
Collaborator
|
Ok, I've taken a look at the code for the new suggest box to understand the idea behind the MVC approach you have gone for here.
Assuming that this is accurate, this could also serve as a starting point for the updated MVC docs |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR changes the functionality of the "Add Tag" and "Add Field" buttons, removing the search modal windows and replacing them with an inline tag search and creation bar. This bar is designed to speed up searching for tags/field templates to add to entries and greatly reduce friction with the tag creation workflow, especially for new libraries. This is intended to cover and enhance most tagging workflow needs, however the option for a persistent dockable search list modal is still planned for the future in order to cover additional workflows that aren't covered by an autocomplete search bar.
Full Features
Project Layout
Full disclosure, this PR is also trojan horsing in some MVC-related changes that I've been honing in on while developing this. As someone who's been knee-deep in all flavors of the newer UI paradigms we've been using in the project, I've gotten a real good feel for what's been working and what hasn't. Many of the new UI files here ended up spinning off from the search modal/panel classes, which became so heavily modified while I was developing an embedded search that I just split my changes off into new classes. I'd eventually like to go back and retroactively apply the paradigms introduced here into the older classes (and try to reduce code duplication where possible).
The gist of these changes comes down to me using a more traditional MVC setup and tailoring it to Qt's needs, using views as layouts and controllers as final widgets. This solves every problem I've had with the existing MVC guidelines and implementations while meeting the goals set out for the MVC refactor in the first place, all while fitting in cleanly with Qt's widget system. I'm also starting to make some other opinionated changes after working with this part of the codebase so much, like dropping
controllerfrom controller filenames and using_singleunderscore names for private variables instead of using both_singleand__doublenames that were trying to mimic a semblance of private/protected variables in a language that just unfortunately doesn't have that functionality (name mangling doesn't count). In my experience working with the areas of the codebase that had accrued these changes, it's just become way more cumbersome than helpful.TODO
This PR
Do the same for "Add Field", or at least make it functional in the meantimeFix issue with removing tags not updating the autocomplete while its openFix tag appearances where they used to be wideLikely Future PRs
with an indicator of which one will be addedCloses #1379.
Tasks Completed