diff --git a/src/dlangide/ui/frame.d b/src/dlangide/ui/frame.d index cff5322..d1070f9 100644 --- a/src/dlangide/ui/frame.d +++ b/src/dlangide/ui/frame.d @@ -687,7 +687,11 @@ class IDEFrame : AppFrame { return; Project project; ProjectFolder folder; - if (cast(Project)obj) { + if (cast(Workspace)obj) { + Workspace ws = cast(Workspace)obj; + ws.refresh(); + refreshWorkspace(); + } else if (cast(Project)obj) { project = cast(Project)obj; } else if (cast(ProjectFolder)obj) { folder = cast(ProjectFolder)obj; diff --git a/src/dlangide/ui/wspanel.d b/src/dlangide/ui/wspanel.d index 3c343a4..3d2f6d8 100644 --- a/src/dlangide/ui/wspanel.d +++ b/src/dlangide/ui/wspanel.d @@ -75,7 +75,8 @@ class WorkspacePanel : DockWindow { _tree.popupMenu = &onTreeItemPopupMenu; _workspacePopupMenu = new MenuItem(); - _workspacePopupMenu.add(ACTION_FILE_NEW_SOURCE_FILE, ACTION_FILE_WORKSPACE_CLOSE); + _workspacePopupMenu.add(ACTION_PROJECT_FOLDER_REFRESH, + ACTION_FILE_WORKSPACE_CLOSE); _projectPopupMenu = new MenuItem(); _projectPopupMenu.add(ACTION_FILE_NEW_SOURCE_FILE, diff --git a/src/dlangide/workspace/workspace.d b/src/dlangide/workspace/workspace.d index 36091a6..7930677 100644 --- a/src/dlangide/workspace/workspace.d +++ b/src/dlangide/workspace/workspace.d @@ -199,6 +199,12 @@ class Workspace : WorkspaceItem { } void close() { } + + void refresh() { + foreach (Project p; _projects) { + p.refresh(); + } + } } /// global workspace