Skip to content

Conversation

@danirod
Copy link
Owner

@danirod danirod commented Aug 21, 2025

This commit implements a new shell for Cartero. It will change the application windows and the content chrome (the toolbar). This is NOT an occasion to rewrite additional panels, as the new shell is going to continue using the EndpointPane that is just refactored.

The goals of this PR are:

  • Move some actions where they make sense.
  • Simplify some of the callback logic (currently there are too many things happening whenever the "open" or "save" actions are triggered).
  • Add support for multiple windows (fixing Support multiple windows #258 in the process).
  • Remove the duplicate template definitions for the Windows / non-CSD version of Cartero.
  • Make the shell more sustainable so that the sidebar required for collections (Collections #11) can be added.

The purpose of this commit is to remove the code from the activate() and
open() functions, as well as scrap the setup_app_actions().

The new shell uses completely different code. This commit exists to help
dealing with the possible conflicts when the branch is rebased on top of
the current trunk.
@danirod danirod self-assigned this Aug 21, 2025
@danirod danirod linked an issue Aug 21, 2025 that may be closed by this pull request
danirod added a commit that referenced this pull request Aug 22, 2025
The settings window used to be an AdwPreferenceDialog; now it's a
standard AdwWindow that presents a NavigationSplitView.

Reasons:

1. It has to happen anyway in order to move to multiple windows (#258,
#266). The new window actually uses the proposed system: there is a
Shell and it gets added to an anonymous window.
2. More options will be added soon, so more space will be needed anyway
(#190, #136, #265, #268). I don't feel comfortable adding more
PreferencePages, so there's that.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support multiple windows

2 participants