adapt reload dialog for new option

This commit is contained in:
Michael Kirsch 2019-07-13 00:05:54 +02:00 committed by Joseph Lenox
parent 29d3e46736
commit cf4900f5c8
2 changed files with 32 additions and 13 deletions

View File

@ -2558,21 +2558,27 @@ sub reload_from_disk {
}
my $reload_behavior = $Slic3r::GUI::Settings->{_}{reload_behavior};
my $reload_preserve = $Slic3r::GUI::Settings->{_}{reload_preserve};
# ask the user how to proceed, if option is selected in preferences
if ($org_obj_has_modifiers && !$Slic3r::GUI::Settings->{_}{reload_hide_dialog}) {
my $dlg = Slic3r::GUI::ReloadDialog->new(undef,$reload_behavior);
if (!$Slic3r::GUI::Settings->{_}{reload_hide_dialog}) {
my $dlg = Slic3r::GUI::ReloadDialog->new(undef,$reload_behavior,$reload_preserve);
my $res = $dlg->ShowModal;
if ($res==wxID_CANCEL) {
$dlg->Destroy;
return;
}
$reload_behavior = $dlg->GetSelection;
$reload_behavior = $dlg->GetAdditionalOption;
$reload_preserve = $dlg->GetPreserveTrafo;
my $save = 0;
if ($reload_behavior != $Slic3r::GUI::Settings->{_}{reload_behavior}) {
$Slic3r::GUI::Settings->{_}{reload_behavior} = $reload_behavior;
$save = 1;
}
if ($reload_preserve != $Slic3r::GUI::Settings->{_}{reload_preserve}) {
$Slic3r::GUI::Settings->{_}{reload_preserve} = $reload_preserve;
$save = 1;
}
if ($dlg->GetHideOnNext) {
$Slic3r::GUI::Settings->{_}{reload_hide_dialog} = 1;
$save = 1;

View File

@ -11,11 +11,11 @@ use base 'Wx::Dialog';
sub new {
my $class = shift;
my ($parent,$default_selection) = @_;
my $self = $class->SUPER::new($parent, -1, "Additional parts and modifiers detected", wxDefaultPosition, [350,100], wxDEFAULT_DIALOG_STYLE);
my ($parent,$default_selection,$default_preserve) = @_;
my $self = $class->SUPER::new($parent, -1, "Reload options", wxDefaultPosition, [350,100], wxDEFAULT_DIALOG_STYLE);
# label
my $text = Wx::StaticText->new($self, -1, "Additional parts and modifiers are loaded in the current model. \n\nHow do you want to proceed?", wxDefaultPosition, wxDefaultSize);
my $text_additional = Wx::StaticText->new($self, -1, "Handling of additional parts and modifiers:", wxDefaultPosition, wxDefaultSize);
# selector
$self->{choice} = my $choice = Wx::Choice->new($self, -1, wxDefaultPosition, wxDefaultSize, []);
@ -24,14 +24,23 @@ sub new {
$choice->Append("Reload main file, discard added parts & modifiers");
$choice->SetSelection($default_selection);
# checkbox
$self->{checkbox} = my $checkbox = Wx::CheckBox->new($self, -1, "Don't ask again");
# label
my $text_trafo = Wx::StaticText->new($self, -1, "Handling of transformations made inside Slic3r:", wxDefaultPosition, wxDefaultSize);
# cb_Transformation
$self->{cb_Transformation} = my $cb_Transformation = Wx::CheckBox->new($self, -1, "Preserve transformation");
$cb_Transformation->SetValue($default_preserve);
# cb_HideDialog
$self->{cb_HideDialog} = my $cb_HideDialog = Wx::CheckBox->new($self, -1, "Don't ask again");
my $vsizer = Wx::BoxSizer->new(wxVERTICAL);
my $hsizer = Wx::BoxSizer->new(wxHORIZONTAL);
$vsizer->Add($text, 0, wxEXPAND | wxALL, 10);
$vsizer->Add($choice, 0, wxEXPAND | wxALL, 10);
$hsizer->Add($checkbox, 1, wxEXPAND | wxALL, 10);
$vsizer->Add($text_additional, 0, wxEXPAND | wxALL, 10);
$vsizer->Add($choice, 0, wxEXPAND | wxLEFT | wxBOTTOM | wxRIGHT, 10);
$vsizer->Add($text_trafo, 0, wxEXPAND | wxALL, 10);
$vsizer->Add($cb_Transformation, 0, wxEXPAND | wxLEFT | wxBOTTOM | wxRIGHT, 10);
$hsizer->Add($cb_HideDialog, 1, wxEXPAND | wxALL, 10);
$hsizer->Add($self->CreateButtonSizer(wxOK | wxCANCEL), 0, wxEXPAND | wxALL, 10);
$vsizer->Add($hsizer, 0, wxEXPAND | wxALL, 0);
@ -48,13 +57,17 @@ sub new {
return $self;
}
sub GetSelection {
sub GetAdditionalOption {
my ($self) = @_;
return $self->{choice}->GetSelection;
}
sub GetPreserveTrafo {
my ($self) = @_;
return $self->{cb_Transformation}->GetValue;
}
sub GetHideOnNext {
my ($self) = @_;
return $self->{checkbox}->GetValue;
return $self->{cb_HideDialog}->GetValue;
}
1;