Scenery extraction: set progress text
Fixes bug:https://sourceforge.net/p/flightgear/codetickets/1938/
This commit is contained in:
parent
0bf80f9b2a
commit
8f7c0d6801
2 changed files with 15 additions and 2 deletions
|
@ -87,6 +87,8 @@ signals:
|
||||||
void extractionError(QString file, QString msg);
|
void extractionError(QString file, QString msg);
|
||||||
|
|
||||||
void progress(int percent);
|
void progress(int percent);
|
||||||
|
|
||||||
|
void extractingArchive(QString archiveName);
|
||||||
private:
|
private:
|
||||||
void extractNextArchive()
|
void extractNextArchive()
|
||||||
{
|
{
|
||||||
|
@ -97,6 +99,8 @@ private:
|
||||||
m_remainingPaths.pop_front();
|
m_remainingPaths.pop_front();
|
||||||
QFileInfo finfo(path);
|
QFileInfo finfo(path);
|
||||||
|
|
||||||
|
emit extractingArchive(path);
|
||||||
|
|
||||||
QFile f(path);
|
QFile f(path);
|
||||||
f.open(QIODevice::ReadOnly);
|
f.open(QIODevice::ReadOnly);
|
||||||
Q_ASSERT(f.isOpen());
|
Q_ASSERT(f.isOpen());
|
||||||
|
@ -168,6 +172,7 @@ void InstallSceneryDialog::updateUi()
|
||||||
case STATE_EXTRACTING:
|
case STATE_EXTRACTING:
|
||||||
b->setEnabled(false);
|
b->setEnabled(false);
|
||||||
cancel->setEnabled(false);
|
cancel->setEnabled(false);
|
||||||
|
ui->progressText->setText(tr("Extracting"));
|
||||||
ui->stack->setCurrentIndex(1);
|
ui->stack->setCurrentIndex(1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -234,6 +239,8 @@ void InstallSceneryDialog::pickFiles()
|
||||||
this, &InstallSceneryDialog::onExtractError);
|
this, &InstallSceneryDialog::onExtractError);
|
||||||
connect(m_thread.data(), &InstallSceneryThread::progress,
|
connect(m_thread.data(), &InstallSceneryThread::progress,
|
||||||
this, &InstallSceneryDialog::onExtractProgress);
|
this, &InstallSceneryDialog::onExtractProgress);
|
||||||
|
connect(m_thread.data(), &InstallSceneryThread::extractingArchive,
|
||||||
|
this, &InstallSceneryDialog::onExtractFile);
|
||||||
updateUi();
|
updateUi();
|
||||||
m_thread->start();
|
m_thread->start();
|
||||||
} else {
|
} else {
|
||||||
|
@ -260,6 +267,11 @@ void InstallSceneryDialog::onExtractProgress(int percent)
|
||||||
ui->progressBar->setValue(percent);
|
ui->progressBar->setValue(percent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void InstallSceneryDialog::onExtractFile(QString file)
|
||||||
|
{
|
||||||
|
ui->progressText->setText(tr("Extracting %1").arg(file));
|
||||||
|
}
|
||||||
|
|
||||||
QString InstallSceneryDialog::sceneryPath()
|
QString InstallSceneryDialog::sceneryPath()
|
||||||
{
|
{
|
||||||
if (m_state == STATE_FINISHED) {
|
if (m_state == STATE_FINISHED) {
|
||||||
|
|
|
@ -40,8 +40,8 @@ public:
|
||||||
|
|
||||||
QString sceneryPath();
|
QString sceneryPath();
|
||||||
private slots:
|
private slots:
|
||||||
virtual void reject();
|
virtual void reject() override;
|
||||||
virtual void accept();
|
virtual void accept() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateUi();
|
void updateUi();
|
||||||
|
@ -51,6 +51,7 @@ private:
|
||||||
void onThreadFinished();
|
void onThreadFinished();
|
||||||
void onExtractError(QString file, QString msg);
|
void onExtractError(QString file, QString msg);
|
||||||
void onExtractProgress(int percent);
|
void onExtractProgress(int percent);
|
||||||
|
void onExtractFile(QString file);
|
||||||
|
|
||||||
enum State {
|
enum State {
|
||||||
STATE_START = 0, // awaiting user input on first screen
|
STATE_START = 0, // awaiting user input on first screen
|
||||||
|
|
Loading…
Add table
Reference in a new issue