From 6dc68c4c9e26926c6182ffebfbb73799502fd6e1 Mon Sep 17 00:00:00 2001 From: "chunmao.guo" Date: Mon, 26 Sep 2022 18:14:17 +0800 Subject: [PATCH] FIX: optimize style of media file panel Change-Id: I2e5319538adae84b9b0348874d7b468b0dbc2db1 --- resources/images/media_empty.svg | 27 +++++++++------ resources/images/media_failed.svg | 14 ++++---- resources/images/media_loading.png | Bin 5088 -> 8760 bytes src/slic3r/GUI/ImageGrid.cpp | 13 +++++-- src/slic3r/GUI/MediaFilePanel.cpp | 34 +++++++++++++++---- src/slic3r/GUI/Printer/PrinterFileSystem.cpp | 2 ++ src/slic3r/GUI/Widgets/Button.cpp | 2 +- 7 files changed, 64 insertions(+), 28 deletions(-) diff --git a/resources/images/media_empty.svg b/resources/images/media_empty.svg index 9968c9647..aa040502a 100644 --- a/resources/images/media_empty.svg +++ b/resources/images/media_empty.svg @@ -1,11 +1,18 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/resources/images/media_failed.svg b/resources/images/media_failed.svg index 712e95fd4..83dd7a792 100644 --- a/resources/images/media_failed.svg +++ b/resources/images/media_failed.svg @@ -1,11 +1,11 @@ - - - - + + + + - - - + + + diff --git a/resources/images/media_loading.png b/resources/images/media_loading.png index 4c51464a4401ba5f6d7c835abc6d24e28570f39d..9b02fe97203b665db2433681dd8331d91d63cfd5 100644 GIT binary patch literal 8760 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 OP!#1vC2LBIdfg%?G delta 5084 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 == PrinterFileSystem::G_NONE) + mask_size.y = 20 * em_unit(this) / 10; int cell_width = m_cell_size.GetWidth(); int cell_height = m_cell_size.GetHeight(); int ncol = (size.GetWidth() - cell_width + m_image_size.GetWidth()) / cell_width; @@ -199,7 +202,6 @@ void ImageGrid::UpdateLayout() if (m_row_offset >= m_row_count) m_row_offset = m_row_count == 0 ? 0 : m_row_count - 1; // create mask - wxSize mask_size{0, 60 * em_unit(this) / 10}; if (m_file_sys->GetGroupMode() == PrinterFileSystem::G_NONE) { mask_size.x = (m_col_count - 1) * m_cell_size.GetWidth() + m_image_size.GetWidth(); } @@ -370,6 +372,8 @@ size_t Slic3r::GUI::ImageGrid::firstItem(wxSize const &size, wxPoint &off) int index = (m_row_offset + 1 < m_row_count || m_row_count == 0) ? m_row_offset / 4 * m_col_count : ((m_file_sys->GetCount() + m_col_count - 1) / m_col_count - (size.y + m_image_size.GetHeight() - 1) / m_cell_size.GetHeight()) * m_col_count; + if (m_file_sys->GetGroupMode() == PrinterFileSystem::G_NONE) + offy += m_mask.GetHeight(); off = wxPoint{offx, offy}; return index; } @@ -523,12 +527,15 @@ void ImageGrid::render(wxDC& dc) } // Draw floating date range for non-group list if (m_file_sys->GetGroupMode() == PrinterFileSystem::G_NONE && m_file_sys->GetCount() > 0) { - dc.DrawBitmap(m_mask, {off.x, 0}); + //dc.DrawBitmap(m_mask, {off.x, 0}); + dc.DrawRectangle({off.x, 0}, m_mask.GetSize()); auto & file1 = m_file_sys->GetFile(start); auto & file2 = m_file_sys->GetFile(end - 1); auto date1 = wxDateTime((time_t) file1.time).Format(_L(formats[m_file_sys->GetGroupMode()])); auto date2 = wxDateTime((time_t) file2.time).Format(_L(formats[m_file_sys->GetGroupMode()])); - dc.DrawText(date1 + " - " + date2, wxPoint{off.x + 24, 16}); + dc.SetFont(Label::Head_16); + dc.SetTextForeground(wxColor("#262E30")); + dc.DrawText(date1 + " - " + date2, wxPoint{off.x, 2}); } // Draw bottom background if (off.y < size.y) diff --git a/src/slic3r/GUI/MediaFilePanel.cpp b/src/slic3r/GUI/MediaFilePanel.cpp index c8c34b00f..e6aef6535 100644 --- a/src/slic3r/GUI/MediaFilePanel.cpp +++ b/src/slic3r/GUI/MediaFilePanel.cpp @@ -31,6 +31,9 @@ MediaFilePanel::MediaFilePanel(wxWindow * parent) m_button_year = new ::Button(m_time_panel, _L("Year"), "", wxBORDER_NONE); m_button_month = new ::Button(m_time_panel, _L("Month"), "", wxBORDER_NONE); m_button_all = new ::Button(m_time_panel, _L("All Files"), "", wxBORDER_NONE); + m_button_year->SetToolTip(L("Group files by year, recent first.")); + m_button_month->SetToolTip(L("Group files by month, recent first.")); + m_button_all->SetToolTip(L("Show all files, recent first.")); m_button_all->SetFont(Label::Head_14); // sync with m_last_mode for (auto b : {m_button_year, m_button_month, m_button_all}) { b->SetBackgroundColor(StateColor()); @@ -49,14 +52,22 @@ MediaFilePanel::MediaFilePanel(wxWindow * parent) top_sizer->Add(m_time_panel, 1, wxEXPAND); // File type + StateColor background( + std::make_pair(0xEEEEEE, (int) StateColor::Checked), + std::make_pair(*wxLIGHT_GREY, (int) StateColor::Hovered), + std::make_pair(*wxWHITE, (int) StateColor::Normal)); m_type_panel = new ::StaticBox(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE); m_type_panel->SetBackgroundColor(*wxWHITE); m_type_panel->SetCornerRadius(FromDIP(5)); m_type_panel->SetMinSize({-1, 48 * em_unit(this) / 10}); m_button_timelapse = new ::Button(m_type_panel, _L("Timelapse"), "", wxBORDER_NONE); - m_button_timelapse->SetCanFocus(false); + m_button_timelapse->SetToolTip(L("Switch to timelapse files.")); m_button_video = new ::Button(m_type_panel, _L("Video"), "", wxBORDER_NONE); - m_button_video->SetCanFocus(false); + m_button_video->SetToolTip(L("Switch to video files.")); + for (auto b : {m_button_timelapse, m_button_video} ) { + b->SetBackgroundColor(background); + b->SetCanFocus(false); + } wxBoxSizer *type_sizer = new wxBoxSizer(wxHORIZONTAL); type_sizer->Add(m_button_timelapse, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 24); @@ -68,13 +79,22 @@ MediaFilePanel::MediaFilePanel(wxWindow * parent) m_manage_panel = new ::StaticBox(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE); m_manage_panel->SetBackgroundColor(StateColor()); m_button_delete = new ::Button(m_manage_panel, _L("Delete")); - m_button_delete->SetBackgroundColor(StateColor()); - m_button_delete->SetCanFocus(false); + m_button_delete->SetToolTip(L("Delete selected files from printer.")); m_button_download = new ::Button(m_manage_panel, _L("Download")); - m_button_download->SetBackgroundColor(StateColor()); - m_button_download->SetCanFocus(false); + m_button_download->SetToolTip(L("Download selected files from printer.")); m_button_management = new ::Button(m_manage_panel, _L("Management")); - m_button_management->SetBackgroundColor(StateColor()); + m_button_management->SetToolTip(L("Batch manage files.")); + for (auto b : {m_button_delete, m_button_download, m_button_management}) { + b->SetBackgroundColor(StateColor()); + b->SetFont(Label::Body_12); + b->SetCornerRadius(12); + b->SetPaddingSize({10, 6}); + b->SetCanFocus(false); + } + m_button_delete->SetBorderColor(wxColor("#FF6F00")); + m_button_delete->SetTextColor(wxColor("#FF6F00")); + m_button_management->SetBorderWidth(0); + m_button_management->SetBackgroundColor(wxColor("#00AE42")); wxBoxSizer *manage_sizer = new wxBoxSizer(wxHORIZONTAL); manage_sizer->AddStretchSpacer(1); diff --git a/src/slic3r/GUI/Printer/PrinterFileSystem.cpp b/src/slic3r/GUI/Printer/PrinterFileSystem.cpp index 2b17a44c8..ecc24f03f 100644 --- a/src/slic3r/GUI/Printer/PrinterFileSystem.cpp +++ b/src/slic3r/GUI/Printer/PrinterFileSystem.cpp @@ -490,6 +490,8 @@ size_t PrinterFileSystem::FindFile(size_t index, std::string const &name) void PrinterFileSystem::FileRemoved(size_t index, std::string const &name) { index = FindFile(index, name); + if (index == size_t(-1)) + return; auto removeFromGroup = [](std::vector &group, size_t index, int total) { for (auto iter = group.begin(); iter != group.end(); ++iter) { size_t index2 = -1; diff --git a/src/slic3r/GUI/Widgets/Button.cpp b/src/slic3r/GUI/Widgets/Button.cpp index 687464492..be988020d 100644 --- a/src/slic3r/GUI/Widgets/Button.cpp +++ b/src/slic3r/GUI/Widgets/Button.cpp @@ -27,9 +27,9 @@ Button::Button() { background_color = StateColor( std::make_pair(0xF0F0F0, (int) StateColor::Disabled), + std::make_pair(0x37EE7C, (int) StateColor::Hovered | StateColor::Checked), std::make_pair(0x00AE42, (int) StateColor::Checked), std::make_pair(*wxLIGHT_GREY, (int) StateColor::Hovered), - std::make_pair(0x37EE7C, (int) StateColor::Hovered | StateColor::Checked), std::make_pair(*wxWHITE, (int) StateColor::Normal)); }