From 7e060f84bd534fb027bdc3a1f4b48cce912090bd Mon Sep 17 00:00:00 2001 From: YuSanka Date: Fri, 20 Sep 2019 11:30:29 +0200 Subject: [PATCH] Forcing of explicit SetWidth for the columns under OSX, as an attempt to fix a narrow column width on 4(5)K monitors under OSX --- src/slic3r/GUI/GUI_ObjectList.cpp | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 47be4b5eb..1d5d8f1a5 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -255,21 +255,30 @@ void ObjectList::create_objects_ctrl() EnableDropTarget(wxDF_UNICODETEXT); #endif // wxUSE_DRAG_AND_DROP && wxUSE_UNICODE + const int em = wxGetApp().em_unit(); + // column ItemName(Icon+Text) of the view control: // And Icon can be consisting of several bitmaps AppendColumn(new wxDataViewColumn(_(L("Name")), new BitmapTextRenderer(), - colName, 20*wxGetApp().em_unit()/*200*/, wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE)); + colName, 20*em, wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE)); // column PrintableProperty (Icon) of the view control: - AppendBitmapColumn(" ", colPrint, wxDATAVIEW_CELL_INERT, int(2 * wxGetApp().em_unit()), + AppendBitmapColumn(" ", colPrint, wxDATAVIEW_CELL_INERT, 3*em, wxALIGN_CENTER_HORIZONTAL, wxDATAVIEW_COL_RESIZABLE); // column Extruder of the view control: AppendColumn(create_objects_list_extruder_column(4)); // column ItemEditing of the view control: - AppendBitmapColumn(_(L("Editing")), colEditing, wxDATAVIEW_CELL_INERT, int(2.5 * wxGetApp().em_unit())/*25*/, + AppendBitmapColumn(_(L("Editing")), colEditing, wxDATAVIEW_CELL_INERT, 3*em, wxALIGN_CENTER_HORIZONTAL, wxDATAVIEW_COL_RESIZABLE); + + if (wxOSX) + { + GetColumn(colName)->SetWidth(20*em); + GetColumn(colPrint)->SetWidth(3*em); + GetColumn(colExtruder)->SetWidth(8*em); + } } void ObjectList::create_popup_menus() @@ -822,12 +831,18 @@ void ObjectList::list_manipulation(bool evt_context_menu/* = false*/) show_context_menu(evt_context_menu); else if (title == _("Name")) { - int obj_idx, vol_idx; - get_selected_item_indexes(obj_idx, vol_idx, item); + if (wxOSX) + show_context_menu(evt_context_menu); // return context menu under OSX (related to #2909) - if (is_windows10() && get_mesh_errors_count(obj_idx, vol_idx) > 0 && - pt.x > 2*wxGetApp().em_unit() && pt.x < 4*wxGetApp().em_unit() ) - fix_through_netfabb(); + if (is_windows10()) + { + int obj_idx, vol_idx; + get_selected_item_indexes(obj_idx, vol_idx, item); + + if (get_mesh_errors_count(obj_idx, vol_idx) > 0 && + pt.x > 2*wxGetApp().em_unit() && pt.x < 4*wxGetApp().em_unit() ) + fix_through_netfabb(); + } } #ifndef __WXMSW__