Only support single setting file at a time

Signed-off-by: Sanjula Ganepola <sanjulagane@gmail.com>
This commit is contained in:
Sanjula Ganepola
2024-11-22 20:16:29 -05:00
parent 5554557372
commit 2082c3c312

View File

@@ -234,9 +234,24 @@ export default class SettingsTreeDataProvider implements TreeDataProvider<Github
newSetting.selected = (state === TreeItemCheckboxState.Checked); newSetting.selected = (state === TreeItemCheckboxState.Checked);
await act.settingsManager.editSetting(treeItem.workspaceFolder, newSetting, treeItem.storageKey); await act.settingsManager.editSetting(treeItem.workspaceFolder, newSetting, treeItem.storageKey);
} else { } else {
const isSelected = (state === TreeItemCheckboxState.Checked);
// Update check box state for current setting file tree item
const newSettingFile = treeItem.settingFile; const newSettingFile = treeItem.settingFile;
newSettingFile.selected = (state === TreeItemCheckboxState.Checked); newSettingFile.selected = isSelected;
await act.settingsManager.editSettingFile(treeItem.workspaceFolder, newSettingFile, treeItem.storageKey); await act.settingsManager.editSettingFile(treeItem.workspaceFolder, newSettingFile, treeItem.storageKey);
// Update check box state for other setting file tree items
if (isSelected) {
const settingFiles = await act.settingsManager.getSettingFiles(treeItem.workspaceFolder, treeItem.storageKey);
for (const settingFile of settingFiles) {
if (settingFile.selected && settingFile.path !== treeItem.settingFile.path) {
const newSettingFile = settingFile;
newSettingFile.selected = false;
await act.settingsManager.editSettingFile(treeItem.workspaceFolder, newSettingFile, treeItem.storageKey);
}
}
}
} }
} }
this.refresh(); this.refresh();