diff --git a/CHANGELOG.md b/CHANGELOG.md index 20088ea3..93dd8291 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Fixed JS errors in Studio on certain operations (#416) +- Add menu option disabled for unsaved files (#420) - Fixed issue where selecting different item in stash list didn't update diff view (#265) - Tooltip in workspace now shows user who made uncommitted change if not current user (#411) - Files are added to source control upon creation properly (#404) diff --git a/cls/SourceControl/Git/Extension.cls b/cls/SourceControl/Git/Extension.cls index 6cfb2305..63085919 100644 --- a/cls/SourceControl/Git/Extension.cls +++ b/cls/SourceControl/Git/Extension.cls @@ -191,7 +191,12 @@ Method OnSourceMenuContextItem(itemName As %String, menuItemName As %String, ByR } elseif ##class(SourceControl.Git.Utils).IsInSourceControl(itemName) { set Enabled = $case(menuItemName, "AddToSC":-1,:1) } else { - set Enabled = $case(menuItemName, "AddToSC":1,:-1) + if (##class(SourceControl.Git.Utils).Type(itemName) = "cls") && ('$$$defClassDefined($extract(itemName, 1, $length(itemName) - 4))) { + set Enabled = -1 + } else { + set Enabled = $case(menuItemName, "AddToSC":1,:-1) + } + } if (menuItemName '= "") { set DisplayName = ..LocalizeName(menuItemName)