FIX: fail to translate in filamnet group pop up
1. Initilize the sentences in construct function 2. Fix some ui bugs jira:NONE Signed-off-by: xun.zhang <xun.zhang@bambulab.com> Change-Id: I991df343932bb60d5ba86f41f641661f2159da47
This commit is contained in:
parent
cd23329267
commit
05383187e0
|
@ -174,4 +174,5 @@ src/slic3r/GUI/MultiMachineManagerPage.cpp
|
||||||
src/slic3r/GUI/MultiTaskManagerPage.cpp
|
src/slic3r/GUI/MultiTaskManagerPage.cpp
|
||||||
src/slic3r/GUI/MultiMachine.cpp
|
src/slic3r/GUI/MultiMachine.cpp
|
||||||
src/slic3r/GUI/FilamentMapDialog.cpp
|
src/slic3r/GUI/FilamentMapDialog.cpp
|
||||||
src/slic3r/GUI/FilamentGroupPopup.cpp
|
src/slic3r/GUI/FilamentGroupPopup.cpp
|
||||||
|
src/slic3r/GUI/FilamentMapPanel.cpp
|
|
@ -0,0 +1,3 @@
|
||||||
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="8" cy="8" r="7.5" fill="#F2F2F2" stroke="#DBDBDB"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 167 B |
|
@ -2,7 +2,6 @@
|
||||||
#include "CapsuleButton.hpp"
|
#include "CapsuleButton.hpp"
|
||||||
#include "wx/graphics.h"
|
#include "wx/graphics.h"
|
||||||
#include "Widgets/Label.hpp"
|
#include "Widgets/Label.hpp"
|
||||||
#include "wx/dcgraph.h"
|
|
||||||
|
|
||||||
namespace Slic3r { namespace GUI {
|
namespace Slic3r { namespace GUI {
|
||||||
CapsuleButton::CapsuleButton(wxWindow *parent, wxWindowID id, const wxString &label, bool selected) : wxPanel(parent, id)
|
CapsuleButton::CapsuleButton(wxWindow *parent, wxWindowID id, const wxString &label, bool selected) : wxPanel(parent, id)
|
||||||
|
@ -61,10 +60,11 @@ void CapsuleButton::OnPaint(wxPaintEvent &event)
|
||||||
gc->DrawRoundedRectangle(0, 0, rect.width, rect.height, 0);
|
gc->DrawRoundedRectangle(0, 0, rect.width, rect.height, 0);
|
||||||
wxColour bg_color = m_selected ? wxColour("#EBF9F0") : wxColour("#FFFFFF");
|
wxColour bg_color = m_selected ? wxColour("#EBF9F0") : wxColour("#FFFFFF");
|
||||||
wxColour border_color = m_hovered || m_selected ? wxColour("#00AE42") : wxColour("#CECECE");
|
wxColour border_color = m_hovered || m_selected ? wxColour("#00AE42") : wxColour("#CECECE");
|
||||||
int cornerRadius = 5;
|
bg_color = StateColor::darkModeColorFor(bg_color);
|
||||||
|
border_color = StateColor::darkModeColorFor(border_color);
|
||||||
gc->SetBrush(wxBrush(bg_color));
|
gc->SetBrush(wxBrush(bg_color));
|
||||||
gc->SetPen(wxPen(border_color, 2));
|
gc->SetPen(wxPen(border_color, 2));
|
||||||
gc->DrawRoundedRectangle(1, 1, rect.width - 2, rect.height - 2, cornerRadius);
|
gc->DrawRoundedRectangle(1, 1, rect.width - 2, rect.height - 2, 5);
|
||||||
delete gc;
|
delete gc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -99,8 +99,8 @@ void CapsuleButton::OnLeaveWindow(wxMouseEvent &event)
|
||||||
|
|
||||||
void CapsuleButton::UpdateStatus()
|
void CapsuleButton::UpdateStatus()
|
||||||
{
|
{
|
||||||
const wxColour selected_color = wxColour("#EBF9F0");
|
wxColour selected_color = StateColor::darkModeColorFor(wxColour("#EBF9F0"));
|
||||||
const wxColour normal_color = wxColour("#FFFFFF");
|
wxColour normal_color = StateColor::darkModeColorFor(wxColour("#FFFFFF"));
|
||||||
|
|
||||||
std::string icon_name = m_selected ? "capsule_tag_on" : "capsule_tag_off";
|
std::string icon_name = m_selected ? "capsule_tag_on" : "capsule_tag_off";
|
||||||
auto bmp = create_scaled_bitmap(icon_name, nullptr, FromDIP(16));
|
auto bmp = create_scaled_bitmap(icon_name, nullptr, FromDIP(16));
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
#ifndef CAPSULE_BUTTON_HPP
|
#ifndef CAPSULE_BUTTON_HPP
|
||||||
#define CAPSULE_BUTTON_HPP
|
#define CAPSULE_BUTTON_HPP
|
||||||
|
|
||||||
#include "GUI.hpp"
|
|
||||||
#include "wxExtensions.hpp"
|
#include "wxExtensions.hpp"
|
||||||
|
#include "Widgets/Label.hpp"
|
||||||
|
|
||||||
namespace Slic3r { namespace GUI {
|
namespace Slic3r { namespace GUI {
|
||||||
class CapsuleButton : public wxPanel
|
class CapsuleButton : public wxPanel
|
||||||
|
|
|
@ -181,7 +181,7 @@ DragDropPanel::DragDropPanel(wxWindow *parent, const wxString &label, bool is_au
|
||||||
m_sizer->Add(title_panel, 0, wxEXPAND);
|
m_sizer->Add(title_panel, 0, wxEXPAND);
|
||||||
m_sizer->AddSpacer(20);
|
m_sizer->AddSpacer(20);
|
||||||
|
|
||||||
m_grid_item_sizer = new wxGridSizer(0, 6, FromDIP(5),FromDIP(5)); // row = 0, col = 3, 10 10 is space
|
m_grid_item_sizer = new wxGridSizer(0, 6, FromDIP(4),FromDIP(4)); // row = 0, col = 3, 10 10 is space
|
||||||
m_sizer->Add(m_grid_item_sizer, 1, wxEXPAND);
|
m_sizer->Add(m_grid_item_sizer, 1, wxEXPAND);
|
||||||
|
|
||||||
// set droptarget
|
// set droptarget
|
||||||
|
@ -197,7 +197,7 @@ void DragDropPanel::AddColorBlock(const wxColour &color, int filament_id, bool u
|
||||||
{
|
{
|
||||||
ColorPanel *panel = new ColorPanel(this, color, filament_id);
|
ColorPanel *panel = new ColorPanel(this, color, filament_id);
|
||||||
panel->SetMinSize(wxSize(FromDIP(32), FromDIP(40)));
|
panel->SetMinSize(wxSize(FromDIP(32), FromDIP(40)));
|
||||||
m_grid_item_sizer->Add(panel, 0, wxALIGN_CENTER);
|
m_grid_item_sizer->Add(panel, 0);
|
||||||
m_filament_blocks.push_back(panel);
|
m_filament_blocks.push_back(panel);
|
||||||
if (update_ui) {
|
if (update_ui) {
|
||||||
m_filament_blocks.front()->Refresh(); // FIX BUG: STUDIO-8467
|
m_filament_blocks.front()->Refresh(); // FIX BUG: STUDIO-8467
|
||||||
|
|
|
@ -2,35 +2,17 @@
|
||||||
#include "FilamentMapDialog.hpp"
|
#include "FilamentMapDialog.hpp"
|
||||||
#include "GUI_App.hpp"
|
#include "GUI_App.hpp"
|
||||||
#include "MsgDialog.hpp"
|
#include "MsgDialog.hpp"
|
||||||
#include "I18N.hpp"
|
|
||||||
#include "wx/dcgraph.h"
|
#include "wx/dcgraph.h"
|
||||||
|
#include "I18N.hpp"
|
||||||
|
|
||||||
namespace Slic3r { namespace GUI {
|
namespace Slic3r { namespace GUI {
|
||||||
|
|
||||||
static const wxString AutoForFlushLabel = _L("Filament-Saving Mode");
|
|
||||||
static const wxString AutoForMatchLabel = _L("Convenient Mode");
|
|
||||||
static const wxString ManualLabel = _L("Manual Mode");
|
|
||||||
|
|
||||||
static const wxString AutoForFlushDesp = _L("(Arrange after slicing)");
|
|
||||||
static const wxString AutoForMatchDesp = _L("(Arrange before slicing)");
|
|
||||||
static const wxString ManualDesp = "";
|
|
||||||
static const wxString MachineSyncTip = _L("(Please sync printer)");
|
|
||||||
|
|
||||||
static const wxString AutoForFlushDetail = _L("Disregrad the filaments in AMS. Optimize filament usage "
|
|
||||||
"by calculating the best allocation for the left and right "
|
|
||||||
"nozzles. Arrange the filaments according on the printer according to "
|
|
||||||
"the slicing results.");
|
|
||||||
static const wxString AutoForMatchDetail = _L("Based on the current filaments in the AMS, allocate the "
|
|
||||||
"filaments to the left and right nozzles.");
|
|
||||||
static const wxString ManualDetail = _L("Mannully allocate the filaments for the left and right nozzles.");
|
|
||||||
|
|
||||||
static const wxColour LabelEnableColor = wxColour("#262E30");
|
static const wxColour LabelEnableColor = wxColour("#262E30");
|
||||||
static const wxColour LabelDisableColor = wxColour("#6B6B6B");
|
static const wxColour LabelDisableColor = wxColour("#ACACAC");
|
||||||
static const wxColour GreyColor = wxColour("#6B6B6B");
|
static const wxColour GreyColor = wxColour("#6B6B6B");
|
||||||
static const wxColour GreenColor = wxColour("#00AE42");
|
static const wxColour GreenColor = wxColour("#00AE42");
|
||||||
static const wxColour BackGroundColor = wxColour("#FFFFFF");
|
static const wxColour BackGroundColor = wxColour("#FFFFFF");
|
||||||
|
|
||||||
|
|
||||||
static bool is_multi_extruder()
|
static bool is_multi_extruder()
|
||||||
{
|
{
|
||||||
const auto &preset_bundle = wxGetApp().preset_bundle;
|
const auto &preset_bundle = wxGetApp().preset_bundle;
|
||||||
|
@ -85,6 +67,23 @@ bool is_pop_up_required()
|
||||||
|
|
||||||
FilamentGroupPopup::FilamentGroupPopup(wxWindow *parent) : PopupWindow(parent, wxBORDER_NONE | wxPU_CONTAINS_CONTROLS)
|
FilamentGroupPopup::FilamentGroupPopup(wxWindow *parent) : PopupWindow(parent, wxBORDER_NONE | wxPU_CONTAINS_CONTROLS)
|
||||||
{
|
{
|
||||||
|
const wxString AutoForFlushLabel = _L("Filament-Saving Mode");
|
||||||
|
const wxString AutoForMatchLabel = _L("Convenient Mode");
|
||||||
|
const wxString ManualLabel = _L("Manual Mode");
|
||||||
|
|
||||||
|
const wxString AutoForFlushDetail = _L("Disregrad the filaments in AMS. Optimize filament usage "
|
||||||
|
"by calculating the best arrangement for the left and right "
|
||||||
|
"nozzles. Arrange the filaments on the printer based on "
|
||||||
|
"the slicing results.");
|
||||||
|
const wxString AutoForMatchDetail = _L("Based on the current filaments in the AMS, arrange the "
|
||||||
|
"filaments to the left and right nozzles.");
|
||||||
|
const wxString ManualDetail = _L("Mannully arrange the filaments for the left and right nozzles.");
|
||||||
|
|
||||||
|
const wxString AutoForFlushDesp = _L("(Arrange after slicing)");
|
||||||
|
const wxString ManualDesp = "";
|
||||||
|
const wxString AutoForMatchDesp = _L("(Arrange before slicing)");
|
||||||
|
const wxString MachineSyncTip = _L("(Please sync printer)");
|
||||||
|
|
||||||
wxBoxSizer *top_sizer = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer *top_sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
const int horizontal_margin = FromDIP(16);
|
const int horizontal_margin = FromDIP(16);
|
||||||
const int vertical_margin = FromDIP(15);
|
const int vertical_margin = FromDIP(15);
|
||||||
|
@ -189,6 +188,7 @@ FilamentGroupPopup::FilamentGroupPopup(wxWindow *parent) : PopupWindow(parent, w
|
||||||
|
|
||||||
GUI::wxGetApp().UpdateDarkUIWin(this);
|
GUI::wxGetApp().UpdateDarkUIWin(this);
|
||||||
|
|
||||||
|
Bind(wxEVT_PAINT, &FilamentGroupPopup::OnPaint, this);
|
||||||
Bind(wxEVT_TIMER, &FilamentGroupPopup::OnTimer, this);
|
Bind(wxEVT_TIMER, &FilamentGroupPopup::OnTimer, this);
|
||||||
Bind(wxEVT_ENTER_WINDOW, &FilamentGroupPopup::OnEnterWindow, this);
|
Bind(wxEVT_ENTER_WINDOW, &FilamentGroupPopup::OnEnterWindow, this);
|
||||||
Bind(wxEVT_LEAVE_WINDOW, &FilamentGroupPopup::OnLeaveWindow, this);
|
Bind(wxEVT_LEAVE_WINDOW, &FilamentGroupPopup::OnLeaveWindow, this);
|
||||||
|
@ -222,17 +222,24 @@ void FilamentGroupPopup::DrawRoundedCorner(int radius)
|
||||||
|
|
||||||
void FilamentGroupPopup::Init()
|
void FilamentGroupPopup::Init()
|
||||||
{
|
{
|
||||||
|
const wxString AutoForMatchDesp = _L("(Arrange before slicing)");
|
||||||
|
const wxString MachineSyncTip = _L("(Please sync printer)");
|
||||||
|
|
||||||
|
auto disabled_bmp = create_scaled_bitmap("map_mode_disabled", nullptr, 16);
|
||||||
|
auto unchecked_bmp = create_scaled_bitmap("map_mode_off", nullptr, 16);
|
||||||
radio_btns[ButtonType::btForMatch]->Enable(m_connected);
|
radio_btns[ButtonType::btForMatch]->Enable(m_connected);
|
||||||
if (m_connected)
|
|
||||||
button_labels[ButtonType::btForMatch]->SetForegroundColour(LabelEnableColor);
|
|
||||||
else
|
|
||||||
button_labels[ButtonType::btForMatch]->SetForegroundColour(LabelDisableColor);
|
|
||||||
|
|
||||||
|
|
||||||
if (m_connected) {
|
if (m_connected) {
|
||||||
|
button_labels[ButtonType::btForMatch]->SetForegroundColour(LabelEnableColor);
|
||||||
|
button_desps[ButtonType::btForMatch]->SetForegroundColour(LabelEnableColor);
|
||||||
|
detail_infos[ButtonType::btForMatch]->SetForegroundColour(GreyColor);
|
||||||
|
radio_btns[ButtonType::btForMatch]->SetBitmap(unchecked_bmp);
|
||||||
button_desps[ButtonType::btForMatch]->SetLabel(AutoForMatchDesp);
|
button_desps[ButtonType::btForMatch]->SetLabel(AutoForMatchDesp);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
button_labels[ButtonType::btForMatch]->SetForegroundColour(LabelDisableColor);
|
||||||
|
button_desps[ButtonType::btForMatch]->SetForegroundColour(LabelDisableColor);
|
||||||
|
detail_infos[ButtonType::btForMatch]->SetForegroundColour(LabelDisableColor);
|
||||||
|
radio_btns[ButtonType::btForMatch]->SetBitmap(disabled_bmp);
|
||||||
button_desps[ButtonType::btForMatch]->SetLabel(MachineSyncTip);
|
button_desps[ButtonType::btForMatch]->SetLabel(MachineSyncTip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -258,7 +265,6 @@ void FilamentGroupPopup::tryPopup(bool connect_status)
|
||||||
|
|
||||||
if (canPopup()) {
|
if (canPopup()) {
|
||||||
m_connected = connect_status;
|
m_connected = connect_status;
|
||||||
DrawRoundedCorner(16);
|
|
||||||
Init();
|
Init();
|
||||||
ResetTimer();
|
ResetTimer();
|
||||||
PopupWindow::Popup();
|
PopupWindow::Popup();
|
||||||
|
@ -267,6 +273,11 @@ void FilamentGroupPopup::tryPopup(bool connect_status)
|
||||||
|
|
||||||
void FilamentGroupPopup::tryClose() { StartTimer(); }
|
void FilamentGroupPopup::tryClose() { StartTimer(); }
|
||||||
|
|
||||||
|
void FilamentGroupPopup::OnPaint(wxPaintEvent&)
|
||||||
|
{
|
||||||
|
DrawRoundedCorner(16);
|
||||||
|
}
|
||||||
|
|
||||||
void FilamentGroupPopup::StartTimer() { m_timer->StartOnce(300); }
|
void FilamentGroupPopup::StartTimer() { m_timer->StartOnce(300); }
|
||||||
|
|
||||||
void FilamentGroupPopup::ResetTimer()
|
void FilamentGroupPopup::ResetTimer()
|
||||||
|
@ -276,6 +287,8 @@ void FilamentGroupPopup::ResetTimer()
|
||||||
|
|
||||||
void FilamentGroupPopup::OnRadioBtn(int idx)
|
void FilamentGroupPopup::OnRadioBtn(int idx)
|
||||||
{
|
{
|
||||||
|
if (mode_list.at(idx) == FilamentMapMode::fmmAutoForMatch && !m_connected)
|
||||||
|
return;
|
||||||
m_mode = mode_list.at(idx);
|
m_mode = mode_list.at(idx);
|
||||||
|
|
||||||
set_prefered_map_mode(m_mode);
|
set_prefered_map_mode(m_mode);
|
||||||
|
@ -290,7 +303,7 @@ void FilamentGroupPopup::OnRemindBtn(wxCommandEvent &event)
|
||||||
set_pop_up_remind_flag(!is_checked);
|
set_pop_up_remind_flag(!is_checked);
|
||||||
|
|
||||||
if (is_checked) {
|
if (is_checked) {
|
||||||
MessageDialog dialog(nullptr, _L("No further pop up.You can go to \"Preferences\" to reopen the pop up."), _L("Tips"), wxICON_INFORMATION | wxOK);
|
MessageDialog dialog(nullptr, _L("No further pop-up will appear. You can reopen it in 'Preferences'"), _L("Tips"), wxICON_INFORMATION | wxOK);
|
||||||
dialog.ShowModal();
|
dialog.ShowModal();
|
||||||
Dismiss();
|
Dismiss();
|
||||||
}
|
}
|
||||||
|
@ -311,8 +324,9 @@ void FilamentGroupPopup::UpdateButtonStatus(int hover_idx)
|
||||||
{
|
{
|
||||||
auto checked_bmp = create_scaled_bitmap("map_mode_on", nullptr, 16);
|
auto checked_bmp = create_scaled_bitmap("map_mode_on", nullptr, 16);
|
||||||
auto unchecked_bmp = create_scaled_bitmap("map_mode_off", nullptr, 16);
|
auto unchecked_bmp = create_scaled_bitmap("map_mode_off", nullptr, 16);
|
||||||
auto checked_hover_bmp = create_scaled_bitmap("map_mode_on_hovered", nullptr);
|
auto checked_hover_bmp = create_scaled_bitmap("map_mode_on_hovered", nullptr, 16);
|
||||||
auto unchecked_hover_bmp = create_scaled_bitmap("map_mode_off_hovered", nullptr);
|
auto unchecked_hover_bmp = create_scaled_bitmap("map_mode_off_hovered", nullptr, 16);
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < ButtonType::btCount; ++i) {
|
for (int i = 0; i < ButtonType::btCount; ++i) {
|
||||||
if (ButtonType::btForMatch == i && !m_connected) {
|
if (ButtonType::btForMatch == i && !m_connected) {
|
||||||
|
@ -339,8 +353,9 @@ void FilamentGroupPopup::UpdateButtonStatus(int hover_idx)
|
||||||
remind_checkbox->Enable(false);
|
remind_checkbox->Enable(false);
|
||||||
else
|
else
|
||||||
remind_checkbox->Enable(true);
|
remind_checkbox->Enable(true);
|
||||||
Fit();
|
|
||||||
Layout();
|
Layout();
|
||||||
|
Fit();
|
||||||
}
|
}
|
||||||
|
|
||||||
}} // namespace Slic3r::GUI
|
}} // namespace Slic3r::GUI
|
|
@ -1,9 +1,6 @@
|
||||||
#ifndef FILAMENT_GROUP_HOVER_HPP
|
#ifndef FILAMENT_GROUP_HOVER_HPP
|
||||||
#define FILAMENT_GROUP_HOVER_HPP
|
#define FILAMENT_GROUP_HOVER_HPP
|
||||||
|
|
||||||
#include <wx/graphics.h>
|
|
||||||
#include <wx/hyperlink.h>
|
|
||||||
#include "wxExtensions.hpp"
|
|
||||||
#include "Widgets/PopupWindow.hpp"
|
#include "Widgets/PopupWindow.hpp"
|
||||||
#include "Widgets/CheckBox.hpp"
|
#include "Widgets/CheckBox.hpp"
|
||||||
#include "Widgets/Label.hpp"
|
#include "Widgets/Label.hpp"
|
||||||
|
@ -23,6 +20,7 @@ public:
|
||||||
FilamentMapMode GetSelectedMode() const { return m_mode; }
|
FilamentMapMode GetSelectedMode() const { return m_mode; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void OnPaint(wxPaintEvent&event);
|
||||||
void StartTimer();
|
void StartTimer();
|
||||||
void ResetTimer();
|
void ResetTimer();
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,34 @@
|
||||||
|
|
||||||
namespace Slic3r { namespace GUI {
|
namespace Slic3r { namespace GUI {
|
||||||
|
|
||||||
|
static const StateColor btn_bg_green(
|
||||||
|
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||||
|
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||||
|
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal)
|
||||||
|
);
|
||||||
|
|
||||||
|
static const StateColor btn_bd_green(
|
||||||
|
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal)
|
||||||
|
);
|
||||||
|
|
||||||
|
static const StateColor btn_text_green(
|
||||||
|
std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Normal)
|
||||||
|
);
|
||||||
|
|
||||||
|
static const StateColor btn_bg_white(
|
||||||
|
std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Pressed),
|
||||||
|
std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Hovered),
|
||||||
|
std::pair<wxColour, int>(wxColour(255, 255, 255), StateColor::Normal)
|
||||||
|
);
|
||||||
|
|
||||||
|
static const StateColor btn_bd_white(
|
||||||
|
std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Normal)
|
||||||
|
);
|
||||||
|
|
||||||
|
static const StateColor btn_text_white(
|
||||||
|
std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Normal)
|
||||||
|
);
|
||||||
|
|
||||||
FilamentMapDialog::FilamentMapDialog(wxWindow *parent,
|
FilamentMapDialog::FilamentMapDialog(wxWindow *parent,
|
||||||
const std::vector<std::string> &filament_color,
|
const std::vector<std::string> &filament_color,
|
||||||
const std::vector<int> &filament_map,
|
const std::vector<int> &filament_map,
|
||||||
|
@ -21,8 +49,8 @@ FilamentMapDialog::FilamentMapDialog(wxWindow *parent,
|
||||||
{
|
{
|
||||||
SetBackgroundColour(*wxWHITE);
|
SetBackgroundColour(*wxWHITE);
|
||||||
|
|
||||||
SetMinSize(wxSize(FromDIP(550), -1));
|
SetMinSize(wxSize(FromDIP(580), -1));
|
||||||
SetMaxSize(wxSize(FromDIP(550), -1));
|
SetMaxSize(wxSize(FromDIP(580), -1));
|
||||||
|
|
||||||
if (mode < fmmManual)
|
if (mode < fmmManual)
|
||||||
m_page_type = PageType::ptAuto;
|
m_page_type = PageType::ptAuto;
|
||||||
|
@ -70,8 +98,18 @@ FilamentMapDialog::FilamentMapDialog(wxWindow *parent,
|
||||||
wxBoxSizer *button_sizer = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer *button_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
m_ok_btn = new Button(this, _L("OK"));
|
m_ok_btn = new Button(this, _L("OK"));
|
||||||
m_cancel_btn = new Button(this, _L("Cancel"));
|
m_cancel_btn = new Button(this, _L("Cancel"));
|
||||||
|
m_ok_btn->SetCornerRadius(FromDIP(12));
|
||||||
|
m_cancel_btn->SetCornerRadius(FromDIP(12));
|
||||||
m_ok_btn->SetFont(Label::Body_12);
|
m_ok_btn->SetFont(Label::Body_12);
|
||||||
m_cancel_btn->SetFont(Label::Body_12);
|
m_cancel_btn->SetFont(Label::Body_12);
|
||||||
|
|
||||||
|
m_ok_btn->SetBackgroundColor(btn_bg_green);
|
||||||
|
m_ok_btn->SetBorderColor(btn_bd_green);
|
||||||
|
m_ok_btn->SetTextColor(btn_text_green);
|
||||||
|
m_cancel_btn->SetBackgroundColor(btn_bg_white);
|
||||||
|
m_cancel_btn->SetBorderColor(btn_bd_white);
|
||||||
|
m_cancel_btn->SetTextColor(btn_text_white);
|
||||||
|
|
||||||
button_sizer->Add(m_ok_btn, 0, wxALL, FromDIP(8));
|
button_sizer->Add(m_ok_btn, 0, wxALL, FromDIP(8));
|
||||||
button_sizer->Add(m_cancel_btn, 0, wxALL, FromDIP(8));
|
button_sizer->Add(m_cancel_btn, 0, wxALL, FromDIP(8));
|
||||||
main_sizer->Add(button_sizer, 0, wxALIGN_RIGHT | wxALL, FromDIP(15));
|
main_sizer->Add(button_sizer, 0, wxALIGN_RIGHT | wxALL, FromDIP(15));
|
||||||
|
|
|
@ -1,13 +1,8 @@
|
||||||
#ifndef slic3r_FilamentMapDialog_hpp_
|
#ifndef slic3r_FilamentMapDialog_hpp_
|
||||||
#define slic3r_FilamentMapDialog_hpp_
|
#define slic3r_FilamentMapDialog_hpp_
|
||||||
|
|
||||||
#include "GUI.hpp"
|
|
||||||
#include "FilamentMapPanel.hpp"
|
#include "FilamentMapPanel.hpp"
|
||||||
#include <wx/simplebook.h>
|
|
||||||
#include <wx/dialog.h>
|
|
||||||
#include <wx/timer.h>
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "SelectMachine.hpp"
|
|
||||||
#include "CapsuleButton.hpp"
|
#include "CapsuleButton.hpp"
|
||||||
|
|
||||||
class SwitchButton;
|
class SwitchButton;
|
||||||
|
|
|
@ -42,8 +42,8 @@ FilamentMapManualPanel::FilamentMapManualPanel(wxWindow *p
|
||||||
|
|
||||||
top_sizer->Add(drag_sizer, 0, wxALIGN_CENTER|wxEXPAND);
|
top_sizer->Add(drag_sizer, 0, wxALIGN_CENTER|wxEXPAND);
|
||||||
|
|
||||||
m_tips = new Label(this, _L("Tips: You can drag the filaments to change which extruder they are assigned to.\n"
|
m_tips = new Label(this, _L("Tips: You can drag the filaments to reassign them to different nozzles.\n"
|
||||||
"But your filament arrangement may not be the most filament-efficient."));
|
"But your filament arrangement may not be the most efficient for filament usage."));
|
||||||
m_tips->SetFont(Label::Body_14);
|
m_tips->SetFont(Label::Body_14);
|
||||||
m_tips->SetForegroundColour(wxColour("#6B6B6B"));
|
m_tips->SetForegroundColour(wxColour("#6B6B6B"));
|
||||||
top_sizer->AddSpacer(FromDIP(8));
|
top_sizer->AddSpacer(FromDIP(8));
|
||||||
|
@ -165,18 +165,20 @@ void FilamentMapBtnPanel::OnPaint(wxPaintEvent &event)
|
||||||
gc->DrawRoundedRectangle(0, 0, rect.width, rect.height, 0);
|
gc->DrawRoundedRectangle(0, 0, rect.width, rect.height, 0);
|
||||||
wxColour bg_color = m_selected ? wxColour("#EBF9F0") : wxColour("#FFFFFF");
|
wxColour bg_color = m_selected ? wxColour("#EBF9F0") : wxColour("#FFFFFF");
|
||||||
wxColour border_color = m_hover || m_selected ? wxColour("#00AE42") : wxColour("#CECECE");
|
wxColour border_color = m_hover || m_selected ? wxColour("#00AE42") : wxColour("#CECECE");
|
||||||
int cornerRadius = 8;
|
bg_color = StateColor::darkModeColorFor(bg_color);
|
||||||
|
border_color = StateColor::darkModeColorFor(border_color);
|
||||||
gc->SetBrush(wxBrush(bg_color));
|
gc->SetBrush(wxBrush(bg_color));
|
||||||
gc->SetPen(wxPen(border_color, 2));
|
gc->SetPen(wxPen(border_color, 2));
|
||||||
gc->DrawRoundedRectangle(1, 1, rect.width - 2, rect.height - 2, cornerRadius);
|
gc->DrawRoundedRectangle(1, 1, rect.width - 2, rect.height - 2, 8);
|
||||||
delete gc;
|
delete gc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FilamentMapBtnPanel::UpdateStatus()
|
void FilamentMapBtnPanel::UpdateStatus()
|
||||||
{
|
{
|
||||||
const wxColour selected_color = wxColour("#EBF9F0");
|
const wxColour selected_color = StateColor::darkModeColorFor(wxColour("#EBF9F0"));
|
||||||
const wxColour normal_color = wxColour("#FFFFFF");
|
const wxColour normal_color = StateColor::darkModeColorFor(wxColour("#FFFFFF"));
|
||||||
|
|
||||||
if (m_selected) {
|
if (m_selected) {
|
||||||
m_btn->SetBackgroundColour(selected_color);
|
m_btn->SetBackgroundColour(selected_color);
|
||||||
m_label->SetBackgroundColour(selected_color);
|
m_label->SetBackgroundColour(selected_color);
|
||||||
|
@ -235,13 +237,13 @@ void GUI::FilamentMapBtnPanel::Show()
|
||||||
FilamentMapAutoPanel::FilamentMapAutoPanel(wxWindow *parent, FilamentMapMode mode) : wxPanel(parent)
|
FilamentMapAutoPanel::FilamentMapAutoPanel(wxWindow *parent, FilamentMapMode mode) : wxPanel(parent)
|
||||||
{
|
{
|
||||||
static const wxString AutoForFlushDetail = _L("Disregrad the filaments in AMS. Optimize filament usage "
|
static const wxString AutoForFlushDetail = _L("Disregrad the filaments in AMS. Optimize filament usage "
|
||||||
"by calculating the best allocation for the left and right "
|
"by calculating the best arrangement for the left and right "
|
||||||
"nozzles. Arrange the filaments according on the printer according to "
|
"nozzles. Arrange the filaments on the printer based on "
|
||||||
"the slicing results.");
|
"the slicing results.");
|
||||||
static const wxString AutoForMatchDetail = _L("Based on the current filaments in the AMS, allocate the "
|
static const wxString AutoForMatchDetail = _L("Based on the current filaments in the AMS, arrange the "
|
||||||
"filaments to the left and right nozzles.");
|
"filaments to the left and right nozzles.");
|
||||||
auto sizer = new wxBoxSizer(wxHORIZONTAL);
|
auto sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
m_flush_panel = new FilamentMapBtnPanel(this, _L("Material-Saving Mode"), AutoForFlushDetail, "flush_mode_panel_icon");
|
m_flush_panel = new FilamentMapBtnPanel(this, _L("Filament-Saving Mode"), AutoForFlushDetail, "flush_mode_panel_icon");
|
||||||
m_match_panel = new FilamentMapBtnPanel(this, _L("Convenient Mode"), AutoForMatchDetail,"match_mode_panel_icon");
|
m_match_panel = new FilamentMapBtnPanel(this, _L("Convenient Mode"), AutoForMatchDetail,"match_mode_panel_icon");
|
||||||
|
|
||||||
sizer->AddStretchSpacer();
|
sizer->AddStretchSpacer();
|
||||||
|
@ -296,7 +298,7 @@ FilamentMapDefaultPanel::FilamentMapDefaultPanel(wxWindow *parent) : wxPanel(par
|
||||||
{
|
{
|
||||||
auto sizer = new wxBoxSizer(wxHORIZONTAL);
|
auto sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
|
||||||
m_label = new Label(this, _L("The material allocation for the current disk follows the global settings."));
|
m_label = new Label(this, _L("The filament arrangement for current plate follows the global settings."));
|
||||||
m_label->SetFont(Label::Body_14);
|
m_label->SetFont(Label::Body_14);
|
||||||
m_label->SetBackgroundColour(*wxWHITE);
|
m_label->SetBackgroundColour(*wxWHITE);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue