Add unit validation with red highlighting and status bar feedback

Units that cannot be executed are shown in red on both the Units and
Plans tabs.  Validation checks target existence/executability, shell
definition lookup, working directory existence, rectifier
existence/executability, and environment file existence.

The unit properties dialog applies live validation with GTK error
styling on each field and reports issues to the status bar as the
user edits.  Selecting a unit or task re-runs validation so the
status bar always reflects the selected item.

Also separates plan dirty state from unit editor dirty state so
editing unit properties no longer marks the plan as unsaved.
This commit is contained in:
Chris Punches
2026-03-16 03:21:25 -04:00
parent 219e316822
commit e852b7e182
10 changed files with 274 additions and 53 deletions

View File

@@ -30,6 +30,7 @@ public:
PlanView(Project& project, GrexConfig& grex_config);
GtkWidget* widget() { return root_; }
void refresh();
void reload_plan_from_disk();
bool is_dirty() const;
void save_dirty();
void revert_dirty();