diff --git a/lib/Slic3r/GUI/OptionsGroup.pm b/lib/Slic3r/GUI/OptionsGroup.pm index 7e7009dda..426565481 100644 --- a/lib/Slic3r/GUI/OptionsGroup.pm +++ b/lib/Slic3r/GUI/OptionsGroup.pm @@ -209,6 +209,8 @@ Slic3r::GUI::ConfigOptionsGroup - pre-filled Wx::StaticBoxSizer wrapper containi =cut +use List::Util qw(first); + has 'config' => (is => 'ro', required => 1); sub _trigger_options { @@ -232,6 +234,13 @@ sub _trigger_options { } @{$self->options}; } +sub _option { + my $self = shift; + my ($opt_key) = @_; + + return first { $_->{opt_key} =~ /^\Q$opt_key\E(#.+)?$/ } @{$self->options}; +} + sub set_value { my $self = shift; my ($opt_key, $value) = @_; diff --git a/lib/Slic3r/GUI/Tab.pm b/lib/Slic3r/GUI/Tab.pm index c568dfe1f..d781577fc 100644 --- a/lib/Slic3r/GUI/Tab.pm +++ b/lib/Slic3r/GUI/Tab.pm @@ -194,7 +194,7 @@ sub on_select_preset { $self->reload_values; $self->set_dirty(0); $Slic3r::GUI::Settings->{presets}{$self->name} = $preset->{file} ? basename($preset->{file}) : ''; - Slic3r::GUI->save_settings("$Slic3r::GUI::datadir/slic3r.ini"); + Slic3r::GUI->save_settings; } sub add_options_page {