Open on an empty chain, and show the sources only when they are used
The window used to hand the user a Scanlines stage before they had asked for anything, which also meant the first thing on screen was "Add source images to start." — an instruction about an effect nobody chose. It now opens on "No effects yet" and waits: the chain is the subject of the interface, so the first stage is the user's to pick. The default effect was injected by the option parser, which would have put Scanlines straight back on every launch. It moves to renderHeadless, where a chain really is mandatory — a headless run must render something, while the interface has no such need. `-o out.png` with no -e is unchanged. The sources section follows the same question the render gate already asks, chainNeedsSources(): only the first stage is ever handed the sources, so a chain led by blur or text makes the whole section beside the point and it is hidden rather than left there to be filled in vain. Today that shows it for scanlines and tiles, but no effect is named in the GUI — a new one declaring needsSources() gets this for free. rebuildChainRows() is the one funnel every chain change goes through, so that is where the visibility is set. New in the project menu now starts empty too, matching what the window opens with. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -49,6 +49,8 @@ private:
|
||||
void cancelLoad();
|
||||
void appendSourceRow(const std::string& path);
|
||||
void updateSourcesLabel(); // the collapsed expander shows the count
|
||||
// The whole sources section only shows while the chain asks for sources.
|
||||
void updateSourcesVisible();
|
||||
|
||||
Gtk::Widget& buildCanvasSection();
|
||||
// "" while "Custom" is picked, otherwise the format's key.
|
||||
|
||||
Reference in New Issue
Block a user