Ported config load / stored to C++, thanks @alexrj

Implemented import of config values from the G-code.
This commit is contained in:
bubnikv 2017-06-14 17:51:14 +02:00
parent c61e098066
commit 93dce7a2d3
7 changed files with 192 additions and 35 deletions

View file

@ -101,8 +101,14 @@ sub load {
my $class = shift;
my ($file) = @_;
my $ini = __PACKAGE__->read_ini($file);
return $class->load_ini_hash($ini->{_});
if ($file =~ /\.gcode$/i || $file =~ /\.g$/i) {
my $config = $class->new;
$config->_load_from_gcode($file);
return $config;
} else {
my $ini = __PACKAGE__->read_ini($file);
return $class->load_ini_hash($ini->{_});
}
}
# Deserialize a perl hash into the underlying C++ Slic3r::DynamicConfig class,

View file

@ -543,7 +543,7 @@ sub load_config_file {
return unless $self->check_unsaved_changes;
my $dir = $last_config ? dirname($last_config) : $Slic3r::GUI::Settings->{recent}{config_directory} || $Slic3r::GUI::Settings->{recent}{skein_directory} || '';
my $dlg = Wx::FileDialog->new($self, 'Select configuration to load:', $dir, "config.ini",
&Slic3r::GUI::FILE_WILDCARDS->{ini}, wxFD_OPEN | wxFD_FILE_MUST_EXIST);
'INI files (*.ini, *.gcode)|*.ini;*.INI;*.gcode;*.g', wxFD_OPEN | wxFD_FILE_MUST_EXIST);
return unless $dlg->ShowModal == wxID_OK;
$file = Slic3r::decode_path($dlg->GetPaths);
$dlg->Destroy;