}
MenuItem projectQuickItem
{
- projectMenu, $"Quick...", q, f7;
+ projectMenu, $"Quick...", q, f7, disabled = true;
bool NotifySelect(MenuItem selection, Modifiers mods)
{
if(!projectView)
{
ideSettings.AddRecentFile(fileName);
ide.UpdateRecentMenus();
+ ide.AdjustFileMenus();
settingsContainer.Save();
}
{
bool unavailable = !project;
- projectQuickItem.disabled = !unavailable;
-
projectAddItem.disabled = unavailable;
toolBar.buttonAddProject.disabled = unavailable;
viewProjectItem.disabled = unavailable;
+ AdjustFileMenus();
AdjustBuildMenus();
AdjustDebugMenus();
}
+ property bool hasOpenedCodeEditors
+ {
+ get
+ {
+ Window w;
+ for(w = firstChild; w; w = w.next)
+ if(w._class == class(CodeEditor) &&
+ w.isDocument && !w.closing && w.visible && w.created &&
+ w.fileName && w.fileName[0])
+ return true;
+ return false;
+ }
+ }
+
+ void AdjustFileMenus()
+ {
+ bool unavailable = project != null || !hasOpenedCodeEditors; // are they supported source code (ec, c, cpp, etc) ?
+
+ projectQuickItem.disabled = unavailable;
+ }
+
void AdjustBuildMenus()
{
bool unavailable = project && projectView.buildInProgress;
}
}
else
- return document;
+ return null;
}
else if(openMethod == add)
{
else
ideSettings.AddRecentFile(document.fileName);
ide.UpdateRecentMenus();
+ ide.AdjustFileMenus();
settingsContainer.Save();
return document;