Add option to start app in Home/Last project - #4638
Open
xkello wants to merge 1 commit into
Open
Conversation
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.
Description
Currently the app always auto-loads the last-opened project on startup, with no way to change this. For users with large/complex projects, this means every launch pays the load cost of a project they may just want to switch away from.
This PR adds a setting under Settings -> General -> On app startup that lets the user pick between:
Fixes: #4621
What changed
app/appsettings.h/app/appsettings.cpp- newAppSettings::StartupBehaviourenum (StartupRecentProject/StartupProjectHome), exposed asstartupBehaviourproperty, persisted under thestartupBehaviourkey, following the same pattern as the existinghapticsTypesetting.app/qml/settings/components/MMSettingsDropdown.qml- added optionaldrawerTitle(falls back to the row'stitle, so existing usages are unaffected) andsecondaryTextsupport on drawer options, needed to show the per-option subtitles in the new drawer.app/qml/settings/MMSettingsPage.qml- new On app startup row under the General section (first item, before About), opening an Open on startup drawer with the two options and their subtitles, mirroring the existing "Touch Feedback" / "Interval threshold type" dropdown rows.app/qml/main.qml-Component.onCompletednow checksAppSettings.startupBehaviourfirst; ifProject homeis selected it skips loading the default project and goes straight to the projects list. TheRecent projectpath is untouched.Behaviour
defaultProjectis never cleared when in Project home mode.QSettings) and only takes effect on the next launch, not immediately.Video 1: App launch with "Recent project" selected - shows current/default behaviour, opens straight into the last project.
Screencast.From.2026-08-07.18-43-08.webm
Video 2: App launch with "Project home" selected - shows the app opening directly to the projects list, no project load.
Screencast.From.2026-08-07.18-42-43.webm
TLDR @Withalion
Adds an "On app startup" setting so users can choose whether the app opens their Recent project (current, default behaviour) or Project home (list of downloaded projects) on launch. New
AppSettings::StartupBehaviourenum persisted viaQSettings, one new settings row + drawer reusing existingMMSettingsDropdown/MMListDrawercomponents, and a small gate inmain.qml's startup logic. No new components, no CMake changes.