mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-21 21:58:03 -06:00
FIX:preferences dialog location problem in high scaling ratio
Change-Id: I109c8563ff946d6ed8aca647b17d4c4b1491a65b
This commit is contained in:
parent
8992cab6fe
commit
6c4b1f79da
2 changed files with 31 additions and 15 deletions
|
@ -561,9 +561,14 @@ void PreferencesDialog::create()
|
||||||
SetIcon(wxIcon(encode_path(icon_path.c_str()), wxBITMAP_TYPE_ICO));
|
SetIcon(wxIcon(encode_path(icon_path.c_str()), wxBITMAP_TYPE_ICO));
|
||||||
SetSizeHints(wxDefaultSize, wxDefaultSize);
|
SetSizeHints(wxDefaultSize, wxDefaultSize);
|
||||||
|
|
||||||
|
auto main_sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
|
m_scrolledWindow = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL);
|
||||||
|
m_scrolledWindow->SetScrollRate(5, 5);
|
||||||
|
|
||||||
m_sizer_body = new wxBoxSizer(wxVERTICAL);
|
m_sizer_body = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
auto m_top_line = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(DESIGN_RESOUTION_PREFERENCES.x, 1), wxTAB_TRAVERSAL);
|
auto m_top_line = new wxPanel(m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxSize(DESIGN_RESOUTION_PREFERENCES.x, 1), wxTAB_TRAVERSAL);
|
||||||
m_top_line->SetBackgroundColour(DESIGN_GRAY400_COLOR);
|
m_top_line->SetBackgroundColour(DESIGN_GRAY400_COLOR);
|
||||||
|
|
||||||
m_sizer_body->Add(m_top_line, 0, wxEXPAND, 0);
|
m_sizer_body->Add(m_top_line, 0, wxEXPAND, 0);
|
||||||
|
@ -576,16 +581,26 @@ void PreferencesDialog::create()
|
||||||
create_sync_page();
|
create_sync_page();
|
||||||
create_shortcuts_page();*/
|
create_shortcuts_page();*/
|
||||||
|
|
||||||
m_sizer_body->Add(0, 0, 0, wxTOP, FromDIP(28));
|
m_sizer_body->Add(0, 0, 0, wxTOP, FromDIP(28));
|
||||||
m_sizer_body->Add(general_page, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(38));
|
m_sizer_body->Add(general_page, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(38));
|
||||||
#if !BBL_RELEASE_TO_PUBLIC
|
#if !BBL_RELEASE_TO_PUBLIC
|
||||||
m_sizer_body->Add(debug_page, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(38));
|
m_sizer_body->Add(debug_page, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(38));
|
||||||
#endif
|
#endif
|
||||||
m_sizer_body->Add(0, 0, 0, wxBOTTOM, FromDIP(28));
|
m_sizer_body->Add(0, 0, 0, wxBOTTOM, FromDIP(28));
|
||||||
SetSizer(m_sizer_body);
|
m_scrolledWindow->SetSizerAndFit(m_sizer_body);
|
||||||
|
|
||||||
|
main_sizer->Add(m_scrolledWindow, 1, wxEXPAND);
|
||||||
|
|
||||||
|
SetSizer(main_sizer);
|
||||||
Layout();
|
Layout();
|
||||||
Fit();
|
Fit();
|
||||||
|
int screen_height = wxGetDisplaySize().GetY();
|
||||||
|
if (this->GetSize().GetY() > screen_height)
|
||||||
|
this->SetSize(this->GetSize().GetX() + FromDIP(40), screen_height * 4 / 5);
|
||||||
|
|
||||||
CenterOnParent();
|
CenterOnParent();
|
||||||
|
wxPoint start_pos = this->GetPosition();
|
||||||
|
if (start_pos.y < 0) { this->SetPosition(wxPoint(start_pos.x, 0)); }
|
||||||
|
|
||||||
//select first
|
//select first
|
||||||
auto event = wxCommandEvent(EVT_PREFERENCES_SELECT_TAB);
|
auto event = wxCommandEvent(EVT_PREFERENCES_SELECT_TAB);
|
||||||
|
@ -625,7 +640,7 @@ void PreferencesDialog::Split(const std::string &src, const std::string &separat
|
||||||
|
|
||||||
wxWindow* PreferencesDialog::create_general_page()
|
wxWindow* PreferencesDialog::create_general_page()
|
||||||
{
|
{
|
||||||
auto page = new wxWindow(this, wxID_ANY);
|
auto page = new wxWindow(m_scrolledWindow, wxID_ANY);
|
||||||
page->SetBackgroundColour(*wxWHITE);
|
page->SetBackgroundColour(*wxWHITE);
|
||||||
wxBoxSizer *sizer_page = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer *sizer_page = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
|
@ -782,19 +797,19 @@ wxBoxSizer* PreferencesDialog::create_debug_page()
|
||||||
|
|
||||||
wxBoxSizer *bSizer = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer *bSizer = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
auto title_develop_mode = create_item_title(_L("Develop mode"), this, _L("Develop mode"));
|
auto title_develop_mode = create_item_title(_L("Develop mode"), m_scrolledWindow, _L("Develop mode"));
|
||||||
auto item_develop_mode = create_item_checkbox(_L("Develop mode"), this, _L("Develop mode"), 50, "developer_mode");
|
auto item_develop_mode = create_item_checkbox(_L("Develop mode"), m_scrolledWindow, _L("Develop mode"), 50, "developer_mode");
|
||||||
auto item_dump_video = create_item_checkbox(_L("Dump video"), this, _L("Dump video"), 50, "dump_video");
|
auto item_dump_video = create_item_checkbox(_L("Dump video"), m_scrolledWindow, _L("Dump video"), 50, "dump_video");
|
||||||
|
|
||||||
auto title_log_level = create_item_title(_L("Log Level"), this, _L("Log Level"));
|
auto title_log_level = create_item_title(_L("Log Level"), m_scrolledWindow, _L("Log Level"));
|
||||||
auto log_level_list = std::vector<wxString>{_L("fatal"), _L("error"), _L("warning"), _L("info"), _L("debug"), _L("trace")};
|
auto log_level_list = std::vector<wxString>{_L("fatal"), _L("error"), _L("warning"), _L("info"), _L("debug"), _L("trace")};
|
||||||
auto loglevel_combox = create_item_loglevel_combobox(_L("Log Level"), this, _L("Log Level"), log_level_list);
|
auto loglevel_combox = create_item_loglevel_combobox(_L("Log Level"), m_scrolledWindow, _L("Log Level"), log_level_list);
|
||||||
|
|
||||||
auto title_host = create_item_title(_L("Host Setting"), this, _L("Host Setting"));
|
auto title_host = create_item_title(_L("Host Setting"), m_scrolledWindow, _L("Host Setting"));
|
||||||
auto radio1 = create_item_radiobox(_L("DEV host: api-dev.bambu-lab.com/v1"), this, wxEmptyString, 50, 1, "dev_host");
|
auto radio1 = create_item_radiobox(_L("DEV host: api-dev.bambu-lab.com/v1"), m_scrolledWindow, wxEmptyString, 50, 1, "dev_host");
|
||||||
auto radio2 = create_item_radiobox(_L("QA host: api-qa.bambu-lab.com/v1"), this, wxEmptyString, 50, 1, "qa_host");
|
auto radio2 = create_item_radiobox(_L("QA host: api-qa.bambu-lab.com/v1"), m_scrolledWindow, wxEmptyString, 50, 1, "qa_host");
|
||||||
auto radio3 = create_item_radiobox(_L("PRE host: api-pre.bambu-lab.com/v1"), this, wxEmptyString, 50, 1, "pre_host");
|
auto radio3 = create_item_radiobox(_L("PRE host: api-pre.bambu-lab.com/v1"), m_scrolledWindow, wxEmptyString, 50, 1, "pre_host");
|
||||||
auto radio4 = create_item_radiobox(_L("Product host"), this, wxEmptyString, 50, 1, "product_host");
|
auto radio4 = create_item_radiobox(_L("Product host"), m_scrolledWindow, wxEmptyString, 50, 1, "product_host");
|
||||||
|
|
||||||
if (m_iot_environment_def == ENV_DEV_HOST) {
|
if (m_iot_environment_def == ENV_DEV_HOST) {
|
||||||
on_select_radio("dev_host");
|
on_select_radio("dev_host");
|
||||||
|
@ -806,7 +821,7 @@ wxBoxSizer* PreferencesDialog::create_debug_page()
|
||||||
on_select_radio("product_host");
|
on_select_radio("product_host");
|
||||||
}
|
}
|
||||||
|
|
||||||
wxButton *debug_button = new wxButton(this, wxID_ANY, _L("debug save button"), wxDefaultPosition, wxDefaultSize, 0);
|
wxButton *debug_button = new wxButton(m_scrolledWindow, wxID_ANY, _L("debug save button"), wxDefaultPosition, wxDefaultSize, 0);
|
||||||
debug_button->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
|
debug_button->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
|
||||||
// success message box
|
// success message box
|
||||||
MessageDialog dialog(this, _L("save debug settings"), _L("DEBUG settings have saved successfully!"), wxNO_DEFAULT | wxYES_NO | wxICON_INFORMATION);
|
MessageDialog dialog(this, _L("save debug settings"), _L("DEBUG settings have saved successfully!"), wxNO_DEFAULT | wxYES_NO | wxICON_INFORMATION);
|
||||||
|
|
|
@ -60,6 +60,7 @@ private:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxBoxSizer * m_sizer_body;
|
wxBoxSizer * m_sizer_body;
|
||||||
|
wxScrolledWindow *m_scrolledWindow;
|
||||||
|
|
||||||
// bool m_settings_layout_changed {false};
|
// bool m_settings_layout_changed {false};
|
||||||
bool m_seq_top_layer_only_changed{false};
|
bool m_seq_top_layer_only_changed{false};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue