change: change code style to Linux style except indent.
This commit is contained in:
@@ -25,71 +25,77 @@
|
||||
#include <QHBoxLayout>
|
||||
#include <cmath>
|
||||
|
||||
namespace olive {
|
||||
namespace olive
|
||||
{
|
||||
|
||||
using namespace core;
|
||||
|
||||
ElapsedCounterWidget::ElapsedCounterWidget(QWidget* parent) :
|
||||
QWidget(parent),
|
||||
last_progress_(0),
|
||||
start_time_(0)
|
||||
ElapsedCounterWidget::ElapsedCounterWidget(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
, last_progress_(0)
|
||||
, start_time_(0)
|
||||
{
|
||||
QHBoxLayout* layout = new QHBoxLayout(this);
|
||||
layout->setSpacing(layout->spacing() * 8);
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
QHBoxLayout *layout = new QHBoxLayout(this);
|
||||
layout->setSpacing(layout->spacing() * 8);
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
|
||||
elapsed_lbl_ = new QLabel();
|
||||
layout->addWidget(elapsed_lbl_);
|
||||
elapsed_lbl_ = new QLabel();
|
||||
layout->addWidget(elapsed_lbl_);
|
||||
|
||||
remaining_lbl_ = new QLabel();
|
||||
layout->addWidget(remaining_lbl_);
|
||||
remaining_lbl_ = new QLabel();
|
||||
layout->addWidget(remaining_lbl_);
|
||||
|
||||
elapsed_timer_.setInterval(500);
|
||||
connect(&elapsed_timer_, &QTimer::timeout, this, &ElapsedCounterWidget::UpdateTimers);
|
||||
UpdateTimers();
|
||||
elapsed_timer_.setInterval(500);
|
||||
connect(&elapsed_timer_, &QTimer::timeout, this,
|
||||
&ElapsedCounterWidget::UpdateTimers);
|
||||
UpdateTimers();
|
||||
}
|
||||
|
||||
void ElapsedCounterWidget::SetProgress(double d)
|
||||
{
|
||||
last_progress_ = d;
|
||||
UpdateTimers();
|
||||
last_progress_ = d;
|
||||
UpdateTimers();
|
||||
}
|
||||
|
||||
void ElapsedCounterWidget::Start()
|
||||
{
|
||||
Start(QDateTime::currentMSecsSinceEpoch());
|
||||
Start(QDateTime::currentMSecsSinceEpoch());
|
||||
}
|
||||
|
||||
void ElapsedCounterWidget::Start(qint64 start_time)
|
||||
{
|
||||
start_time_ = start_time;
|
||||
elapsed_timer_.start();
|
||||
UpdateTimers();
|
||||
start_time_ = start_time;
|
||||
elapsed_timer_.start();
|
||||
UpdateTimers();
|
||||
}
|
||||
|
||||
void ElapsedCounterWidget::Stop()
|
||||
{
|
||||
elapsed_timer_.stop();
|
||||
elapsed_timer_.stop();
|
||||
}
|
||||
|
||||
void ElapsedCounterWidget::UpdateTimers()
|
||||
{
|
||||
int64_t elapsed_ms, remaining_ms;
|
||||
int64_t elapsed_ms, remaining_ms;
|
||||
|
||||
if (last_progress_ > 0) {
|
||||
elapsed_ms = QDateTime::currentMSecsSinceEpoch() - start_time_;
|
||||
if (last_progress_ > 0) {
|
||||
elapsed_ms = QDateTime::currentMSecsSinceEpoch() - start_time_;
|
||||
|
||||
double ms_per_progress_unit = elapsed_ms / last_progress_;
|
||||
double remaining_progress = 1.0 - last_progress_;
|
||||
double ms_per_progress_unit = elapsed_ms / last_progress_;
|
||||
double remaining_progress = 1.0 - last_progress_;
|
||||
|
||||
remaining_ms = std::ceil(ms_per_progress_unit * remaining_progress);
|
||||
} else {
|
||||
elapsed_ms = 0;
|
||||
remaining_ms = 0;
|
||||
}
|
||||
remaining_ms = std::ceil(ms_per_progress_unit * remaining_progress);
|
||||
} else {
|
||||
elapsed_ms = 0;
|
||||
remaining_ms = 0;
|
||||
}
|
||||
|
||||
elapsed_lbl_->setText(tr("Elapsed: %1").arg(QString::fromStdString(Timecode::time_to_string(elapsed_ms))));
|
||||
remaining_lbl_->setText(tr("Remaining: %1").arg(QString::fromStdString(Timecode::time_to_string(remaining_ms))));
|
||||
elapsed_lbl_->setText(
|
||||
tr("Elapsed: %1")
|
||||
.arg(QString::fromStdString(Timecode::time_to_string(elapsed_ms))));
|
||||
remaining_lbl_->setText(tr("Remaining: %1")
|
||||
.arg(QString::fromStdString(
|
||||
Timecode::time_to_string(remaining_ms))));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -27,37 +27,36 @@
|
||||
|
||||
#include "common/define.h"
|
||||
|
||||
namespace olive {
|
||||
|
||||
class ElapsedCounterWidget : public QWidget
|
||||
namespace olive
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
class ElapsedCounterWidget : public QWidget {
|
||||
Q_OBJECT
|
||||
public:
|
||||
ElapsedCounterWidget(QWidget* parent = nullptr);
|
||||
ElapsedCounterWidget(QWidget *parent = nullptr);
|
||||
|
||||
void SetProgress(double d);
|
||||
void SetProgress(double d);
|
||||
|
||||
public slots:
|
||||
void Start(qint64 start_time);
|
||||
void Start();
|
||||
void Start(qint64 start_time);
|
||||
void Start();
|
||||
|
||||
public slots:
|
||||
void Stop();
|
||||
void Stop();
|
||||
|
||||
private:
|
||||
QLabel* elapsed_lbl_;
|
||||
QLabel *elapsed_lbl_;
|
||||
|
||||
QLabel* remaining_lbl_;
|
||||
QLabel *remaining_lbl_;
|
||||
|
||||
double last_progress_;
|
||||
double last_progress_;
|
||||
|
||||
QTimer elapsed_timer_;
|
||||
QTimer elapsed_timer_;
|
||||
|
||||
qint64 start_time_;
|
||||
qint64 start_time_;
|
||||
|
||||
private slots:
|
||||
void UpdateTimers();
|
||||
|
||||
void UpdateTimers();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -22,45 +22,46 @@
|
||||
|
||||
#include <QPushButton>
|
||||
|
||||
namespace olive {
|
||||
|
||||
TaskView::TaskView(QWidget* parent) :
|
||||
QScrollArea(parent)
|
||||
namespace olive
|
||||
{
|
||||
// Allow scroll area to resize widget to fit
|
||||
setWidgetResizable(true);
|
||||
|
||||
// Create central widget
|
||||
central_widget_ = new QWidget(this);
|
||||
setWidget(central_widget_);
|
||||
TaskView::TaskView(QWidget *parent)
|
||||
: QScrollArea(parent)
|
||||
{
|
||||
// Allow scroll area to resize widget to fit
|
||||
setWidgetResizable(true);
|
||||
|
||||
// Create layout for central widget
|
||||
layout_ = new QVBoxLayout(central_widget_);
|
||||
layout_->setSpacing(0);
|
||||
layout_->setContentsMargins(0, 0, 0, 0);
|
||||
// Create central widget
|
||||
central_widget_ = new QWidget(this);
|
||||
setWidget(central_widget_);
|
||||
|
||||
// Add a "stretch" so that TaskViewItems don't try to expand all the way to the bottom
|
||||
layout_->addStretch();
|
||||
// Create layout for central widget
|
||||
layout_ = new QVBoxLayout(central_widget_);
|
||||
layout_->setSpacing(0);
|
||||
layout_->setContentsMargins(0, 0, 0, 0);
|
||||
|
||||
// Add a "stretch" so that TaskViewItems don't try to expand all the way to the bottom
|
||||
layout_->addStretch();
|
||||
}
|
||||
|
||||
void TaskView::AddTask(Task *t)
|
||||
{
|
||||
// Create TaskViewItem (UI representation of a Task) and connect it
|
||||
TaskViewItem* item = new TaskViewItem(t);
|
||||
connect(item, &TaskViewItem::TaskCancelled, this, &TaskView::TaskCancelled);
|
||||
items_.insert(t, item);
|
||||
layout_->insertWidget(layout_->count()-1, item);
|
||||
// Create TaskViewItem (UI representation of a Task) and connect it
|
||||
TaskViewItem *item = new TaskViewItem(t);
|
||||
connect(item, &TaskViewItem::TaskCancelled, this, &TaskView::TaskCancelled);
|
||||
items_.insert(t, item);
|
||||
layout_->insertWidget(layout_->count() - 1, item);
|
||||
}
|
||||
|
||||
void TaskView::TaskFailed(Task *t)
|
||||
{
|
||||
items_.value(t)->Failed();
|
||||
items_.value(t)->Failed();
|
||||
}
|
||||
|
||||
void TaskView::RemoveTask(Task *t)
|
||||
{
|
||||
items_.value(t)->deleteLater();
|
||||
items_.remove(t);
|
||||
items_.value(t)->deleteLater();
|
||||
items_.remove(t);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -26,7 +26,8 @@
|
||||
|
||||
#include "widget/taskview/taskviewitem.h"
|
||||
|
||||
namespace olive {
|
||||
namespace olive
|
||||
{
|
||||
|
||||
/**
|
||||
* @brief A widget that shows a list of Tasks
|
||||
@@ -36,34 +37,32 @@ namespace olive {
|
||||
* is necessary since TaskViewItem will automatically delete itself (thus removing itself from the TaskView) when the
|
||||
* Task finishes.
|
||||
*/
|
||||
class TaskView : public QScrollArea
|
||||
{
|
||||
Q_OBJECT
|
||||
class TaskView : public QScrollArea {
|
||||
Q_OBJECT
|
||||
public:
|
||||
TaskView(QWidget* parent);
|
||||
TaskView(QWidget *parent);
|
||||
|
||||
signals:
|
||||
void TaskCancelled(Task* t);
|
||||
void TaskCancelled(Task *t);
|
||||
|
||||
public slots:
|
||||
/**
|
||||
/**
|
||||
* @brief Creates a TaskViewItem, connects it to a Task, and adds it to this widget
|
||||
*
|
||||
* Connect this to TaskManager::TaskAdded().
|
||||
*/
|
||||
void AddTask(Task* t);
|
||||
void AddTask(Task *t);
|
||||
|
||||
void TaskFailed(Task* t);
|
||||
void TaskFailed(Task *t);
|
||||
|
||||
void RemoveTask(Task* t);
|
||||
void RemoveTask(Task *t);
|
||||
|
||||
private:
|
||||
QWidget* central_widget_;
|
||||
QWidget *central_widget_;
|
||||
|
||||
QVBoxLayout* layout_;
|
||||
|
||||
QHash<Task*, TaskViewItem*> items_;
|
||||
QVBoxLayout *layout_;
|
||||
|
||||
QHash<Task *, TaskViewItem *> items_;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -25,70 +25,73 @@
|
||||
|
||||
#include "ui/icons/icons.h"
|
||||
|
||||
namespace olive {
|
||||
|
||||
TaskViewItem::TaskViewItem(Task* task, QWidget *parent) :
|
||||
QFrame(parent),
|
||||
task_(task)
|
||||
namespace olive
|
||||
{
|
||||
// Draw border around this item
|
||||
setFrameShape(QFrame::StyledPanel);
|
||||
|
||||
// Create layout
|
||||
QVBoxLayout* layout = new QVBoxLayout(this);
|
||||
TaskViewItem::TaskViewItem(Task *task, QWidget *parent)
|
||||
: QFrame(parent)
|
||||
, task_(task)
|
||||
{
|
||||
// Draw border around this item
|
||||
setFrameShape(QFrame::StyledPanel);
|
||||
|
||||
// Create header label
|
||||
task_name_lbl_ = new QLabel(this);
|
||||
task_name_lbl_->setText(task_->GetTitle());
|
||||
layout->addWidget(task_name_lbl_);
|
||||
// Create layout
|
||||
QVBoxLayout *layout = new QVBoxLayout(this);
|
||||
|
||||
// Create center layout (combines progress bar and a cancel button)
|
||||
QHBoxLayout* middle_layout = new QHBoxLayout();
|
||||
layout->addLayout(middle_layout);
|
||||
// Create header label
|
||||
task_name_lbl_ = new QLabel(this);
|
||||
task_name_lbl_->setText(task_->GetTitle());
|
||||
layout->addWidget(task_name_lbl_);
|
||||
|
||||
// Create progress bar
|
||||
progress_bar_ = new QProgressBar(this);
|
||||
progress_bar_->setRange(0, 100);
|
||||
middle_layout->addWidget(progress_bar_);
|
||||
// Create center layout (combines progress bar and a cancel button)
|
||||
QHBoxLayout *middle_layout = new QHBoxLayout();
|
||||
layout->addLayout(middle_layout);
|
||||
|
||||
// Create cancel button
|
||||
cancel_btn_ = new QPushButton(this);
|
||||
cancel_btn_->setIcon(icon::Error);
|
||||
middle_layout->addWidget(cancel_btn_);
|
||||
// Create progress bar
|
||||
progress_bar_ = new QProgressBar(this);
|
||||
progress_bar_->setRange(0, 100);
|
||||
middle_layout->addWidget(progress_bar_);
|
||||
|
||||
// Create stack with error label and elapsed/remaining time
|
||||
status_stack_ = new QStackedWidget();
|
||||
status_stack_->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
|
||||
layout->addWidget(status_stack_);
|
||||
// Create cancel button
|
||||
cancel_btn_ = new QPushButton(this);
|
||||
cancel_btn_->setIcon(icon::Error);
|
||||
middle_layout->addWidget(cancel_btn_);
|
||||
|
||||
// Create elapsed timer
|
||||
elapsed_timer_lbl_ = new ElapsedCounterWidget();
|
||||
status_stack_->addWidget(elapsed_timer_lbl_);
|
||||
// Create stack with error label and elapsed/remaining time
|
||||
status_stack_ = new QStackedWidget();
|
||||
status_stack_->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
|
||||
layout->addWidget(status_stack_);
|
||||
|
||||
// Create error label
|
||||
task_error_lbl_ = new QLabel(this);
|
||||
status_stack_->addWidget(task_error_lbl_);
|
||||
// Create elapsed timer
|
||||
elapsed_timer_lbl_ = new ElapsedCounterWidget();
|
||||
status_stack_->addWidget(elapsed_timer_lbl_);
|
||||
|
||||
// Set up elapsed timer
|
||||
status_stack_->setCurrentWidget(elapsed_timer_lbl_);
|
||||
// Create error label
|
||||
task_error_lbl_ = new QLabel(this);
|
||||
status_stack_->addWidget(task_error_lbl_);
|
||||
|
||||
// Connect to the task
|
||||
connect(task_, &Task::Started, elapsed_timer_lbl_, qOverload<qint64>(&ElapsedCounterWidget::Start));
|
||||
connect(task_, &Task::ProgressChanged, this, &TaskViewItem::UpdateProgress);
|
||||
connect(cancel_btn_, &QPushButton::clicked, this, [this] { emit TaskCancelled(task_); });
|
||||
// Set up elapsed timer
|
||||
status_stack_->setCurrentWidget(elapsed_timer_lbl_);
|
||||
|
||||
// Connect to the task
|
||||
connect(task_, &Task::Started, elapsed_timer_lbl_,
|
||||
qOverload<qint64>(&ElapsedCounterWidget::Start));
|
||||
connect(task_, &Task::ProgressChanged, this, &TaskViewItem::UpdateProgress);
|
||||
connect(cancel_btn_, &QPushButton::clicked, this,
|
||||
[this] { emit TaskCancelled(task_); });
|
||||
}
|
||||
|
||||
void TaskViewItem::Failed()
|
||||
{
|
||||
status_stack_->setCurrentWidget(task_error_lbl_);
|
||||
task_error_lbl_->setStyleSheet("color: red");
|
||||
task_error_lbl_->setText(tr("Error: %1").arg(task_->GetError()));
|
||||
status_stack_->setCurrentWidget(task_error_lbl_);
|
||||
task_error_lbl_->setStyleSheet("color: red");
|
||||
task_error_lbl_->setText(tr("Error: %1").arg(task_->GetError()));
|
||||
}
|
||||
|
||||
void TaskViewItem::UpdateProgress(double d)
|
||||
{
|
||||
progress_bar_->setValue(qRound(100.0 * d));
|
||||
elapsed_timer_lbl_->SetProgress(d);
|
||||
progress_bar_->setValue(qRound(100.0 * d));
|
||||
elapsed_timer_lbl_->SetProgress(d);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -30,7 +30,8 @@
|
||||
#include "elapsedcounterwidget.h"
|
||||
#include "task/task.h"
|
||||
|
||||
namespace olive {
|
||||
namespace olive
|
||||
{
|
||||
|
||||
/**
|
||||
* @brief A widget that visually represents the status of a Task
|
||||
@@ -41,31 +42,29 @@ namespace olive {
|
||||
*
|
||||
* The main entry point is SetTask() after a Task and TaskViewItem objects are created.
|
||||
*/
|
||||
class TaskViewItem : public QFrame
|
||||
{
|
||||
Q_OBJECT
|
||||
class TaskViewItem : public QFrame {
|
||||
Q_OBJECT
|
||||
public:
|
||||
TaskViewItem(Task *task, QWidget* parent = nullptr);
|
||||
TaskViewItem(Task *task, QWidget *parent = nullptr);
|
||||
|
||||
void Failed();
|
||||
void Failed();
|
||||
|
||||
signals:
|
||||
void TaskCancelled(Task* t);
|
||||
void TaskCancelled(Task *t);
|
||||
|
||||
private:
|
||||
QLabel* task_name_lbl_;
|
||||
QProgressBar* progress_bar_;
|
||||
QPushButton* cancel_btn_;
|
||||
QLabel *task_name_lbl_;
|
||||
QProgressBar *progress_bar_;
|
||||
QPushButton *cancel_btn_;
|
||||
|
||||
QStackedWidget* status_stack_;
|
||||
ElapsedCounterWidget* elapsed_timer_lbl_;
|
||||
QLabel* task_error_lbl_;
|
||||
QStackedWidget *status_stack_;
|
||||
ElapsedCounterWidget *elapsed_timer_lbl_;
|
||||
QLabel *task_error_lbl_;
|
||||
|
||||
Task* task_;
|
||||
Task *task_;
|
||||
|
||||
private slots:
|
||||
void UpdateProgress(double d);
|
||||
|
||||
void UpdateProgress(double d);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user