File tree Expand file tree Collapse file tree 1 file changed +16
-2
lines changed
Expand file tree Collapse file tree 1 file changed +16
-2
lines changed Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments