I still think that Script Modified is the correct status here.
From the spec:
Script Modified: The mission has been modified in the script representation, but has not been synchronized to the GUI. Use the synchronization buttons in the script editor to perform this synchronization. To revert the modifications, close the script editor without saving your changes.
Unsynchronized: The mission has been modified both in the GUI and in the script. The changes cannot be merged; you have a choice of whether to save the modifications in either representations, or whether to revert either of them. See the notes above for instructions for either case.
This situation matches the description of Script Modified; only the method to revert the status needs to change in the description.
I propose that when the script has been modified, whether it is saved or unsaved, it should use the Script Modified status. Only when the GUI and the script have both been modified should we be using the Unsynchronized status.
The current behavior has some bad side effects:
- Load a script
- Modify it in the script editor (status: Script Modified)
- Click Save in the script editor (status: Unsynchronized)
- Click Save,Sync in the script editor
The error message says:
You will lose changes made in the GUI if the script is saved...
But there are no GUI changes; there were only script changes.