ENH: local task sort by send time by default

JIRA: STUDIO-6885

Change-Id: I03b5881a39ab2e90c5b9cf46052ba465ee707ccc
This commit is contained in:
Kunlong Ma 2024-04-19 18:52:25 +08:00 committed by Lane.Wei
parent 57a807d7fc
commit 2ab668db50
6 changed files with 13 additions and 11 deletions

View File

@ -216,6 +216,9 @@ std::vector<DeviceItem*> selected_machines(const std::vector<DeviceItem*>& dev_i
SortItem::SortItem()
{
sort_map.emplace(std::make_pair(SortRule::SR_None, [this](const DeviceItem* d1, const DeviceItem* d2) {
return d1->state_dev_name > d2->state_dev_name;
}));
sort_map.emplace(std::make_pair(SortRule::SR_DEV_NAME, [this](const DeviceItem* d1, const DeviceItem* d2) {
return this->big ? d1->state_dev_name > d2->state_dev_name : d1->state_dev_name < d2->state_dev_name;
}));

View File

@ -553,7 +553,6 @@ LocalTaskManagerPage::LocalTaskManagerPage(wxWindow* parent)
m_select_checkbox = new CheckBox(m_table_head_panel, wxID_ANY);
m_select_checkbox->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRINTABLE), FromDIP(DEVICE_ITEM_MAX_HEIGHT)));
m_select_checkbox->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRINTABLE), FromDIP(DEVICE_ITEM_MAX_HEIGHT)));
m_table_head_sizer->AddSpacer(FromDIP(TASK_LEFT_PADDING_LEFT));
m_table_head_sizer->Add(m_select_checkbox, 0, wxALIGN_CENTER_VERTICAL, 0);
m_select_checkbox->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent& e) {
@ -756,8 +755,8 @@ void LocalTaskManagerPage::refresh_user_device(bool clear)
auto task_manager = wxGetApp().getTaskManager();
if (task_manager) {
auto m_task_obj_list = task_manager->get_local_task_list();
for (auto it = m_task_obj_list.begin(); it != m_task_obj_list.end(); it++) {
for (auto it = m_task_obj_list.rbegin(); it != m_task_obj_list.rend(); ++it) {
TaskStateInfo* task_state_info = it->second;
@ -794,7 +793,7 @@ void LocalTaskManagerPage::refresh_user_device(bool clear)
task_temps.push_back(mtitem);
}
if (m_sort.rule != SortItem::SortRule::SR_None) {
if (m_sort.rule != SortItem::SortRule::SR_None && m_sort.rule != SortItem::SortRule::SR_SEND_TIME) {
std::sort(task_temps.begin(), task_temps.end(), m_sort.get_call_back());
}

View File

@ -88,7 +88,7 @@ public:
private:
SortItem m_sort;
std::map<std::string, MultiTaskItem*> m_task_items;
std::map<int, MultiTaskItem*> m_task_items;
bool device_name_big{ true };
bool device_state_big{ true };
bool device_send_time{ true };

View File

@ -1230,8 +1230,8 @@ wxPanel* SendMultiMachinePage::create_page()
// add send option
wxBoxSizer* title_send_option = create_item_title(_L("Send Options"), main_page, "");
wxBoxSizer* max_printer_send = create_item_input(_L("Send"), _L("printers at the same time"), main_page, "", "max_send");
wxBoxSizer* delay_time = create_item_input(_L("Wait"), _L("minute each batch"), main_page, "", "sending_interval");
wxBoxSizer* max_printer_send = create_item_input(_L("Send"), _L("printers at the same time.(It depends on how many devices can undergo heating at the same time.)"), main_page, "", "max_send");
wxBoxSizer* delay_time = create_item_input(_L("Wait"), _L("minute each batch.(It depends on how long it takes to complete the heating.)"), main_page, "", "sending_interval");
sizer->Add(title_send_option, 0, wxEXPAND, 0);
sizer->Add(max_printer_send, 0, wxLEFT, FromDIP(20));
sizer->AddSpacer(FromDIP(3));

View File

@ -284,9 +284,9 @@ void TaskManager::stop()
m_scedule_thread.join();
}
std::map<std::string, TaskStateInfo*> TaskManager::get_local_task_list()
std::map<int, TaskStateInfo*> TaskManager::get_local_task_list()
{
std::map<std::string, TaskStateInfo*> out;
std::map<int, TaskStateInfo*> out;
m_map_mutex.lock();
for (auto it = m_cache_map.begin(); it != m_cache_map.end(); it++) {
for (auto iter = (*it).tasks.begin(); iter != (*it).tasks.end(); iter++) {
@ -295,7 +295,7 @@ std::map<std::string, TaskStateInfo*> TaskManager::get_local_task_list()
|| (*iter)->state() == TaskState::TS_SEND_CANCELED
|| (*iter)->state() == TaskState::TS_SEND_COMPLETED
|| (*iter)->state() == TaskState::TS_SEND_FAILED) {
out.insert(std::make_pair(std::to_string((*iter)->task_info_id), *iter));
out.insert(std::make_pair((*iter)->task_info_id, *iter));
}
}
}

View File

@ -150,7 +150,7 @@ public:
void start();
void stop();
std::map<std::string, TaskStateInfo*> get_local_task_list();
std::map<int, TaskStateInfo*> get_local_task_list();
/* curr_page is start with 0 */
std::map<std::string, TaskStateInfo> get_task_list(int curr_page, int page_count, int& total);