mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-05-25 15:47:25 +08:00
Merge branch 'dk_filaments' into master
This commit is contained in:
commit
4ad30ecdc0
@ -192,6 +192,23 @@ bool unescape_strings_cstyle(const std::string &str, std::vector<std::string> &o
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string escape_ampersand(const std::string& str)
|
||||||
|
{
|
||||||
|
// Allocate a buffer 2 times the input string length,
|
||||||
|
// so the output will fit even if all input characters get escaped.
|
||||||
|
std::vector<char> out(str.size() * 6, 0);
|
||||||
|
char* outptr = out.data();
|
||||||
|
for (size_t i = 0; i < str.size(); ++i) {
|
||||||
|
char c = str[i];
|
||||||
|
if (c == '&') {
|
||||||
|
(*outptr++) = '&';
|
||||||
|
(*outptr++) = '&';
|
||||||
|
} else
|
||||||
|
(*outptr++) = c;
|
||||||
|
}
|
||||||
|
return std::string(out.data(), outptr - out.data());
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<std::string> ConfigOptionDef::cli_args(const std::string &key) const
|
std::vector<std::string> ConfigOptionDef::cli_args(const std::string &key) const
|
||||||
{
|
{
|
||||||
std::vector<std::string> args;
|
std::vector<std::string> args;
|
||||||
|
@ -34,6 +34,8 @@ extern std::string escape_strings_cstyle(const std::vector<std::string> &strs);
|
|||||||
extern bool unescape_string_cstyle(const std::string &str, std::string &out);
|
extern bool unescape_string_cstyle(const std::string &str, std::string &out);
|
||||||
extern bool unescape_strings_cstyle(const std::string &str, std::vector<std::string> &out);
|
extern bool unescape_strings_cstyle(const std::string &str, std::vector<std::string> &out);
|
||||||
|
|
||||||
|
extern std::string escape_ampersand(const std::string& str);
|
||||||
|
|
||||||
/// Specialization of std::exception to indicate that an unknown config option has been encountered.
|
/// Specialization of std::exception to indicate that an unknown config option has been encountered.
|
||||||
class UnknownOptionException : public Slic3r::RuntimeError {
|
class UnknownOptionException : public Slic3r::RuntimeError {
|
||||||
public:
|
public:
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#include <wx/debug.h>
|
#include <wx/debug.h>
|
||||||
|
|
||||||
#include "libslic3r/Utils.hpp"
|
#include "libslic3r/Utils.hpp"
|
||||||
|
#include "libslic3r/Config.hpp"
|
||||||
#include "GUI.hpp"
|
#include "GUI.hpp"
|
||||||
#include "GUI_App.hpp"
|
#include "GUI_App.hpp"
|
||||||
#include "GUI_Utils.hpp"
|
#include "GUI_Utils.hpp"
|
||||||
@ -273,8 +274,8 @@ PrinterPicker::PrinterPicker(wxWindow *parent, const VendorProfile &vendor, wxSt
|
|||||||
const size_t odd_items = titles.size() % cols;
|
const size_t odd_items = titles.size() % cols;
|
||||||
|
|
||||||
for (size_t i = 0; i < titles.size() - odd_items; i += cols) {
|
for (size_t i = 0; i < titles.size() - odd_items; i += cols) {
|
||||||
for (size_t j = i; j < i + cols; j++) { printer_grid->Add(titles[j], 0, wxBOTTOM, 3); }
|
|
||||||
for (size_t j = i; j < i + cols; j++) { printer_grid->Add(bitmaps[j], 0, wxBOTTOM, 20); }
|
for (size_t j = i; j < i + cols; j++) { printer_grid->Add(bitmaps[j], 0, wxBOTTOM, 20); }
|
||||||
|
for (size_t j = i; j < i + cols; j++) { printer_grid->Add(titles[j], 0, wxBOTTOM, 3); }
|
||||||
for (size_t j = i; j < i + cols; j++) { printer_grid->Add(variants_panels[j]); }
|
for (size_t j = i; j < i + cols; j++) { printer_grid->Add(variants_panels[j]); }
|
||||||
|
|
||||||
// Add separator space to multiliners
|
// Add separator space to multiliners
|
||||||
@ -285,10 +286,10 @@ PrinterPicker::PrinterPicker(wxWindow *parent, const VendorProfile &vendor, wxSt
|
|||||||
if (odd_items > 0) {
|
if (odd_items > 0) {
|
||||||
const size_t rem = titles.size() - odd_items;
|
const size_t rem = titles.size() - odd_items;
|
||||||
|
|
||||||
for (size_t i = rem; i < titles.size(); i++) { printer_grid->Add(titles[i], 0, wxBOTTOM, 3); }
|
|
||||||
for (size_t i = 0; i < cols - odd_items; i++) { printer_grid->AddSpacer(1); }
|
|
||||||
for (size_t i = rem; i < titles.size(); i++) { printer_grid->Add(bitmaps[i], 0, wxBOTTOM, 20); }
|
for (size_t i = rem; i < titles.size(); i++) { printer_grid->Add(bitmaps[i], 0, wxBOTTOM, 20); }
|
||||||
for (size_t i = 0; i < cols - odd_items; i++) { printer_grid->AddSpacer(1); }
|
for (size_t i = 0; i < cols - odd_items; i++) { printer_grid->AddSpacer(1); }
|
||||||
|
for (size_t i = rem; i < titles.size(); i++) { printer_grid->Add(titles[i], 0, wxBOTTOM, 3); }
|
||||||
|
for (size_t i = 0; i < cols - odd_items; i++) { printer_grid->AddSpacer(1); }
|
||||||
for (size_t i = rem; i < titles.size(); i++) { printer_grid->Add(variants_panels[i]); }
|
for (size_t i = rem; i < titles.size(); i++) { printer_grid->Add(variants_panels[i]); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user