Skip to content

Commit 2fead48

Browse files
Merge pull request #231 from Checkmarx/bug/disableScanStartBtn
Disable scan start button if not selected Project and Branch (AST-79348)
2 parents f577dab + 0f01b6f commit 2fead48

File tree

3 files changed

+18
-10
lines changed

3 files changed

+18
-10
lines changed

ast-visual-studio-extension/CxExtension/Toolbar/BranchesCombobox.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,11 @@ public async Task LoadBranchesAsync(string projectId)
9797
/// <param name="e"></param>
9898
public void OnChangeBranch(object sender, SelectionChangedEventArgs e)
9999
{
100-
if (!(sender is ComboBox branchesCombo) || branchesCombo.SelectedItem == null || branchesCombo.SelectedIndex == -1) return;
100+
if (!(sender is ComboBox branchesCombo) || branchesCombo.SelectedItem == null || branchesCombo.SelectedIndex == -1)
101+
{
102+
cxToolbar.CheckScanButtonStateByCombos();
103+
return;
104+
}
101105

102106
ResetFilteringState(branchesCombo.SelectedItem as ComboBoxItem);
103107

@@ -118,7 +122,7 @@ public void OnChangeBranch(object sender, SelectionChangedEventArgs e)
118122

119123
_ = scansCombobox.LoadScansAsync(projectId, selectedBranch);
120124

121-
cxToolbar.ScanButtonByCombos();
125+
cxToolbar.CheckScanButtonStateByCombos();
122126
}
123127
protected override void ResetOthersComboBoxesAndResults()
124128
{

ast-visual-studio-extension/CxExtension/Toolbar/CxToolbar.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public void Init()
163163
control.IsChecked = readOnlyStore.GetBoolean(SettingsUtils.groupByCollection, groupBy.ToString(), SettingsUtils.groupByDefaultValues[groupBy]);
164164
}
165165

166-
ScanButtonByCombos();
166+
CheckScanButtonStateByCombos();
167167

168168
_ = IdeScansEnabledAsync();
169169

@@ -311,11 +311,11 @@ private static async Task<bool> ASTProjectMatchesWorkspaceProjectAsync(EnvDTE.DT
311311
return false;
312312
}
313313

314-
public void ScanButtonByCombos()
314+
public void CheckScanButtonStateByCombos()
315315
{
316-
var projectId = SettingsUtils.GetToolbarValue(Package, SettingsUtils.projectIdProperty);
317-
var branch = SettingsUtils.GetToolbarValue(Package, SettingsUtils.branchProperty);
318-
ScanStartButton.IsEnabled = !(string.IsNullOrEmpty(projectId) || string.IsNullOrEmpty(branch));
316+
var isProject = ProjectsCombo?.SelectedItem != null && ProjectsCombo.SelectedIndex != -1;
317+
var isBranch = BranchesCombo?.SelectedItem != null && BranchesCombo.SelectedIndex != -1;
318+
ScanStartButton.IsEnabled = isProject && isBranch;
319319
}
320320

321321
private async Task IdeScansEnabledAsync()
@@ -410,7 +410,7 @@ private async Task PollScanStartedAsync()
410410
var scanId = SettingsUtils.GetToolbarValue(Package, SettingsUtils.createdScanIdProperty);
411411
if (string.IsNullOrWhiteSpace(scanId))
412412
{
413-
ScanStartButton.IsEnabled = true;
413+
CheckScanButtonStateByCombos();
414414
return;
415415
};
416416
var options = default(TaskHandlerOptions);

ast-visual-studio-extension/CxExtension/Toolbar/ProjectsCombobox.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,11 @@ private async Task LoadProjectsComboboxAsync()
143143
public void OnChangeProject(object sender, SelectionChangedEventArgs e)
144144
{
145145
ComboBox projectsCombo = cxToolbar.ProjectsCombo;
146-
if (projectsCombo == null || projectsCombo.SelectedItem == null || projectsCombo.SelectedIndex == -1) return;
146+
if (projectsCombo == null || projectsCombo.SelectedItem == null || projectsCombo.SelectedIndex == -1)
147+
{
148+
cxToolbar.CheckScanButtonStateByCombos();
149+
return;
150+
}
147151

148152

149153
ResetFilteringState(projectsCombo.SelectedItem as ComboBoxItem);
@@ -168,7 +172,7 @@ public void OnChangeProject(object sender, SelectionChangedEventArgs e)
168172

169173
_ = branchesCombobox.LoadBranchesAsync(selectedProject);
170174

171-
cxToolbar.ScanButtonByCombos();
175+
cxToolbar.CheckScanButtonStateByCombos();
172176
}
173177

174178
protected override void ResetOthersComboBoxesAndResults()

0 commit comments

Comments
 (0)