protected void OnCbeWorkspaceChanged(object sender, EventArgs e) { if (cbeWorkspace.Active > -1) { feLocation.Sensitive = false; } else { feLocation.Sensitive = true; //feLocation.DefaultPath = MainClass.Paths.WorkDir; return; } TreeIter tiChb; cbeWorkspace.GetActiveIter(out tiChb); workspaceName = storeWorkspace.GetValue(tiChb, 0).ToString(); string workspacePath = storeWorkspace.GetValue(tiChb, 1).ToString(); int type = Convert.ToInt32(storeWorkspace.GetValue(tiChb, 2)); string dir = workspacePath; if ((type == 1 || type == 0)) { dir = System.IO.Path.GetDirectoryName(workspacePath); if (dir.ToLower().EndsWith(workspaceName.ToLower())) { int indx = dir.ToLower().LastIndexOf(workspaceName.ToLower()); dir = dir.Remove(indx - 1, workspaceName.Length + 1); } } if (type == -1) { cbeWorkspace.Active = cbeWorkspace.Active + 1; } else if (type == 1 || type == 0) { feLocation.DefaultPath = dir; feLocation.Sensitive = false; } else if (type == 2) { feLocation.Sensitive = true; feLocation.DefaultPath = dir; } }