Skip to content

Commit b995296

Browse files
committed
dialog/rule: clear add conditon button to avoid duplicate buttons
1 parent c2fe7f8 commit b995296

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

src/dialog_rule_common.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ func buildRuleDialogContent(
7070
conditionsListBox.Append(logicRow)
7171

7272
var conditionRows []*gtk.ListBoxRow
73+
var addConditionRow *adw.ActionRow
7374
var rebuildConditions func()
7475

7576
rebuildConditions = func() {
@@ -79,6 +80,12 @@ func buildRuleDialogContent(
7980
}
8081
conditionRows = nil
8182

83+
// Clear the "Add Condition" button if it exists
84+
// Avoids losing track and having multiple buttons unexpectedly
85+
if addConditionRow != nil {
86+
conditionsListBox.Remove(addConditionRow)
87+
}
88+
8289
// Build condition rows
8390
for i := range *conditions {
8491
condIdx := i
@@ -93,7 +100,7 @@ func buildRuleDialogContent(
93100
}
94101

95102
// Add "Add Condition" row at the end of the list
96-
addConditionRow := adw.NewActionRow()
103+
addConditionRow = adw.NewActionRow()
97104
addConditionRow.SetTitle("Add Condition")
98105
addConditionRow.AddPrefix(gtk.NewImageFromIconName("list-add-symbolic"))
99106
addConditionRow.SetActivatable(true)

0 commit comments

Comments
 (0)