Marked all informative strings by macros _L and _LU8.

This commit is contained in:
YuSanka 2018-02-13 16:05:53 +01:00
parent 752d089814
commit 39fae3777c
2 changed files with 38 additions and 48 deletions

View file

@ -226,7 +226,7 @@ public:
}
void set_value(boost::any value) {
m_disable_change_event = true;
dynamic_cast<wxColourPickerCtrl*>(window)->SetColour(boost::any_cast</*std::s*/wxString>(value));
dynamic_cast<wxColourPickerCtrl*>(window)->SetColour(boost::any_cast<wxString>(value));
m_disable_change_event = false;
}

View file

@ -7,7 +7,6 @@
#include <wx/app.h>
#include <wx/button.h>
#include <wx/scrolwin.h>
#include <wx/menu.h>
#include <wx/sizer.h>
#include <wx/bmpcbox.h>
@ -157,18 +156,15 @@ void Tab::load_config(DynamicPrintConfig config)
for(auto opt_key : m_config->diff(config)) {
switch ( config.def()->get(opt_key)->type ){
case coFloatOrPercent:
// change_opt_value(*m_config, opt_key, config.option<ConfigOptionFloatOrPercent>(opt_key)->value);
value = config.option<ConfigOptionFloatOrPercent>(opt_key)->value;
break;
case coPercent:
value = config.option<ConfigOptionPercent>(opt_key)->value;
break;
case coFloat:
// change_opt_value(*m_config, opt_key, config.opt_float(opt_key));
value = config.opt_float(opt_key);
break;
case coString:
// change_opt_value(*m_config, opt_key, config.opt_string(opt_key));
value = config.opt_string(opt_key);
break;
case coPercents:
@ -184,11 +180,9 @@ void Tab::load_config(DynamicPrintConfig config)
value = config.opt_string(opt_key, static_cast<unsigned int>(0));
break;
case coBool:
// change_opt_value(*m_config, opt_key, config.opt_bool(opt_key));
value = config.opt_bool(opt_key);
break;
case coBools:
// opt = new ConfigOptionBools(0, config.opt_bool(opt_key)); //! 0?
value = config.opt_bool(opt_key, 0);
break;
case coInt:
@ -201,16 +195,12 @@ void Tab::load_config(DynamicPrintConfig config)
if (opt_key.compare("external_fill_pattern") == 0 ||
opt_key.compare("fill_pattern") == 0)
value = config.option<ConfigOptionEnum<InfillPattern>>(opt_key)->value;
// change_opt_value(*m_config, opt_key, config.option<ConfigOptionEnum<InfillPattern>>(opt_key)->value);
else if (opt_key.compare("gcode_flavor") == 0)
value = config.option<ConfigOptionEnum<GCodeFlavor>>(opt_key)->value;
// change_opt_value(*m_config, opt_key, config.option<ConfigOptionEnum<GCodeFlavor>>(opt_key)->value);
else if (opt_key.compare("support_material_pattern") == 0)
value = config.option<ConfigOptionEnum<SupportMaterialPattern>>(opt_key)->value;
// change_opt_value(*m_config, opt_key, config.option<ConfigOptionEnum<SupportMaterialPattern>>(opt_key)->value);
else if (opt_key.compare("seam_position") == 0)
value = config.option<ConfigOptionEnum<SeamPosition>>(opt_key)->value;
// change_opt_value(*m_config, opt_key, config.option<ConfigOptionEnum<SeamPosition>>(opt_key)->value);
}
break;
case coPoints:
@ -487,7 +477,7 @@ void TabPrint::build()
page = add_options_page(_L("Output options"), "page_white_go.png");
optgroup = page->new_optgroup(_L("Sequential printing"));
optgroup->append_single_option_line("complete_objects");
line = Line{ "Extruder clearance (mm)", "" };
line = { _L("Extruder clearance (mm)"), "" };
Option option = optgroup->get_option("extruder_clearance_radius");
option.opt.width = 60;
line.append_option(option);
@ -517,7 +507,7 @@ void TabPrint::build()
page = add_options_page(_L("Dependencies"), "wrench.png");
optgroup = page->new_optgroup(_L("Profile dependencies"));
line = Line{ "Compatible printers", "" };
line = { _L("Compatible printers"), "" };
line.widget = [this](wxWindow* parent){
return compatible_printers_widget(parent, &m_compatible_printers_checkbox, &m_compatible_printers_btn);
};
@ -541,14 +531,14 @@ void TabPrint::update()
if ( m_config->opt_bool("spiral_vase") &&
!(m_config->opt_int("perimeters") == 1 && m_config->opt_int("top_solid_layers") == 0 &&
m_config->option<ConfigOptionPercent>("fill_density")->value == 0)) {
std::string msg_text = "The Spiral Vase mode requires:\n"
wxString msg_text = _L("The Spiral Vase mode requires:\n"
"- one perimeter\n"
"- no top solid layers\n"
"- 0% fill density\n"
"- no support material\n"
"- no ensure_vertical_shell_thickness\n"
"\nShall I adjust those settings in order to enable Spiral Vase?";
auto dialog = new wxMessageDialog(parent(), msg_text, wxT("Spiral Vase"), wxICON_WARNING | wxYES | wxNO);
"\nShall I adjust those settings in order to enable Spiral Vase?");
auto dialog = new wxMessageDialog(parent(), msg_text, _L("Spiral Vase"), wxICON_WARNING | wxYES | wxNO);
DynamicPrintConfig new_conf = *m_config;
if (dialog->ShowModal() == wxID_YES) {
new_conf.set_key_value("perimeters", new ConfigOptionInt(1));
@ -563,14 +553,15 @@ void TabPrint::update()
load_config(new_conf);
}
auto first_layer_height = m_config->option<ConfigOptionFloatOrPercent>("first_layer_height")->value;
auto layer_height = m_config->opt_float("layer_height");
if (m_config->opt_bool("wipe_tower") &&
(m_config->option<ConfigOptionFloatOrPercent>("first_layer_height")->value != 0.2 ||
m_config->opt_float("layer_height") < 0.15 || m_config->opt_float("layer_height") > 0.35)) {
std::string msg_text = "The Wipe Tower currently supports only:\n"
( first_layer_height != 0.2 || layer_height < 0.15 || layer_height > 0.35)) {
wxString msg_text = _L("The Wipe Tower currently supports only:\n"
"- first layer height 0.2mm\n"
"- layer height from 0.15mm to 0.35mm\n"
"\nShall I adjust those settings in order to enable the Wipe Tower?";
auto dialog = new wxMessageDialog(parent(), msg_text, wxT("Wipe Tower"), wxICON_WARNING | wxYES | wxNO);
"\nShall I adjust those settings in order to enable the Wipe Tower?");
auto dialog = new wxMessageDialog(parent(), msg_text, _L("Wipe Tower"), wxICON_WARNING | wxYES | wxNO);
DynamicPrintConfig new_conf = *m_config;
if (dialog->ShowModal() == wxID_YES) {
const auto &val = *m_config->option<ConfigOptionFloatOrPercent>("first_layer_height");
@ -587,11 +578,11 @@ void TabPrint::update()
if (m_config->opt_bool("wipe_tower") && m_config->opt_bool("support_material") &&
m_config->opt_float("support_material_contact_distance") > 0. &&
(m_config->opt_int("support_material_extruder") != 0 || m_config->opt_int("support_material_interface_extruder") != 0)) {
std::string msg_text = "The Wipe Tower currently supports the non-soluble supports only\n"
wxString msg_text = _L("The Wipe Tower currently supports the non-soluble supports only\n"
"if they are printed with the current extruder without triggering a tool change.\n"
"(both support_material_extruder and support_material_interface_extruder need to be set to 0).\n"
"\nShall I adjust those settings in order to enable the Wipe Tower?";
auto dialog = new wxMessageDialog(parent(), msg_text, wxT("Wipe Tower"), wxICON_WARNING | wxYES | wxNO);
"\nShall I adjust those settings in order to enable the Wipe Tower?");
auto dialog = new wxMessageDialog(parent(), msg_text, _L("Wipe Tower"), wxICON_WARNING | wxYES | wxNO);
DynamicPrintConfig new_conf = *m_config;
if (dialog->ShowModal() == wxID_YES) {
new_conf.set_key_value("support_material_extruder", new ConfigOptionInt(0));
@ -605,10 +596,10 @@ void TabPrint::update()
if (m_config->opt_bool("wipe_tower") && m_config->opt_bool("support_material") &&
m_config->opt_float("support_material_contact_distance") == 0 &&
!m_config->opt_bool("support_material_synchronize_layers")) {
std::string msg_text = "For the Wipe Tower to work with the soluble supports, the support layers\n"
wxString msg_text = _L("For the Wipe Tower to work with the soluble supports, the support layers\n"
"need to be synchronized with the object layers.\n"
"\nShall I synchronize support layers in order to enable the Wipe Tower?";
auto dialog = new wxMessageDialog(parent(), msg_text, wxT("Wipe Tower"), wxICON_WARNING | wxYES | wxNO);
"\nShall I synchronize support layers in order to enable the Wipe Tower?");
auto dialog = new wxMessageDialog(parent(), msg_text, _L("Wipe Tower"), wxICON_WARNING | wxYES | wxNO);
DynamicPrintConfig new_conf = *m_config;
if (dialog->ShowModal() == wxID_YES) {
new_conf.set_key_value("support_material_synchronize_layers", new ConfigOptionBool(true));
@ -623,10 +614,10 @@ void TabPrint::update()
if (!m_support_material_overhangs_queried) {
m_support_material_overhangs_queried = true;
if (!m_config->opt_bool("overhangs")/* != 1*/) {
std::string msg_text = "Supports work better, if the following feature is enabled:\n"
wxString msg_text = _L("Supports work better, if the following feature is enabled:\n"
"- Detect bridging perimeters\n"
"\nShall I adjust those settings for supports?";
auto dialog = new wxMessageDialog(parent(), msg_text, wxT("Support Generator"), wxICON_WARNING | wxYES | wxNO | wxCANCEL);
"\nShall I adjust those settings for supports?");
auto dialog = new wxMessageDialog(parent(), msg_text, _L("Support Generator"), wxICON_WARNING | wxYES | wxNO | wxCANCEL);
DynamicPrintConfig new_conf = *m_config;
auto answer = dialog->ShowModal();
if (answer == wxID_YES) {
@ -668,9 +659,9 @@ void TabPrint::update()
// get fill_pattern name from enum_labels for using this one at dialog_msg
str_fill_pattern = m_config->def()->get("fill_pattern")->enum_labels[fill_pattern];
if (!correct_100p_fill){
std::string msg_text = "The " + str_fill_pattern + " infill pattern is not supposed to work at 100% density.\n"
"\nShall I switch to rectilinear fill pattern?";
auto dialog = new wxMessageDialog(parent(), msg_text, wxT("Infill"), wxICON_WARNING | wxYES | wxNO);
wxString msg_text = _L("The ") + str_fill_pattern + _L(" infill pattern is not supposed to work at 100% density.\n"
"\nShall I switch to rectilinear fill pattern?");
auto dialog = new wxMessageDialog(parent(), msg_text, _L("Infill"), wxICON_WARNING | wxYES | wxNO);
DynamicPrintConfig new_conf = *m_config;
if (dialog->ShowModal() == wxID_YES) {
new_conf.set_key_value("fill_pattern", new ConfigOptionEnum<InfillPattern>(ipRectilinear));
@ -823,7 +814,7 @@ void TabFilament::build()
optgroup->append_line(line);
optgroup = page->new_optgroup(_L("Fan settings"));
line = {"Fan speed",""};
line = {_L("Fan speed"),""};
line.append_option(optgroup->get_option("min_fan_speed"));
line.append_option(optgroup->get_option("max_fan_speed"));
optgroup->append_line(line);
@ -874,7 +865,7 @@ void TabFilament::build()
page = add_options_page(_L("Dependencies"), "wrench.png");
optgroup = page->new_optgroup(_L("Profile dependencies"));
line = {"Compatible printers", ""};
line = {_L("Compatible printers"), ""};
line.widget = [this](wxWindow* parent){
return compatible_printers_widget(parent, &m_compatible_printers_checkbox, &m_compatible_printers_btn);
};
@ -947,8 +938,7 @@ void TabPrinter::build()
Line line{ _L("Bed shape"), "" };
line.widget = [this](wxWindow* parent){
auto btn = new wxButton(parent, wxID_ANY, _L("Set")+"\u2026", wxDefaultPosition, wxDefaultSize,
wxBU_LEFT | wxBU_EXACTFIT);
auto btn = new wxButton(parent, wxID_ANY, _L("Set")+"\u2026", wxDefaultPosition, wxDefaultSize, wxBU_LEFT | wxBU_EXACTFIT);
// btn->SetFont(Slic3r::GUI::small_font);
btn->SetBitmap(wxBitmap(wxString::FromUTF8(Slic3r::var("printer_empty.png").c_str()), wxBITMAP_TYPE_PNG));
@ -972,8 +962,8 @@ void TabPrinter::build()
ConfigOptionDef def;
def.type = coInt,
def.default_value = new ConfigOptionInt(1);
def.label = "Extruders";
def.tooltip = "Number of extruders of the printer.";
def.label = _LU8("Extruders");
def.tooltip = _LU8("Number of extruders of the printer.");
def.min = 1;
Option option(def, "extruders_count");
optgroup->append_single_option_line(option);
@ -996,7 +986,7 @@ void TabPrinter::build()
if (!m_no_controller)
{
optgroup = page->new_optgroup(_L("USB/Serial connection"));
line = {"Serial port", ""};
line = {_L("Serial port"), ""};
Option serial_port = optgroup->get_option("serial_port");
serial_port.side_widget = ([this](wxWindow* parent){
auto btn = new wxBitmapButton(parent, wxID_ANY, wxBitmap(wxString::FromUTF8(Slic3r::var("arrow_rotate_clockwise.png").c_str()), wxBITMAP_TYPE_PNG),
@ -1190,7 +1180,7 @@ void TabPrinter::extruders_count_changed(size_t extruders_count){
}
void TabPrinter::build_extruder_pages(){
for (auto extruder_idx = m_extruder_pages.size()/*0*/; extruder_idx < m_extruders_count; ++extruder_idx){
for (auto extruder_idx = m_extruder_pages.size(); extruder_idx < m_extruders_count; ++extruder_idx){
//# build page
auto page = add_options_page(_L("Extruder ") + wxString::Format(_T("%i"), extruder_idx + 1), "funnel.png", true);
m_extruder_pages.push_back(page);
@ -1474,8 +1464,8 @@ bool Tab::may_discard_current_dirty_preset(PresetCollection* presets /*= nullptr
auto type_name = presets->name();
auto tab = " ";
auto name = old_preset.is_default ?
("Default " + type_name + " preset") :
(type_name + " preset\n" + tab + old_preset.name);
_L("Default ") + type_name + _L(" preset") :
(type_name + _L(" preset\n") + tab + old_preset.name);
// Collect descriptions of the dirty options.
std::vector<std::string> option_names;
for(auto opt_key: presets->current_dirty_options()) {
@ -1493,11 +1483,11 @@ bool Tab::may_discard_current_dirty_preset(PresetCollection* presets /*= nullptr
for (auto changed_name : option_names)
changes += tab + changed_name + "\n";
auto message = (!new_printer_name.empty()) ?
name + "\n\nis not compatible with printer\n" +tab + new_printer_name+ "\n\nand it has the following unsaved changes:" :
name + "\n\nhas the following unsaved changes:";
name + _L("\n\nis not compatible with printer\n") +tab + new_printer_name+ _L("\n\nand it has the following unsaved changes:") :
name + _L("\n\nhas the following unsaved changes:");
auto confirm = new wxMessageDialog(parent(),
message + "\n" +changes +"\n\nDiscard changes and continue anyway?",
"Unsaved Changes", wxYES_NO | wxNO_DEFAULT | wxICON_QUESTION);
message + "\n" +changes +_L("\n\nDiscard changes and continue anyway?"),
_L("Unsaved Changes"), wxYES_NO | wxNO_DEFAULT | wxICON_QUESTION);
return confirm->ShowModal() == wxID_YES;
}
@ -1598,7 +1588,7 @@ void Tab::delete_preset()
action = current_preset.is_external ? _L("Remove") : _L("Delete");
wxString title = action + _L(" Preset");
if (current_preset.is_default ||
wxID_YES != /*new*/ (wxMessageDialog(parent(), msg, title, wxYES_NO | wxNO_DEFAULT | wxICON_QUESTION)).ShowModal())
wxID_YES != wxMessageDialog(parent(), msg, title, wxYES_NO | wxNO_DEFAULT | wxICON_QUESTION).ShowModal())
return;
// Delete the file and select some other reasonable preset.
// The 'external' presets will only be removed from the preset list, their files will not be deleted.