mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-14 22:42:14 -07:00
Add the option to background the oracle wizard, add an option to automatically launch oracle wizard in background every X days since last launch.
This commit is contained in:
parent
208f8349a6
commit
deb60b1bc2
11 changed files with 190 additions and 20 deletions
|
|
@ -691,6 +691,7 @@ void MainWindow::retranslateUi()
|
|||
aTips->setText(tr("&Tip of the Day"));
|
||||
aUpdate->setText(tr("Check for Client Updates"));
|
||||
aCheckCardUpdates->setText(tr("Check for Card Updates..."));
|
||||
aCheckCardUpdatesBackground->setText(tr("Check for Card Updates (Automatic)"));
|
||||
aStatusBar->setText(tr("Show Status Bar"));
|
||||
aViewLog->setText(tr("View &Debug Log"));
|
||||
aOpenSettingsFolder->setText(tr("Open Settings Folder"));
|
||||
|
|
@ -744,6 +745,8 @@ void MainWindow::createActions()
|
|||
connect(aUpdate, &QAction::triggered, this, &MainWindow::actUpdate);
|
||||
aCheckCardUpdates = new QAction(this);
|
||||
connect(aCheckCardUpdates, &QAction::triggered, this, &MainWindow::actCheckCardUpdates);
|
||||
aCheckCardUpdatesBackground = new QAction(this);
|
||||
connect(aCheckCardUpdatesBackground, &QAction::triggered, this, &MainWindow::actCheckCardUpdatesBackground);
|
||||
aStatusBar = new QAction(this);
|
||||
aStatusBar->setCheckable(true);
|
||||
aStatusBar->setChecked(SettingsCache::instance().getShowStatusBar());
|
||||
|
|
@ -825,6 +828,7 @@ void MainWindow::createMenus()
|
|||
helpMenu->addSeparator();
|
||||
helpMenu->addAction(aUpdate);
|
||||
helpMenu->addAction(aCheckCardUpdates);
|
||||
helpMenu->addAction(aCheckCardUpdatesBackground);
|
||||
helpMenu->addSeparator();
|
||||
helpMenu->addAction(aStatusBar);
|
||||
helpMenu->addAction(aViewLog);
|
||||
|
|
@ -943,6 +947,11 @@ void MainWindow::startupConfigCheck()
|
|||
} else {
|
||||
// previous config from this version found
|
||||
qCInfo(WindowMainStartupVersionLog) << "Startup: found config with current version";
|
||||
|
||||
if (SettingsCache::instance().getCardUpdateCheckRequired()) {
|
||||
actCheckCardUpdatesBackground();
|
||||
}
|
||||
|
||||
const auto reloadOk1 = QtConcurrent::run([] { CardDatabaseManager::getInstance()->loadCardDatabases(); });
|
||||
|
||||
// Run the tips dialog only on subsequent startups.
|
||||
|
|
@ -1151,6 +1160,16 @@ void MainWindow::cardDatabaseAllNewSetsEnabled()
|
|||
|
||||
/* CARD UPDATER */
|
||||
void MainWindow::actCheckCardUpdates()
|
||||
{
|
||||
createCardUpdateProcess();
|
||||
}
|
||||
|
||||
void MainWindow::actCheckCardUpdatesBackground()
|
||||
{
|
||||
createCardUpdateProcess(true);
|
||||
}
|
||||
|
||||
void MainWindow::createCardUpdateProcess(bool background)
|
||||
{
|
||||
if (cardUpdateProcess) {
|
||||
QMessageBox::information(this, tr("Information"), tr("A card database update is already running."));
|
||||
|
|
@ -1213,13 +1232,19 @@ void MainWindow::actCheckCardUpdates()
|
|||
return;
|
||||
}
|
||||
|
||||
cardUpdateProcess->start(updaterCmd, QStringList());
|
||||
if (!background) {
|
||||
cardUpdateProcess->start(updaterCmd, QStringList());
|
||||
} else {
|
||||
cardUpdateProcess->start(updaterCmd, QStringList("-b"));
|
||||
statusBar()->showMessage(tr("Card database update running."));
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::exitCardDatabaseUpdate()
|
||||
{
|
||||
cardUpdateProcess->deleteLater();
|
||||
cardUpdateProcess = nullptr;
|
||||
statusBar()->clearMessage();
|
||||
|
||||
const auto reloadOk1 = QtConcurrent::run([] { CardDatabaseManager::getInstance()->loadCardDatabases(); });
|
||||
}
|
||||
|
|
@ -1256,8 +1281,11 @@ void MainWindow::cardUpdateError(QProcess::ProcessError err)
|
|||
QMessageBox::warning(this, tr("Error"), tr("The card database updater exited with an error:\n%1").arg(error));
|
||||
}
|
||||
|
||||
void MainWindow::cardUpdateFinished(int, QProcess::ExitStatus)
|
||||
void MainWindow::cardUpdateFinished(int, QProcess::ExitStatus exitStatus)
|
||||
{
|
||||
if (exitStatus == QProcess::NormalExit) {
|
||||
SettingsCache::instance().setLastCardUpdateCheck(QDateTime::currentDateTime().date());
|
||||
}
|
||||
exitCardDatabaseUpdate();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue