tasks now emit floats rather than integers
Simplifies code for tasks.
This commit is contained in:
@@ -333,7 +333,7 @@ bool Decoder::HasConformedVersion(const AudioRenderingParams ¶ms)
|
|||||||
void Decoder::SignalProcessingProgress(const int64_t &ts)
|
void Decoder::SignalProcessingProgress(const int64_t &ts)
|
||||||
{
|
{
|
||||||
if (stream()->duration() != AV_NOPTS_VALUE && stream()->duration() != 0) {
|
if (stream()->duration() != AV_NOPTS_VALUE && stream()->duration() != 0) {
|
||||||
emit IndexProgress(qRound(100.0 * static_cast<double>(ts) / static_cast<double>(stream()->duration())));
|
emit IndexProgress(static_cast<double>(ts) / static_cast<double>(stream()->duration()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -242,7 +242,7 @@ signals:
|
|||||||
* @brief While indexing, this signal will provide progress as a percentage (0-100 inclusive) if
|
* @brief While indexing, this signal will provide progress as a percentage (0-100 inclusive) if
|
||||||
* available
|
* available
|
||||||
*/
|
*/
|
||||||
void IndexProgress(int);
|
void IndexProgress(double);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void SignalProcessingProgress(const int64_t& ts);
|
void SignalProcessingProgress(const int64_t& ts);
|
||||||
|
|||||||
@@ -77,12 +77,14 @@ void ProgressDialog::closeEvent(QCloseEvent *e)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProgressDialog::SetProgress(int value)
|
void ProgressDialog::SetProgress(double value)
|
||||||
{
|
{
|
||||||
bar_->setValue(value);
|
int percent = qRound(100.0 * value);
|
||||||
|
|
||||||
|
bar_->setValue(percent);
|
||||||
|
|
||||||
#ifdef Q_OS_WINDOWS
|
#ifdef Q_OS_WINDOWS
|
||||||
Core::instance()->main_window()->SetTaskbarButtonProgress(value, 100);
|
Core::instance()->main_window()->SetTaskbarButtonProgress(percent, 100);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ protected:
|
|||||||
virtual void closeEvent(QCloseEvent *) override;
|
virtual void closeEvent(QCloseEvent *) override;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void SetProgress(int value);
|
void SetProgress(double value);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void Cancelled();
|
void Cancelled();
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ void RenderTask::Render(TimeRangeList range_to_cache, int divider)
|
|||||||
|
|
||||||
// Signal process
|
// Signal process
|
||||||
counter++;
|
counter++;
|
||||||
emit ProgressChanged(qRound(100.0 * static_cast<double>(counter) / static_cast<double>(nb_frames)));
|
emit ProgressChanged(static_cast<double>(counter) / static_cast<double>(nb_frames));
|
||||||
|
|
||||||
j = download_futures.erase(j);
|
j = download_futures.erase(j);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+2
-2
@@ -135,9 +135,9 @@ signals:
|
|||||||
*
|
*
|
||||||
* @param p
|
* @param p
|
||||||
*
|
*
|
||||||
* A value (percentage) between 0 and 100.
|
* A progress value between 0.0 and 1.0.
|
||||||
*/
|
*/
|
||||||
void ProgressChanged(int p);
|
void ProgressChanged(double d);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString title_;
|
QString title_;
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ TaskViewItem::TaskViewItem(Task* task, QWidget *parent) :
|
|||||||
layout->addWidget(task_status_lbl_);
|
layout->addWidget(task_status_lbl_);
|
||||||
|
|
||||||
// Connect to the task
|
// Connect to the task
|
||||||
connect(task_, &Task::ProgressChanged, progress_bar_, &QProgressBar::setValue);
|
connect(task_, &Task::ProgressChanged, this, &TaskViewItem::UpdateProgress);
|
||||||
connect(cancel_btn_, &QPushButton::clicked, task_, &Task::Cancel, Qt::DirectConnection);
|
connect(cancel_btn_, &QPushButton::clicked, task_, &Task::Cancel, Qt::DirectConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,4 +69,9 @@ void TaskViewItem::Failed()
|
|||||||
task_status_lbl_->setText(task_->GetError());
|
task_status_lbl_->setText(task_->GetError());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TaskViewItem::UpdateProgress(double d)
|
||||||
|
{
|
||||||
|
progress_bar_->setValue(qRound(100.0 * d));
|
||||||
|
}
|
||||||
|
|
||||||
OLIVE_NAMESPACE_EXIT
|
OLIVE_NAMESPACE_EXIT
|
||||||
|
|||||||
@@ -55,6 +55,9 @@ private:
|
|||||||
|
|
||||||
Task* task_;
|
Task* task_;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void UpdateProgress(double d);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
OLIVE_NAMESPACE_EXIT
|
OLIVE_NAMESPACE_EXIT
|
||||||
|
|||||||
@@ -72,10 +72,15 @@ void MainStatusBar::UpdateStatus()
|
|||||||
}
|
}
|
||||||
|
|
||||||
bar_->setVisible(true);
|
bar_->setVisible(true);
|
||||||
connect(t, &Task::ProgressChanged, bar_, &QProgressBar::setValue);
|
connect(t, &Task::ProgressChanged, this, &MainStatusBar::SetProgressBarValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainStatusBar::SetProgressBarValue(double d)
|
||||||
|
{
|
||||||
|
bar_->setValue(qRound(100.0 * d));
|
||||||
|
}
|
||||||
|
|
||||||
void MainStatusBar::mouseDoubleClickEvent(QMouseEvent* e)
|
void MainStatusBar::mouseDoubleClickEvent(QMouseEvent* e)
|
||||||
{
|
{
|
||||||
QStatusBar::mouseDoubleClickEvent(e);
|
QStatusBar::mouseDoubleClickEvent(e);
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ protected:
|
|||||||
private slots:
|
private slots:
|
||||||
void UpdateStatus();
|
void UpdateStatus();
|
||||||
|
|
||||||
|
void SetProgressBarValue(double d);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
TaskManager* manager_;
|
TaskManager* manager_;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user