void job_run_dialog::update_remaining_time() { if (m_scanning_playlists || !m_progress) return; int64_t now = mtx::sys::get_current_time_millis(); if ((0 != (m_progress % 100)) && (now >= m_next_remaining_time_update)) { int64_t total_time = (now - m_start_time) * 100 / (m_progress % 100); int64_t remaining_time = total_time - now + m_start_time; m_next_remaining_time_update = now + 1000; st_remaining_time->SetLabel(wxU(create_minutes_seconds_time_string(static_cast<unsigned int>(remaining_time / 1000)))); } if (now >= m_next_remaining_time_update_total) { int64_t total_percentage = m_progress / jobs_to_start.size(); if (0 != total_percentage) { int64_t total_time = (now - m_start_time_total) * 100 / total_percentage; int64_t remaining_time = total_time - now + m_start_time_total; m_next_remaining_time_update_total = now + 1000; st_remaining_time_total->SetLabel(wxU(create_minutes_seconds_time_string(static_cast<unsigned int>(remaining_time / 1000)))); } } }
void mux_dialog::update_remaining_time() { int64_t now = get_current_time_millis(); if ((0 == m_progress) || (now < m_next_remaining_time_update)) return; int64_t total_time = (now - m_start_time) * 100 / m_progress; int64_t remaining_time = total_time - now + m_start_time; st_remaining_time->SetLabel(wxU(create_minutes_seconds_time_string(static_cast<unsigned int>(remaining_time / 1000)))); m_next_remaining_time_update = now + 1000; }
void scanning_for_playlists_dlg::on_progress_changed(wxCommandEvent &evt) { update_gauge(evt.GetInt()); uint64_t now = get_current_time_millis(); if ((0 == m_progress) || (now < m_next_remaining_time_update)) return; int64_t total_time = (now - m_start_time) * m_max_progress / m_progress; int64_t remaining_time = total_time - now + m_start_time; m_st_remaining_time->SetLabel(wxU(create_minutes_seconds_time_string(static_cast<unsigned int>(remaining_time / 1000)))); m_next_remaining_time_update = now + 500; }