#pragma once
#include <QString>
#include <QWidget>
class QLabel; class QProgressBar;
namespace whittle {
class StatusStrip : public QWidget {
Q_OBJECT
public:
explicit StatusStrip(QWidget* parent = nullptr);
void setDormant();
void setScanning();
void setScanned();
void setCounts(int folders, int files, qint64 bytes,
int newFiles, qint64 newBytes,
int diffFiles, qint64 diffBytes);
void setMerging(const QString& relPath, qint64 fileBytes,
qint64 bytesDone, qint64 bytesTotal);
void setWhittled(int files, qint64 bytes, int errors);
protected:
void resizeEvent(QResizeEvent*) override;
private:
void setStatus(const QString& text);
void updateDetail();
QLabel* m_status = nullptr;
QLabel* m_detail = nullptr;
QLabel* m_size = nullptr;
QLabel* m_errors = nullptr;
QProgressBar* m_bar = nullptr;
QString m_detailText;
Qt::TextElideMode m_elide = Qt::ElideRight;
};
}