diff --git a/lib/Slic3r/GUI/Tab.pm b/lib/Slic3r/GUI/Tab.pm index c653ede496..9562eba05f 100644 --- a/lib/Slic3r/GUI/Tab.pm +++ b/lib/Slic3r/GUI/Tab.pm @@ -97,6 +97,21 @@ sub new { $self->sync_presets; }); + EVT_BUTTON($self, $self->{btn_delete_preset}, sub { + my $i = $self->{presets_choice}->GetSelection; + return if $i == 0; # this shouldn't happen but let's trap it anyway + my $res = Wx::MessageDialog->new($self, "Are you sure you want to delete the selected preset?", 'Delete Preset', &Wx::wxYES_NO | &Wx::wxNO_DEFAULT | &Wx::wxICON_QUESTION)->ShowModal; + return unless $res == &Wx::wxID_YES; + if (-e $self->{presets}[$i-1]) { + unlink $self->{presets}[$i-1]; + } + splice @{$self->{presets}}, $i-1, 1; + $self->{presets_choice}->Delete($i); + $self->{presets_choice}->SetSelection(0); + $self->on_select_preset; + $self->sync_presets; + }); + return $self; }