mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-16 10:02:12 +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);
|
||||
}
|
||||
|
||||
#ifdef __linux__
|
||||
if (get("window_buttons_on_left").empty())
|
||||
set_bool("window_buttons_on_left", false);
|
||||
#endif
|
||||
|
||||
// Remove legacy window positions/sizes
|
||||
erase("app", "main_frame_maximized");
|
||||
erase("app", "main_frame_pos");
|
||||
|
||||
@@ -236,7 +236,37 @@ void BBLTopbar::Init(wxFrame* parent)
|
||||
|
||||
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);
|
||||
wxAuiToolBarItem* logo_item = this->AddTool(ID_LOGO, "", logo_bitmap);
|
||||
@@ -312,6 +342,7 @@ void BBLTopbar::Init(wxFrame* parent)
|
||||
//this->AddSeparator();
|
||||
//this->AddSpacer(FromDIP(4));
|
||||
|
||||
if(!window_btns_on_left){
|
||||
wxBitmap iconize_bitmap = create_scaled_bitmap("topbar_min", nullptr, TOPBAR_ICON_SIZE);
|
||||
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);
|
||||
wxAuiToolBarItem* close_btn = this->AddTool(wxID_CLOSE_FRAME, "", close_bitmap);
|
||||
}
|
||||
|
||||
Realize();
|
||||
// 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");
|
||||
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");
|
||||
//g_sizer->Add(item_hints);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user