@@ -474,17 +474,29 @@ public void restoreFilterConfig() {
474
474
}
475
475
476
476
private class AddNewFilterAction extends AbstractAction {
477
+ private static final String STR_ACTION_NAME = "Neuen Filter anlegen" ;
477
478
public AddNewFilterAction () {
478
479
putValue (Action .SMALL_ICON , SVGIconUtilities .createSVGIcon ("icons/fontawesome/plus.svg" ));
479
- putValue (Action .SHORT_DESCRIPTION , "Neuen Filter anlegen" );
480
+ putValue (Action .SHORT_DESCRIPTION , STR_ACTION_NAME );
480
481
}
481
482
482
483
@ Override
483
484
public void actionPerformed (ActionEvent e ) {
484
- FilterDTO newFilter = new FilterDTO (UUID .randomUUID (), String .format ("Filter %d" , filterConfig .getAvailableFilters ().size () + 1 ));
485
- filterConfig .addNewFilter (newFilter );
486
- checkDeleteCurrentFilterButtonState ();
487
- filterSelectionComboBoxModel .setSelectedItem (newFilter );
485
+ String newFilterName = (String )JOptionPane .showInputDialog (MediathekGui .ui (), "Filtername:" ,
486
+ STR_ACTION_NAME , JOptionPane .PLAIN_MESSAGE , null , null ,
487
+ String .format ("Filter %d" , filterConfig .getAvailableFilters ().size () + 1 ));
488
+ if (newFilterName != null ) {
489
+ filterConfig .findFilterForName (newFilterName ).ifPresentOrElse (f ->
490
+ JOptionPane .showMessageDialog (MediathekGui .ui (),
491
+ "Ein Filter mit dem gewählten Namen existiert bereits!" ,
492
+ STR_ACTION_NAME , JOptionPane .ERROR_MESSAGE ), () -> {
493
+ FilterDTO newFilter = new FilterDTO (UUID .randomUUID (), newFilterName );
494
+ filterConfig .addNewFilter (newFilter );
495
+ checkDeleteCurrentFilterButtonState ();
496
+ filterSelectionComboBoxModel .setSelectedItem (newFilter );
497
+ });
498
+
499
+ }
488
500
}
489
501
}
490
502
0 commit comments