FIX:change interface for send

jira:[none]

Change-Id: Ia59bb1bb606399541aa191991ff0fb3f106d75d1
(cherry picked from commit b22af6cfe0a589ae5fa2e95a01ebe47f6742ee99)
This commit is contained in:
milk 2025-10-11 15:42:31 +08:00 committed by Noisyfox
parent a561c1bf13
commit f63cdc30e4
4 changed files with 38 additions and 11 deletions

View file

@ -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

View file

@ -631,13 +631,14 @@ void SendToPrinterDialog::update_storage_list(const std::vector<std::string> &st
if (storages[i] == "emmc")
storage_text->SetLabel(_L("Internal Storage"));
else
storage_text->SetLabel(_L("Enternal Storage"));
storage_text->SetLabel(_L("External Storage"));
//radiobox->SetLabel(storages[i]);
if (storages[i] != "emmc" && m_if_has_sdcard == false)
{
storage_text->SetLabel(_L("No Enternal Storage"));
storage_text->SetLabel(_L("External Storage"));
radiobox->Disable();
storage_text->SetForegroundColour(wxColour("#CECECE"));
}
else
{
@ -654,6 +655,7 @@ void SendToPrinterDialog::update_storage_list(const std::vector<std::string> &st
m_storage_sizer->Add(radiobox, 0, wxALIGN_CENTER, 0);
m_storage_sizer->Add(0, 0, 0, wxEXPAND|wxLEFT, FromDIP(6));
m_storage_sizer->Add(storage_text, 0, wxALIGN_CENTER,0);
m_storage_sizer->AddSpacer(20);
m_storage_radioBox.push_back(radiobox);
}
@ -1874,8 +1876,17 @@ void SendToPrinterDialog::CreateMediaAbilityJob()
auto media_set = nlohmann::json::parse(json_res);
for (const auto &it : media_set)
m_ability_list.push_back(it.get<std::string>());
update_storage_list(m_ability_list);
BOOST_LOG_TRIVIAL(info) << "CreateMediaAbilityJob::" << "request mediaability success." << json_res;
if (m_if_has_sdcard == false && m_ability_list.size() == 1)
{
show_status(PrintDialogStatus::PrintStatusNoSdcard);
return;
}
else
{
update_storage_list(m_ability_list);
}
}
catch (const nlohmann::json::exception &e)
{

View file

@ -2,10 +2,13 @@
#include "../wxExtensions.hpp"
namespace Slic3r {
namespace Slic3r {
namespace GUI {
RadioBox::RadioBox(wxWindow *parent)
: wxBitmapToggleButton(parent, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE), m_on(this, "radio_on", 18), m_off(this, "radio_off", 18)
: wxBitmapToggleButton(parent, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE)
, m_on(this, "radio_on", 18)
, m_off(this, "radio_off", 18)
, m_ban(this, "radio_ban", 18)
{
// SetBackgroundStyle(wxBG_STYLE_TRANSPARENT);
if (parent) SetBackgroundColour(parent->GetBackgroundColour());
@ -35,7 +38,16 @@ void RadioBox::Rescale()
update();
}
void RadioBox::update() { SetBitmap((GetValue() ? m_on : m_off).bmp()); }
void RadioBox::update() {
if (IsEnabled())
{
SetBitmap((GetValue() ? m_on : m_off).bmp());
} else
{
SetBitmap(m_ban.bmp());
}
}
}
}

View file

@ -5,7 +5,7 @@
#include <wx/tglbtn.h>
namespace Slic3r {
namespace Slic3r {
namespace GUI {
class RadioBox : public wxBitmapToggleButton
@ -17,11 +17,11 @@ public:
void SetValue(bool value) override;
bool GetValue();
void Rescale();
bool Disable() {
return wxBitmapToggleButton::Disable();
bool Disable() {
return wxBitmapToggleButton::Disable();
}
bool Enable() {
return wxBitmapToggleButton::Enable();
bool Enable() {
return wxBitmapToggleButton::Enable();
}
private:
@ -30,6 +30,7 @@ private:
private:
ScalableBitmap m_on;
ScalableBitmap m_off;
ScalableBitmap m_ban;
};
}}