Skip to content

Commit 6f6bdcc

Browse files
committed
prevent duplicate container name
1 parent d473d2b commit 6f6bdcc

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

src/dialogs/create_distrobox_dialog.rs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -313,14 +313,28 @@ impl CreateDistroboxDialog {
313313

314314
content.append(&create_btn);
315315

316-
// Add name validation for Create button sensitivity
316+
// Add name validation for Create button sensitivity and duplicate name check
317317
imp.name_row.connect_changed(clone!(
318318
#[weak]
319319
create_btn,
320+
#[weak(rename_to=this)]
321+
self,
320322
move |entry| {
321323
let text = entry.text();
322324
let is_valid = !text.is_empty() && backends::CreateArgName::new(&text).is_ok();
323-
create_btn.set_sensitive(is_valid);
325+
326+
// Check for duplicate container names
327+
let mut has_duplicate = false;
328+
if is_valid {
329+
for container in this.root_store().containers().iter() {
330+
if container.name() == text.as_str() {
331+
has_duplicate = true;
332+
break;
333+
}
334+
}
335+
}
336+
337+
create_btn.set_sensitive(is_valid && !has_duplicate);
324338
}
325339
));
326340

0 commit comments

Comments
 (0)