Skip to content

refactor(ui): MVC split MainWindow and related classes - #1548

Merged
CyanVoxel merged 5 commits into
devfrom
refactor/main-window
Oct 21, 2026
Merged

CyanVoxel merged 5 commits into
devfrom
refactor/main-window

Conversation

@CyanVoxel

Copy link
Copy Markdown
Member

Note

This PR is targeting the dev branch for release with Alpha v9.7.

Summary

This PR splits the MainWindow and related classes per the MVC guidelines. Related classes include the MenuBar, LandingPage, a new SearchBar class, and a new BrowsingArea class. These split classes hold whichever widgets their responsible for and makes it easier to rearrange and change for upcoming UI updates.

A lot of widget initialization and signal/callback connecting has also been moved out of the QtDriver and into its respective classes, bringing the size of the driver down by about 360 lines. This is part of an ongoing effort to clean up and tame that thing.

Progress on #1460.

Tasks Completed

  • Platforms Tested:
    • Windows x86
    • Windows ARM
    • macOS x86
    • macOS ARM
    • Linux x86
    • Linux ARM
  • Tested For:
    • Basic functionality
    • PyInstaller executable

@CyanVoxel CyanVoxel added this to the Alpha v9.7.0 milestone Oct 21, 2026
@CyanVoxel CyanVoxel added Type: Refactor Code that needs to be restructured or cleaned up Type: UI/UX User interface and/or user experience labels Oct 21, 2026
@CyanVoxel CyanVoxel moved this to 🍃 Pending Merge in TagStudio Development Oct 21, 2026
@CyanVoxel
CyanVoxel merged commit da421f8 into dev Oct 21, 2026
12 checks passed
@github-project-automation github-project-automation Bot moved this from 🍃 Pending Merge to ✅ Done in TagStudio Development Oct 21, 2026
@CyanVoxel
CyanVoxel deleted the refactor/main-window branch October 21, 2026 17:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Type: Refactor Code that needs to be restructured or cleaned up Type: UI/UX User interface and/or user experience

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

1 participant