Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • S squeekboard
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 129
    • Issues 129
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 10
    • Merge requests 10
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • World
  • Phosh
  • squeekboard
  • Merge requests
  • !577

layout: cleanups

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged dcz requested to merge dcz/squeekboard:splitl into master Oct 01, 2022
  • Overview 0
  • Commits 9
  • Pipelines 2
  • Changes 8

Here's some rewrite of handling layouts. The only functional change is that multiple graphical buttons are no longer allowed to control the same interaction. That feature wasn't used anywhere to my knowledge, so no one will miss it.

The biggest benefit from the cleanups is that cacheable information about layouts has been separated from runtime state, making it a bit easier to understand the whole thing. It also opens the door to layout caching, which can be helpful here: #337

Finally, this moves all the mutability/side effects closer together (state updates are less tied to logic, but input method events are still interleaved), moving us closer to getting all logic separate from all updates. That's a unit testing improvement, and also brings panel contents handling nearer to the state machine/actor model known from state.rs.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: splitl