Output directory selection changed to zip file selection with file dialog.

This commit is contained in:
tamasmeszaros 2018-05-23 16:28:18 +02:00
parent a52807df72
commit a2eecdfb25
3 changed files with 15 additions and 12 deletions

View File

@ -460,7 +460,12 @@ sub quick_slice {
wxTheApp->{app_config}->update_last_output_dir(dirname($output_file));
$dlg->Destroy;
} elsif($params{export_png}) {
my $dlg = Wx::DirDialog->new($self, L('Choose output directory'));
$output_file = $sprint->output_filepath;
$output_file =~ s/\.[gG][cC][oO][dD][eE]$/.zip/;
# my $dlg = Wx::DirDialog->new($self, L('Choose output directory'));
my $dlg = Wx::FileDialog->new($self, L('Save zip file as:'),
wxTheApp->{app_config}->get_last_output_dir(dirname($output_file)),
basename($output_file), '*.zip', wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
if ($dlg->ShowModal != wxID_OK) {
$dlg->Destroy;
return;

View File

@ -344,7 +344,7 @@ add_library(semver STATIC
# Configure rasterizer target
# ##############################################################################
find_package(PNG)
find_package(PNG QUIET)
option(RASTERIZER_FORCE_BUILTIN_LIBPNG "Force the usage of builting libpng instead of the system version." OFF)
@ -359,6 +359,7 @@ if(PNG_FOUND AND NOT RASTERIZER_FORCE_BUILTIN_LIBPNG)
target_include_directories(rasterizer PRIVATE ${PNG_INCLUDE_DIRS})
target_compile_definitions(rasterizer PRIVATE ${PNG_DEFINITIONS})
else()
set(ZLIB_LIBRARY "")
message(WARNING "Using builtin libpng. This can cause crashes on some platforms.")
add_subdirectory( ${LIBDIR}/png/zlib)

View File

@ -1377,7 +1377,7 @@ public:
inline void save(const std::string& path) {
wxFFileOutputStream zipfile(path + "zippedout.zip");
wxFFileOutputStream zipfile(path);
if(!zipfile.IsOk()) {
BOOST_LOG_TRIVIAL(error) << "Can't create zip file for layers!";
@ -1429,13 +1429,7 @@ void Print::print_to(std::string dirpath,
Args...args)
{
std::string dir = dirpath;
#ifdef WIN32 // Making dirpath end with a directory separator on all platforms
if(dir.back() != '\\') dir.push_back('\\');
#else
if(dir.back() != '/') dir.push_back('/');
#endif
std::string& dir = dirpath;
LayerPtrs layers;
@ -1499,12 +1493,15 @@ void Print::print_to(std::string dirpath,
});
if(has_support_material() && layer_id > 0) {
std::cout << "support layer " << layer_id << "\n";
// BOOST_LOG_TRIVIAL(warning) << "support material for layer "
// << layer_id << " defined but export is "
// "unimplemented.";
}
printer.finishLayer(layer_id); // Finish the layer for later saving it.
std::cout << "Layer " << layer_id << " processed." << "\n";
// std::cout << "Layer " << layer_id << " processed." << "\n";
// printer.saveLayer(layer_id, dir); We could save the layer immediately
};