void structScriptEditor :: v_nameChanged () { bool dirtinessAlreadyShown = GuiWindow_setDirty (d_windowForm, dirty); static MelderString buffer { 0 }; MelderString_copy (& buffer, name [0] ? U"Script" : U"untitled script"); if (editorClass) MelderString_append (& buffer, U" [", environmentName, U"]"); if (name [0]) MelderString_append (& buffer, U" ", MelderFile_messageName (& file)); if (dirty && ! dirtinessAlreadyShown) MelderString_append (& buffer, U" (modified)"); GuiShell_setTitle (d_windowForm, buffer.string); }
void structTextEditor :: v_nameChanged () { if (v_fileBased ()) { bool dirtinessAlreadyShown = GuiWindow_setDirty (our d_windowForm, our dirty); static MelderString windowTitle { 0 }; if (our name [0] == U'\0') { MelderString_copy (& windowTitle, U"(untitled"); if (dirty && ! dirtinessAlreadyShown) MelderString_append (& windowTitle, U", modified"); MelderString_append (& windowTitle, U")"); } else { MelderString_copy (& windowTitle, U"File ", MelderFile_messageName (& our file)); if (dirty && ! dirtinessAlreadyShown) MelderString_append (& windowTitle, U" (modified)"); } GuiShell_setTitle (our d_windowForm, windowTitle.string); //MelderString_copy (& windowTitle, our dirty && ! dirtinessAlreadyShown ? U"*" : U"", our name [0] == U'\0' ? U"(untitled)" : MelderFile_name (& our file)); } else { TextEditor_Parent :: v_nameChanged (); } }