feat: Desktop Launcher Polish#21
Merged
Merged
Conversation
MS4 closeout (interim animation approach): - AppLauncher popup now fades (QGraphicsOpacityEffect) and slides up (QPropertyAnimation on pos) on open via a shared enter animation (250ms OutCubic), and reverses on close (150ms InCubic -> hide). Re-entry cancels any in-flight exit and vice-versa; the enter initial frame is seeded before show() so the popup never flashes opaque. - Search box: QLineEdit -> QuarkWidgets TextField (Outlined variant). Drop-in: TextField extends QLineEdit, so the live-filter connect is unchanged (connected against the base &QLineEdit::textChanged explicitly, since TextField hides that name behind a protected helper). The animation uses QPropertyAnimation rather than the QuarkWidgets MD3 engine (CFMaterialFade/SlideAnimation): the engine's MotionSpec integration is unfinished today (calculateEasedProgress is linear, durations hardcoded), so the eased QPropertyAnimation version is higher quality. A TODO in setupAnimations marks the eventual switch once the engine is completed. milestone_04 doc: header status + the section-7 TODO updated to reflect this interim and the engine-switch prerequisite. Verified: build green; app_discoverer_test 9/9, desktop_entry_index_test 7/7, builtin_panel_registry_test 5/5 pass; setupAnimations/applyAnimProgress + TextField symbols present in libCFDesktop_shared.so.
…gine Replace the interim QPropertyAnimation fade/slide with the now-finished QuarkWidgets MD3 engine: four motion-token-bound animations (enter/exit x fade/slide) whose duration + easing resolve from the active theme's IMotionSpec at start() -- shortEnter/mediumEnter for enter, shortExit/ mediumExit for exit. The enter pair starts before show() so the popup never flashes opaque; exit_fade_::finished hides the widget once the fade-out completes. Bumps the QuarkWidgets submodule to the engine-finishing commit, which: makes calculateEasedProgress non-linear, applies timing in the factory via setMotionToken, and fixes the token-mapping double-prefix plus the bogus qw::components::core forward decl that blocked including the engine from desktop code. See the submodule commit for the full engine fix. Engine caveats (pre-existing, do not block the normal open/close flow): tick() ignores the Backward direction and stop() resets to m_from, so the launcher uses Forward-only enter/exit pairs with reversed ranges and accepts a possible minor glitch if the popup is dismissed during the ~250ms enter. milestone_04 doc: animation section updated -- engine switch done; the remaining caveat is the engine Backward/stop semantics (future work). Verified: build green; app_discoverer_test 9/9, desktop_entry_index_test 7/7, builtin_panel_registry_test 5/5 pass; CFMaterialFade/SlideAnimation symbols present in libCFDesktop_shared.so.
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.
No description provided.