Implements SPE-159 "substitute accented letters with non-accented ones"
This commit is contained in:
parent
efeda3dcdc
commit
0bd9918643
@ -1333,6 +1333,9 @@ sub export_gcode {
|
|||||||
} else {
|
} else {
|
||||||
my $default_output_file = eval { $self->{print}->output_filepath($main::opt{output} // '') };
|
my $default_output_file = eval { $self->{print}->output_filepath($main::opt{output} // '') };
|
||||||
Slic3r::GUI::catch_error($self) and return;
|
Slic3r::GUI::catch_error($self) and return;
|
||||||
|
# If possible, remove accents from accented latin characters.
|
||||||
|
# This function is useful for generating file names to be processed by legacy firmwares.
|
||||||
|
$default_output_file = Slic3r::GUI::fold_utf8_to_ascii($default_output_file);
|
||||||
my $dlg = Wx::FileDialog->new($self, L('Save G-code file as:'),
|
my $dlg = Wx::FileDialog->new($self, L('Save G-code file as:'),
|
||||||
wxTheApp->{app_config}->get_last_output_dir(dirname($default_output_file)),
|
wxTheApp->{app_config}->get_last_output_dir(dirname($default_output_file)),
|
||||||
basename($default_output_file), &Slic3r::GUI::FILE_WILDCARDS->{gcode}, wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
|
basename($default_output_file), &Slic3r::GUI::FILE_WILDCARDS->{gcode}, wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
|
||||||
|
@ -201,6 +201,8 @@ add_library(libslic3r_gui STATIC
|
|||||||
${LIBDIR}/slic3r/GUI/wxExtensions.hpp
|
${LIBDIR}/slic3r/GUI/wxExtensions.hpp
|
||||||
${LIBDIR}/slic3r/GUI/BonjourDialog.cpp
|
${LIBDIR}/slic3r/GUI/BonjourDialog.cpp
|
||||||
${LIBDIR}/slic3r/GUI/BonjourDialog.hpp
|
${LIBDIR}/slic3r/GUI/BonjourDialog.hpp
|
||||||
|
${LIBDIR}/slic3r/Utils/ASCIIFolding.cpp
|
||||||
|
${LIBDIR}/slic3r/Utils/ASCIIFolding.hpp
|
||||||
${LIBDIR}/slic3r/Utils/Http.cpp
|
${LIBDIR}/slic3r/Utils/Http.cpp
|
||||||
${LIBDIR}/slic3r/Utils/Http.hpp
|
${LIBDIR}/slic3r/Utils/Http.hpp
|
||||||
${LIBDIR}/slic3r/Utils/OctoPrint.cpp
|
${LIBDIR}/slic3r/Utils/OctoPrint.cpp
|
||||||
|
1942
xs/src/slic3r/Utils/ASCIIFolding.cpp
Normal file
1942
xs/src/slic3r/Utils/ASCIIFolding.cpp
Normal file
File diff suppressed because it is too large
Load Diff
14
xs/src/slic3r/Utils/ASCIIFolding.hpp
Normal file
14
xs/src/slic3r/Utils/ASCIIFolding.hpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#ifndef slic3r_ASCIIFolding_hpp_
|
||||||
|
#define slic3r_ASCIIFolding_hpp_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace Slic3r {
|
||||||
|
|
||||||
|
// If possible, remove accents from accented latin characters.
|
||||||
|
// This function is useful for generating file names to be processed by legacy firmwares.
|
||||||
|
extern std::string fold_utf8_to_ascii(const std::string &src);
|
||||||
|
|
||||||
|
}; // namespace Slic3r
|
||||||
|
|
||||||
|
#endif /* slic3r_ASCIIFolding_hpp_ */
|
@ -3,6 +3,7 @@
|
|||||||
%{
|
%{
|
||||||
#include <xsinit.h>
|
#include <xsinit.h>
|
||||||
#include "slic3r/GUI/GUI.hpp"
|
#include "slic3r/GUI/GUI.hpp"
|
||||||
|
#include "slic3r/Utils/ASCIIFolding.hpp"
|
||||||
%}
|
%}
|
||||||
|
|
||||||
|
|
||||||
@ -63,3 +64,6 @@ void add_frequently_changed_parameters(SV *ui_parent, SV *ui_sizer, SV *ui_p_siz
|
|||||||
%code%{ Slic3r::GUI::add_frequently_changed_parameters((wxWindow*)wxPli_sv_2_object(aTHX_ ui_parent, "Wx::Window"),
|
%code%{ Slic3r::GUI::add_frequently_changed_parameters((wxWindow*)wxPli_sv_2_object(aTHX_ ui_parent, "Wx::Window"),
|
||||||
(wxBoxSizer*)wxPli_sv_2_object(aTHX_ ui_sizer, "Wx::BoxSizer"),
|
(wxBoxSizer*)wxPli_sv_2_object(aTHX_ ui_sizer, "Wx::BoxSizer"),
|
||||||
(wxFlexGridSizer*)wxPli_sv_2_object(aTHX_ ui_p_sizer, "Wx::FlexGridSizer")); %};
|
(wxFlexGridSizer*)wxPli_sv_2_object(aTHX_ ui_p_sizer, "Wx::FlexGridSizer")); %};
|
||||||
|
|
||||||
|
std::string fold_utf8_to_ascii(const char *src)
|
||||||
|
%code%{ RETVAL = Slic3r::fold_utf8_to_ascii(src); %};
|
||||||
|
Loading…
Reference in New Issue
Block a user