Finish status pills.
This commit is contained in:
@ -27,6 +27,12 @@ StatusChecker::StatusChecker()
|
||||
|
||||
}
|
||||
|
||||
void StatusChecker::timerEvent(QTimerEvent *e)
|
||||
{
|
||||
QObject::timerEvent(e);
|
||||
reloadStatus();
|
||||
}
|
||||
|
||||
void StatusChecker::reloadStatus()
|
||||
{
|
||||
if (isLoadingStatus())
|
||||
@ -42,13 +48,14 @@ void StatusChecker::reloadStatus()
|
||||
QObject::connect(job, &NetJob::succeeded, this, &StatusChecker::statusDownloadFinished);
|
||||
QObject::connect(job, &NetJob::failed, this, &StatusChecker::statusDownloadFailed);
|
||||
m_statusNetJob.reset(job);
|
||||
emit statusLoading(true);
|
||||
job->start();
|
||||
}
|
||||
|
||||
void StatusChecker::statusDownloadFinished()
|
||||
{
|
||||
QLOG_DEBUG() << "Finished loading status JSON.";
|
||||
|
||||
m_statusEntries.clear();
|
||||
QByteArray data;
|
||||
{
|
||||
ByteArrayDownloadPtr dl = std::dynamic_pointer_cast<ByteArrayDownload>(m_statusNetJob->first());
|
||||
@ -121,17 +128,27 @@ QString StatusChecker::getLastLoadErrorMsg() const
|
||||
|
||||
void StatusChecker::succeed()
|
||||
{
|
||||
if(m_prevEntries != m_statusEntries)
|
||||
{
|
||||
emit statusChanged(m_statusEntries);
|
||||
m_prevEntries = m_statusEntries;
|
||||
}
|
||||
m_lastLoadError = "";
|
||||
QLOG_DEBUG() << "Status loading succeeded.";
|
||||
m_statusNetJob.reset();
|
||||
emit statusLoaded();
|
||||
emit statusLoading(false);
|
||||
}
|
||||
|
||||
void StatusChecker::fail(const QString& errorMsg)
|
||||
{
|
||||
if(m_prevEntries != m_statusEntries)
|
||||
{
|
||||
emit statusChanged(m_statusEntries);
|
||||
m_prevEntries = m_statusEntries;
|
||||
}
|
||||
m_lastLoadError = errorMsg;
|
||||
QLOG_DEBUG() << "Failed to load status:" << errorMsg;
|
||||
m_statusNetJob.reset();
|
||||
emit statusLoadingFailed(errorMsg);
|
||||
emit statusLoading(false);
|
||||
}
|
||||
|
||||
|
@ -29,26 +29,27 @@ public:
|
||||
|
||||
QString getLastLoadErrorMsg() const;
|
||||
|
||||
bool isStatusLoaded() const;
|
||||
|
||||
bool isLoadingStatus() const;
|
||||
|
||||
QMap<QString, QString> getStatusEntries() const;
|
||||
|
||||
void Q_SLOT reloadStatus();
|
||||
|
||||
protected:
|
||||
virtual void timerEvent(QTimerEvent *);
|
||||
|
||||
signals:
|
||||
void statusLoaded();
|
||||
void statusLoadingFailed(QString errorMsg);
|
||||
void statusLoading(bool loading);
|
||||
void statusChanged(QMap<QString, QString> newStatus);
|
||||
|
||||
protected slots:
|
||||
void statusDownloadFinished();
|
||||
void statusDownloadFailed();
|
||||
|
||||
protected:
|
||||
QMap<QString, QString> m_prevEntries;
|
||||
QMap<QString, QString> m_statusEntries;
|
||||
NetJobPtr m_statusNetJob;
|
||||
bool m_loadedStatus;
|
||||
QString m_lastLoadError;
|
||||
|
||||
void Q_SLOT succeed();
|
||||
|
Reference in New Issue
Block a user