#include "LastRunCrashDialog.hpp" #include "singletons/Updates.hpp" #include "util/LayoutCreator.hpp" #include "util/PostToThread.hpp" #include #include #include #include namespace chatterino { LastRunCrashDialog::LastRunCrashDialog() { this->setWindowFlag(Qt::WindowContextHelpButtonHint, false); this->setWindowTitle("Chatterino"); auto layout = LayoutCreator(this).setLayoutType(); layout.emplace("The application wasn't terminated properly the " "last time it was executed."); layout->addSpacing(16); // auto update = layout.emplace(); auto buttons = layout.emplace(); // auto *installUpdateButton = buttons->addButton("Install Update", // QDialogButtonBox::NoRole); installUpdateButton->setEnabled(false); // QObject::connect(installUpdateButton, &QPushButton::clicked, [this, // update]() mutable { // auto &updateManager = UpdateManager::instance(); // updateManager.installUpdates(); // this->setEnabled(false); // update->setText("Downloading updates..."); // }); auto *okButton = buttons->addButton("Ignore", QDialogButtonBox::ButtonRole::NoRole); QObject::connect(okButton, &QPushButton::clicked, [this] { this->accept(); }); // Updates // auto updateUpdateLabel = [update]() mutable { // auto &updateManager = UpdateManager::instance(); // switch (updateManager.getStatus()) { // case UpdateManager::None: { // update->setText("Not checking for updates."); // } break; // case UpdateManager::Searching: { // update->setText("Checking for updates..."); // } break; // case UpdateManager::UpdateAvailable: { // update->setText("Update available."); // } break; // case UpdateManager::NoUpdateAvailable: { // update->setText("No update abailable."); // } break; // case UpdateManager::SearchFailed: { // update->setText("Error while searching for update.\nEither // the update service is " // "temporarily down or there is an issue // with your installation."); // } break; // case UpdateManager::Downloading: { // update->setText( // "Downloading the update. Chatterino will close once // the download is done."); // } break; // case UpdateManager::DownloadFailed: { // update->setText("Download failed."); // } break; // case UpdateManager::WriteFileFailed: { // update->setText("Writing the update file to the hard drive // failed."); // } break; // } // }; // updateUpdateLabel(); // this->signalHolder_.managedConnect(updateManager.statusUpdated, // [updateUpdateLabel](auto) mutable { // postToThread([updateUpdateLabel]() mutable { updateUpdateLabel(); // }); // }); } } // namespace chatterino