aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.cpp
new file mode 100644
index 0000000..1c73de0
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.cpp
@@ -0,0 +1,68 @@
+#include "newversiondialog.h"
+#include "services/pluginmanager.h"
+#include "sqlitestudio.h"
+#include "ui_newversiondialog.h"
+#include "services/config.h"
+#include <QInputDialog>
+
+NewVersionDialog::NewVersionDialog(QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::NewVersionDialog)
+{
+ init();
+}
+
+NewVersionDialog::~NewVersionDialog()
+{
+ delete ui;
+}
+
+void NewVersionDialog::setUpdates(const QList<UpdateManager::UpdateEntry>& updates)
+{
+ QTableWidgetItem* item = nullptr;
+ QString currVersion;
+ int row = 0;
+ ui->updateList->setRowCount(updates.size());
+ for (const UpdateManager::UpdateEntry& entry : updates)
+ {
+ if (entry.compontent == "SQLiteStudio")
+ currVersion = SQLITESTUDIO->getVersionString();
+ else
+ currVersion = PLUGINS->getPrintableVersion(entry.compontent);
+
+ item = new QTableWidgetItem(entry.compontent);
+ ui->updateList->setItem(row, 0, item);
+
+ item = new QTableWidgetItem(currVersion);
+ ui->updateList->setItem(row, 1, item);
+
+ item = new QTableWidgetItem(entry.version);
+ ui->updateList->setItem(row, 2, item);
+
+ row++;
+ }
+ ui->updateList->resizeColumnsToContents();
+}
+
+void NewVersionDialog::init()
+{
+ ui->setupUi(this);
+
+ connect(ui->abortButton, SIGNAL(clicked()), this, SLOT(reject()));
+ connect(ui->updateButton, SIGNAL(clicked()), this, SLOT(installUpdates()));
+ connect(ui->checkOnStartupCheck, &QCheckBox::clicked, [=](bool checked)
+ {
+ CFG_CORE.General.CheckUpdatesOnStartup.set(checked);
+ });
+}
+
+void NewVersionDialog::installUpdates()
+{
+ UPDATES->update();
+ close();
+}
+
+void NewVersionDialog::showEvent(QShowEvent*)
+{
+ ui->checkOnStartupCheck->setChecked(CFG_CORE.General.CheckUpdatesOnStartup.get());
+}