Refactored the -------- xxxx ---------- menu items to use a generic
code to generate these separators. Now using the connected dashes (unicode emdash characters) on OSX and Windows.
This commit is contained in:
parent
ae93569044
commit
2bfd3b7844
@ -910,7 +910,7 @@ void PresetCollection::update_platter_ui(GUI::PresetComboBox *ui)
|
|||||||
std::map<wxString, wxBitmap*> nonsys_presets;
|
std::map<wxString, wxBitmap*> nonsys_presets;
|
||||||
wxString selected = "";
|
wxString selected = "";
|
||||||
if (!this->m_presets.front().is_visible)
|
if (!this->m_presets.front().is_visible)
|
||||||
ui->set_label_marker(ui->Append("------- " + _(L("System presets")) + " -------", wxNullBitmap));
|
ui->set_label_marker(ui->Append(PresetCollection::separator(L("System presets")), wxNullBitmap));
|
||||||
for (size_t i = this->m_presets.front().is_visible ? 0 : m_num_default_presets; i < this->m_presets.size(); ++ i) {
|
for (size_t i = this->m_presets.front().is_visible ? 0 : m_num_default_presets; i < this->m_presets.size(); ++ i) {
|
||||||
const Preset &preset = this->m_presets[i];
|
const Preset &preset = this->m_presets[i];
|
||||||
if (! preset.is_visible || (! preset.is_compatible && i != m_idx_selected))
|
if (! preset.is_visible || (! preset.is_compatible && i != m_idx_selected))
|
||||||
@ -950,11 +950,11 @@ void PresetCollection::update_platter_ui(GUI::PresetComboBox *ui)
|
|||||||
selected = wxString::FromUTF8((preset.name + (preset.is_dirty ? g_suffix_modified : "")).c_str());
|
selected = wxString::FromUTF8((preset.name + (preset.is_dirty ? g_suffix_modified : "")).c_str());
|
||||||
}
|
}
|
||||||
if (i + 1 == m_num_default_presets)
|
if (i + 1 == m_num_default_presets)
|
||||||
ui->set_label_marker(ui->Append("------- " + _(L("System presets")) + " -------", wxNullBitmap));
|
ui->set_label_marker(ui->Append(PresetCollection::separator(L("System presets")), wxNullBitmap));
|
||||||
}
|
}
|
||||||
if (!nonsys_presets.empty())
|
if (!nonsys_presets.empty())
|
||||||
{
|
{
|
||||||
ui->set_label_marker(ui->Append("------- " + _(L("User presets")) + " -------", wxNullBitmap));
|
ui->set_label_marker(ui->Append(PresetCollection::separator(L("User presets")), wxNullBitmap));
|
||||||
for (std::map<wxString, wxBitmap*>::iterator it = nonsys_presets.begin(); it != nonsys_presets.end(); ++it) {
|
for (std::map<wxString, wxBitmap*>::iterator it = nonsys_presets.begin(); it != nonsys_presets.end(); ++it) {
|
||||||
ui->Append(it->first, *it->second);
|
ui->Append(it->first, *it->second);
|
||||||
if (it->first == selected)
|
if (it->first == selected)
|
||||||
@ -983,7 +983,7 @@ void PresetCollection::update_platter_ui(GUI::PresetComboBox *ui)
|
|||||||
bmps.emplace_back(m_bitmap_add ? *m_bitmap_add : wxNullBitmap);
|
bmps.emplace_back(m_bitmap_add ? *m_bitmap_add : wxNullBitmap);
|
||||||
bmp = m_bitmap_cache->insert(bitmap_key, bmps);
|
bmp = m_bitmap_cache->insert(bitmap_key, bmps);
|
||||||
}
|
}
|
||||||
ui->set_label_marker(ui->Append("------- " + _(L("Add a new printer")) + " -------", *bmp), GUI::PresetComboBox::LABEL_ITEM_CONFIG_WIZARD);
|
ui->set_label_marker(ui->Append(PresetCollection::separator(L("Add a new printer")), *bmp), GUI::PresetComboBox::LABEL_ITEM_CONFIG_WIZARD);
|
||||||
}
|
}
|
||||||
|
|
||||||
ui->SetSelection(selected_preset_item);
|
ui->SetSelection(selected_preset_item);
|
||||||
@ -1002,7 +1002,7 @@ size_t PresetCollection::update_tab_ui(wxBitmapComboBox *ui, bool show_incompati
|
|||||||
std::map<wxString, wxBitmap*> nonsys_presets;
|
std::map<wxString, wxBitmap*> nonsys_presets;
|
||||||
wxString selected = "";
|
wxString selected = "";
|
||||||
if (!this->m_presets.front().is_visible)
|
if (!this->m_presets.front().is_visible)
|
||||||
ui->Append("------- " + _(L("System presets")) + " -------", wxNullBitmap);
|
ui->Append(PresetCollection::separator(L("System presets")), wxNullBitmap);
|
||||||
for (size_t i = this->m_presets.front().is_visible ? 0 : m_num_default_presets; i < this->m_presets.size(); ++i) {
|
for (size_t i = this->m_presets.front().is_visible ? 0 : m_num_default_presets; i < this->m_presets.size(); ++i) {
|
||||||
const Preset &preset = this->m_presets[i];
|
const Preset &preset = this->m_presets[i];
|
||||||
if (! preset.is_visible || (! show_incompatible && ! preset.is_compatible && i != m_idx_selected))
|
if (! preset.is_visible || (! show_incompatible && ! preset.is_compatible && i != m_idx_selected))
|
||||||
@ -1034,11 +1034,11 @@ size_t PresetCollection::update_tab_ui(wxBitmapComboBox *ui, bool show_incompati
|
|||||||
selected = wxString::FromUTF8((preset.name + (preset.is_dirty ? g_suffix_modified : "")).c_str());
|
selected = wxString::FromUTF8((preset.name + (preset.is_dirty ? g_suffix_modified : "")).c_str());
|
||||||
}
|
}
|
||||||
if (i + 1 == m_num_default_presets)
|
if (i + 1 == m_num_default_presets)
|
||||||
ui->Append("------- " + _(L("System presets")) + " -------", wxNullBitmap);
|
ui->Append(PresetCollection::separator(L("System presets")), wxNullBitmap);
|
||||||
}
|
}
|
||||||
if (!nonsys_presets.empty())
|
if (!nonsys_presets.empty())
|
||||||
{
|
{
|
||||||
ui->Append("------- " + _(L("User presets")) + " -------", wxNullBitmap);
|
ui->Append(PresetCollection::separator(L("User presets")), wxNullBitmap);
|
||||||
for (std::map<wxString, wxBitmap*>::iterator it = nonsys_presets.begin(); it != nonsys_presets.end(); ++it) {
|
for (std::map<wxString, wxBitmap*>::iterator it = nonsys_presets.begin(); it != nonsys_presets.end(); ++it) {
|
||||||
ui->Append(it->first, *it->second);
|
ui->Append(it->first, *it->second);
|
||||||
if (it->first == selected)
|
if (it->first == selected)
|
||||||
@ -1054,7 +1054,7 @@ size_t PresetCollection::update_tab_ui(wxBitmapComboBox *ui, bool show_incompati
|
|||||||
bmps.emplace_back(m_bitmap_add ? *m_bitmap_add : wxNullBitmap);
|
bmps.emplace_back(m_bitmap_add ? *m_bitmap_add : wxNullBitmap);
|
||||||
bmp = m_bitmap_cache->insert("add_printer_tab", bmps);
|
bmp = m_bitmap_cache->insert("add_printer_tab", bmps);
|
||||||
}
|
}
|
||||||
ui->Append("------- " + _(L("Add a new printer")) + " -------", *bmp);
|
ui->Append(PresetCollection::separator("Add a new printer"), *bmp);
|
||||||
}
|
}
|
||||||
ui->SetSelection(selected_preset_item);
|
ui->SetSelection(selected_preset_item);
|
||||||
ui->SetToolTip(ui->GetString(selected_preset_item));
|
ui->SetToolTip(ui->GetString(selected_preset_item));
|
||||||
@ -1284,6 +1284,11 @@ std::string PresetCollection::path_from_name(const std::string &new_name) const
|
|||||||
return (boost::filesystem::path(m_dir_path) / file_name).make_preferred().string();
|
return (boost::filesystem::path(m_dir_path) / file_name).make_preferred().string();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxString PresetCollection::separator(const std::string &label)
|
||||||
|
{
|
||||||
|
return wxString::FromUTF8(PresetCollection::separator_head()) + _(label) + wxString::FromUTF8(PresetCollection::separator_tail());
|
||||||
|
}
|
||||||
|
|
||||||
const Preset& PrinterPresetCollection::default_preset_for(const DynamicPrintConfig &config) const
|
const Preset& PrinterPresetCollection::default_preset_for(const DynamicPrintConfig &config) const
|
||||||
{
|
{
|
||||||
const ConfigOptionEnumGeneric *opt_printer_technology = config.opt<ConfigOptionEnumGeneric>("printer_technology");
|
const ConfigOptionEnumGeneric *opt_printer_technology = config.opt<ConfigOptionEnumGeneric>("printer_technology");
|
||||||
|
@ -410,6 +410,15 @@ public:
|
|||||||
// Generate a file path from a profile name. Add the ".ini" suffix if it is missing.
|
// Generate a file path from a profile name. Add the ".ini" suffix if it is missing.
|
||||||
std::string path_from_name(const std::string &new_name) const;
|
std::string path_from_name(const std::string &new_name) const;
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
static const char* separator_head() { return "------- "; }
|
||||||
|
static const char* separator_tail() { return " -------"; }
|
||||||
|
#else /* __linux__ */
|
||||||
|
static const char* separator_head() { return "————— "; }
|
||||||
|
static const char* separator_tail() { return " —————"; }
|
||||||
|
#endif /* __linux__ */
|
||||||
|
static wxString separator(const std::string &label);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Select a preset, if it exists. If it does not exist, select an invalid (-1) index.
|
// Select a preset, if it exists. If it does not exist, select an invalid (-1) index.
|
||||||
// This is a temporary state, which shall be fixed immediately by the following step.
|
// This is a temporary state, which shall be fixed immediately by the following step.
|
||||||
|
@ -1406,7 +1406,7 @@ void PresetBundle::export_configbundle(const std::string &path, bool export_syst
|
|||||||
// an optional "(modified)" suffix will be removed from the filament name.
|
// an optional "(modified)" suffix will be removed from the filament name.
|
||||||
void PresetBundle::set_filament_preset(size_t idx, const std::string &name)
|
void PresetBundle::set_filament_preset(size_t idx, const std::string &name)
|
||||||
{
|
{
|
||||||
if (name.find_first_of("-------") == 0)
|
if (name.find_first_of(PresetCollection::separator_head()) == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (idx >= filament_presets.size())
|
if (idx >= filament_presets.size())
|
||||||
@ -1462,7 +1462,7 @@ void PresetBundle::update_platter_filament_ui(unsigned int idx_extruder, GUI::Pr
|
|||||||
std::map<wxString, wxBitmap*> nonsys_presets;
|
std::map<wxString, wxBitmap*> nonsys_presets;
|
||||||
wxString selected_str = "";
|
wxString selected_str = "";
|
||||||
if (!this->filaments().front().is_visible)
|
if (!this->filaments().front().is_visible)
|
||||||
ui->set_label_marker(ui->Append("------- " + _(L("System presets")) + " -------", wxNullBitmap));
|
ui->set_label_marker(ui->Append(PresetCollection::separator(L("System presets")), wxNullBitmap));
|
||||||
for (int i = this->filaments().front().is_visible ? 0 : 1; i < int(this->filaments().size()); ++i) {
|
for (int i = this->filaments().front().is_visible ? 0 : 1; i < int(this->filaments().size()); ++i) {
|
||||||
const Preset &preset = this->filaments.preset(i);
|
const Preset &preset = this->filaments.preset(i);
|
||||||
bool selected = this->filament_presets[idx_extruder] == preset.name;
|
bool selected = this->filament_presets[idx_extruder] == preset.name;
|
||||||
@ -1515,12 +1515,12 @@ void PresetBundle::update_platter_filament_ui(unsigned int idx_extruder, GUI::Pr
|
|||||||
selected_str = wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str());
|
selected_str = wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str());
|
||||||
}
|
}
|
||||||
if (preset.is_default)
|
if (preset.is_default)
|
||||||
ui->set_label_marker(ui->Append("------- " + _(L("System presets")) + " -------", wxNullBitmap));
|
ui->set_label_marker(ui->Append(PresetCollection::separator(L("System presets")), wxNullBitmap));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!nonsys_presets.empty())
|
if (!nonsys_presets.empty())
|
||||||
{
|
{
|
||||||
ui->set_label_marker(ui->Append("------- " + _(L("User presets")) + " -------", wxNullBitmap));
|
ui->set_label_marker(ui->Append(PresetCollection::separator(L("User presets")), wxNullBitmap));
|
||||||
for (std::map<wxString, wxBitmap*>::iterator it = nonsys_presets.begin(); it != nonsys_presets.end(); ++it) {
|
for (std::map<wxString, wxBitmap*>::iterator it = nonsys_presets.begin(); it != nonsys_presets.end(); ++it) {
|
||||||
ui->Append(it->first, *it->second);
|
ui->Append(it->first, *it->second);
|
||||||
if (it->first == selected_str)
|
if (it->first == selected_str)
|
||||||
|
@ -249,11 +249,11 @@ void Tab::create_preset_tab()
|
|||||||
return;
|
return;
|
||||||
if (selected_item >= 0) {
|
if (selected_item >= 0) {
|
||||||
std::string selected_string = m_presets_choice->GetString(selected_item).ToUTF8().data();
|
std::string selected_string = m_presets_choice->GetString(selected_item).ToUTF8().data();
|
||||||
if (selected_string.find("-------") == 0
|
if (selected_string.find(PresetCollection::separator_head()) == 0
|
||||||
/*selected_string == "------- System presets -------" ||
|
/*selected_string == "------- System presets -------" ||
|
||||||
selected_string == "------- User presets -------"*/) {
|
selected_string == "------- User presets -------"*/) {
|
||||||
m_presets_choice->SetSelection(m_selected_preset_item);
|
m_presets_choice->SetSelection(m_selected_preset_item);
|
||||||
if (selected_string == "------- " + _(L("Add a new printer")) + " -------")
|
if (wxString::FromUTF8(selected_string.c_str()) == PresetCollection::separator(L("Add a new printer")))
|
||||||
wxTheApp->CallAfter([]() { Slic3r::GUI::config_wizard(Slic3r::GUI::ConfigWizard::RR_USER); });
|
wxTheApp->CallAfter([]() { Slic3r::GUI::config_wizard(Slic3r::GUI::ConfigWizard::RR_USER); });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user