Fix HiDPI in Bonjour Dialog
This commit is contained in:
parent
2c49dcb9be
commit
5c9cede9bf
2 changed files with 17 additions and 15 deletions
|
@ -13,6 +13,7 @@
|
||||||
#include <wx/wupdlock.h>
|
#include <wx/wupdlock.h>
|
||||||
|
|
||||||
#include "slic3r/GUI/GUI.hpp"
|
#include "slic3r/GUI/GUI.hpp"
|
||||||
|
#include "slic3r/GUI/GUI_App.hpp"
|
||||||
#include "slic3r/GUI/I18N.hpp"
|
#include "slic3r/GUI/I18N.hpp"
|
||||||
#include "slic3r/Utils/Bonjour.hpp"
|
#include "slic3r/Utils/Bonjour.hpp"
|
||||||
|
|
||||||
|
@ -50,35 +51,36 @@ struct LifetimeGuard
|
||||||
LifetimeGuard(BonjourDialog *dialog) : dialog(dialog) {}
|
LifetimeGuard(BonjourDialog *dialog) : dialog(dialog) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
// FIXME: use em, resizable
|
|
||||||
|
|
||||||
BonjourDialog::BonjourDialog(wxWindow *parent, Slic3r::PrinterTechnology tech)
|
BonjourDialog::BonjourDialog(wxWindow *parent, Slic3r::PrinterTechnology tech)
|
||||||
: wxDialog(parent, wxID_ANY, _(L("Network lookup")))
|
: wxDialog(parent, wxID_ANY, _(L("Network lookup")), wxDefaultPosition, wxDefaultSize, wxRESIZE_BORDER)
|
||||||
, list(new wxListView(this, wxID_ANY, wxDefaultPosition, wxSize(800, 300)))
|
, list(new wxListView(this, wxID_ANY))
|
||||||
, replies(new ReplySet)
|
, replies(new ReplySet)
|
||||||
, label(new wxStaticText(this, wxID_ANY, ""))
|
, label(new wxStaticText(this, wxID_ANY, ""))
|
||||||
, timer(new wxTimer())
|
, timer(new wxTimer())
|
||||||
, timer_state(0)
|
, timer_state(0)
|
||||||
, tech(tech)
|
, tech(tech)
|
||||||
{
|
{
|
||||||
|
const int em = GUI::wxGetApp().em_unit();
|
||||||
|
list->SetMinSize(wxSize(80 * em, 30 * em));
|
||||||
|
|
||||||
wxBoxSizer *vsizer = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer *vsizer = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
vsizer->Add(label, 0, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, 10);
|
vsizer->Add(label, 0, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, em);
|
||||||
|
|
||||||
list->SetSingleStyle(wxLC_SINGLE_SEL);
|
list->SetSingleStyle(wxLC_SINGLE_SEL);
|
||||||
list->SetSingleStyle(wxLC_SORT_DESCENDING);
|
list->SetSingleStyle(wxLC_SORT_DESCENDING);
|
||||||
list->AppendColumn(_(L("Address")), wxLIST_FORMAT_LEFT, 50);
|
list->AppendColumn(_(L("Address")), wxLIST_FORMAT_LEFT, 5 * em);
|
||||||
list->AppendColumn(_(L("Hostname")), wxLIST_FORMAT_LEFT, 100);
|
list->AppendColumn(_(L("Hostname")), wxLIST_FORMAT_LEFT, 10 * em);
|
||||||
list->AppendColumn(_(L("Service name")), wxLIST_FORMAT_LEFT, 200);
|
list->AppendColumn(_(L("Service name")), wxLIST_FORMAT_LEFT, 20 * em);
|
||||||
if (tech == ptFFF) {
|
if (tech == ptFFF) {
|
||||||
list->AppendColumn(_(L("OctoPrint version")), wxLIST_FORMAT_LEFT, 50);
|
list->AppendColumn(_(L("OctoPrint version")), wxLIST_FORMAT_LEFT, 5 * em);
|
||||||
}
|
}
|
||||||
|
|
||||||
vsizer->Add(list, 1, wxEXPAND | wxALL, 10);
|
vsizer->Add(list, 1, wxEXPAND | wxALL, em);
|
||||||
|
|
||||||
wxBoxSizer *button_sizer = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer *button_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
button_sizer->Add(new wxButton(this, wxID_OK, "OK"), 0, wxALL, 10);
|
button_sizer->Add(new wxButton(this, wxID_OK, "OK"), 0, wxALL, em);
|
||||||
button_sizer->Add(new wxButton(this, wxID_CANCEL, "Cancel"), 0, wxALL, 10);
|
button_sizer->Add(new wxButton(this, wxID_CANCEL, "Cancel"), 0, wxALL, em);
|
||||||
// ^ Note: The Ok/Cancel labels are translated by wxWidgets
|
// ^ Note: The Ok/Cancel labels are translated by wxWidgets
|
||||||
|
|
||||||
vsizer->Add(button_sizer, 0, wxALIGN_CENTER);
|
vsizer->Add(button_sizer, 0, wxALIGN_CENTER);
|
||||||
|
@ -197,9 +199,11 @@ void BonjourDialog::on_reply(BonjourReplyEvent &e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const int em = GUI::wxGetApp().em_unit();
|
||||||
|
|
||||||
for (int i = 0; i < list->GetColumnCount(); i++) {
|
for (int i = 0; i < list->GetColumnCount(); i++) {
|
||||||
list->SetColumnWidth(i, wxLIST_AUTOSIZE);
|
list->SetColumnWidth(i, wxLIST_AUTOSIZE);
|
||||||
if (list->GetColumnWidth(i) < 100) { list->SetColumnWidth(i, 100); }
|
if (list->GetColumnWidth(i) < 10 * em) { list->SetColumnWidth(i, 10 * em); }
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!selected.IsEmpty()) {
|
if (!selected.IsEmpty()) {
|
||||||
|
|
|
@ -24,7 +24,6 @@ namespace GUI {
|
||||||
|
|
||||||
|
|
||||||
MsgDialog::MsgDialog(wxWindow *parent, const wxString &title, const wxString &headline, wxWindowID button_id) :
|
MsgDialog::MsgDialog(wxWindow *parent, const wxString &title, const wxString &headline, wxWindowID button_id) :
|
||||||
// MsgDialog(parent, title, headline, wxBitmap(from_u8(Slic3r::var("Slic3r_192px.png")), wxBITMAP_TYPE_PNG), button_id)
|
|
||||||
MsgDialog(parent, title, headline, create_scaled_bitmap("Slic3r_192px.png"), button_id)
|
MsgDialog(parent, title, headline, create_scaled_bitmap("Slic3r_192px.png"), button_id)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
@ -70,7 +69,6 @@ MsgDialog::~MsgDialog() {}
|
||||||
|
|
||||||
ErrorDialog::ErrorDialog(wxWindow *parent, const wxString &msg)
|
ErrorDialog::ErrorDialog(wxWindow *parent, const wxString &msg)
|
||||||
: MsgDialog(parent, _(L("Slic3r error")), _(L("Slic3r has encountered an error")),
|
: MsgDialog(parent, _(L("Slic3r error")), _(L("Slic3r has encountered an error")),
|
||||||
// wxBitmap(from_u8(Slic3r::var("Slic3r_192px_grayscale.png")), wxBITMAP_TYPE_PNG),
|
|
||||||
create_scaled_bitmap("Slic3r_192px_grayscale.png"),
|
create_scaled_bitmap("Slic3r_192px_grayscale.png"),
|
||||||
wxID_NONE)
|
wxID_NONE)
|
||||||
, msg(msg)
|
, msg(msg)
|
||||||
|
|
Loading…
Add table
Reference in a new issue