示例#1
0
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))));
    }
  }
}
示例#2
0
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;
}