mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-19 11:23:42 +00:00
Add option to place window buttons on left side for Linux (#12831)
init
This commit is contained in:
@@ -523,6 +523,11 @@ void AppConfig::set_defaults()
|
|||||||
set_bool("installed_networking", false);
|
set_bool("installed_networking", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
if (get("window_buttons_on_left").empty())
|
||||||
|
set_bool("window_buttons_on_left", false);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Remove legacy window positions/sizes
|
// Remove legacy window positions/sizes
|
||||||
erase("app", "main_frame_maximized");
|
erase("app", "main_frame_maximized");
|
||||||
erase("app", "main_frame_pos");
|
erase("app", "main_frame_pos");
|
||||||
|
|||||||
@@ -236,7 +236,37 @@ void BBLTopbar::Init(wxFrame* parent)
|
|||||||
|
|
||||||
wxInitAllImageHandlers();
|
wxInitAllImageHandlers();
|
||||||
|
|
||||||
this->AddSpacer(5);
|
bool window_btns_on_left = false;
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
window_btns_on_left = wxGetApp().app_config->get("window_buttons_on_left") == "true";
|
||||||
|
|
||||||
|
if(window_btns_on_left){
|
||||||
|
wxBitmap close_bitmap = create_scaled_bitmap("topbar_close", nullptr, TOPBAR_ICON_SIZE);
|
||||||
|
wxAuiToolBarItem* close_btn = this->AddTool(wxID_CLOSE_FRAME, "", close_bitmap);
|
||||||
|
|
||||||
|
this->AddSpacer(FromDIP(4));
|
||||||
|
|
||||||
|
maximize_bitmap = create_scaled_bitmap("topbar_max", nullptr, TOPBAR_ICON_SIZE);
|
||||||
|
window_bitmap = create_scaled_bitmap("topbar_win", nullptr, TOPBAR_ICON_SIZE);
|
||||||
|
if (m_frame->IsMaximized()) {
|
||||||
|
maximize_btn = this->AddTool(wxID_MAXIMIZE_FRAME, "", window_bitmap);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
maximize_btn = this->AddTool(wxID_MAXIMIZE_FRAME, "", maximize_bitmap);
|
||||||
|
}
|
||||||
|
|
||||||
|
this->AddSpacer(FromDIP(4));
|
||||||
|
|
||||||
|
wxBitmap iconize_bitmap = create_scaled_bitmap("topbar_min", nullptr, TOPBAR_ICON_SIZE);
|
||||||
|
wxAuiToolBarItem* iconize_btn = this->AddTool(wxID_ICONIZE_FRAME, "", iconize_bitmap);
|
||||||
|
|
||||||
|
this->AddSpacer(15);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if(!window_btns_on_left)
|
||||||
|
this->AddSpacer(5);
|
||||||
|
|
||||||
/*wxBitmap logo_bitmap = create_scaled_bitmap("topbar_logo", nullptr, TOPBAR_ICON_SIZE);
|
/*wxBitmap logo_bitmap = create_scaled_bitmap("topbar_logo", nullptr, TOPBAR_ICON_SIZE);
|
||||||
wxAuiToolBarItem* logo_item = this->AddTool(ID_LOGO, "", logo_bitmap);
|
wxAuiToolBarItem* logo_item = this->AddTool(ID_LOGO, "", logo_bitmap);
|
||||||
@@ -312,6 +342,7 @@ void BBLTopbar::Init(wxFrame* parent)
|
|||||||
//this->AddSeparator();
|
//this->AddSeparator();
|
||||||
//this->AddSpacer(FromDIP(4));
|
//this->AddSpacer(FromDIP(4));
|
||||||
|
|
||||||
|
if(!window_btns_on_left){
|
||||||
wxBitmap iconize_bitmap = create_scaled_bitmap("topbar_min", nullptr, TOPBAR_ICON_SIZE);
|
wxBitmap iconize_bitmap = create_scaled_bitmap("topbar_min", nullptr, TOPBAR_ICON_SIZE);
|
||||||
wxAuiToolBarItem* iconize_btn = this->AddTool(wxID_ICONIZE_FRAME, "", iconize_bitmap);
|
wxAuiToolBarItem* iconize_btn = this->AddTool(wxID_ICONIZE_FRAME, "", iconize_bitmap);
|
||||||
|
|
||||||
@@ -330,6 +361,7 @@ void BBLTopbar::Init(wxFrame* parent)
|
|||||||
|
|
||||||
wxBitmap close_bitmap = create_scaled_bitmap("topbar_close", nullptr, TOPBAR_ICON_SIZE);
|
wxBitmap close_bitmap = create_scaled_bitmap("topbar_close", nullptr, TOPBAR_ICON_SIZE);
|
||||||
wxAuiToolBarItem* close_btn = this->AddTool(wxID_CLOSE_FRAME, "", close_bitmap);
|
wxAuiToolBarItem* close_btn = this->AddTool(wxID_CLOSE_FRAME, "", close_bitmap);
|
||||||
|
}
|
||||||
|
|
||||||
Realize();
|
Realize();
|
||||||
// m_toolbar_h = this->GetSize().GetHeight();
|
// m_toolbar_h = this->GetSize().GetHeight();
|
||||||
|
|||||||
@@ -1360,6 +1360,11 @@ void PreferencesDialog::create_items()
|
|||||||
auto item_show_splash_scr = create_item_checkbox(_L("Show splash screen"), _L("Show the splash screen during startup."), "show_splash_screen");
|
auto item_show_splash_scr = create_item_checkbox(_L("Show splash screen"), _L("Show the splash screen during startup."), "show_splash_screen");
|
||||||
g_sizer->Add(item_show_splash_scr);
|
g_sizer->Add(item_show_splash_scr);
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
auto item_window_button_pos = create_item_checkbox(_L("Use window buttons on left side"), "", "window_buttons_on_left", _L("(Requires restart)"));
|
||||||
|
g_sizer->Add(item_window_button_pos);
|
||||||
|
#endif
|
||||||
|
|
||||||
//auto item_hints = create_item_checkbox(_L("Show \"Daily Tips\" after start"), page, _L("If enabled, useful hints are displayed at startup."), "show_daily_tips");
|
//auto item_hints = create_item_checkbox(_L("Show \"Daily Tips\" after start"), page, _L("If enabled, useful hints are displayed at startup."), "show_daily_tips");
|
||||||
//g_sizer->Add(item_hints);
|
//g_sizer->Add(item_hints);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user