Added auto-update download progress bar
This commit is contained in:
parent
3c32dab014
commit
5fb1a887d9
3 changed files with 45 additions and 4 deletions
35
app/app.js
35
app/app.js
|
|
@ -4,6 +4,7 @@ const { dialog } = require("electron");
|
|||
const updater = require("electron-updater");
|
||||
const autoUpdater = updater.autoUpdater;
|
||||
const contextMenu = require("electron-context-menu");
|
||||
const ProgressBar = require("electron-progressbar");
|
||||
const path = require("path");
|
||||
|
||||
// Attach settings store
|
||||
|
|
@ -26,12 +27,44 @@ autoUpdater.on("update-available", function(info) {
|
|||
},
|
||||
buttonIndex => {
|
||||
if (buttonIndex === 0) {
|
||||
autoUpdater.downloadUpdate();
|
||||
console.log("Downloading update selected");
|
||||
handleDownloadUpdate();
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
// Download, with a progress bar
|
||||
function handleDownloadUpdate() {
|
||||
console.log("Downloading update");
|
||||
var progressBar = new ProgressBar({
|
||||
indeterminate: false,
|
||||
text: "Downloading update...",
|
||||
detail: "Please wait...",
|
||||
browserWindow: {
|
||||
webPreferences: {
|
||||
nodeIntegration: true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
progressBar.on("ready", function() {
|
||||
autoUpdater.on("download-progress", function(info) {
|
||||
progressBar.value = info.percent;
|
||||
progressBar.detail = `${Math.floor(info.percent)}% ${info.bytesPerSecond /
|
||||
1000}kb/s`;
|
||||
});
|
||||
autoUpdater.on("update-downloaded", function() {
|
||||
progressBar.close();
|
||||
});
|
||||
autoUpdater.on("error", function() {
|
||||
progressBar.close();
|
||||
});
|
||||
autoUpdater.downloadUpdate();
|
||||
});
|
||||
}
|
||||
|
||||
// Trigger update installation
|
||||
autoUpdater.on("update-downloaded", function(info) {
|
||||
sendStatusToWindow("Update downloaded." + info);
|
||||
dialog.showMessageBox(
|
||||
|
|
|
|||
13
package-lock.json
generated
13
package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "openflexure-ev",
|
||||
"version": "2.0.0-beta.6",
|
||||
"version": "2.1.0-alpha",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
|
@ -7168,6 +7168,14 @@
|
|||
"resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-1.1.0.tgz",
|
||||
"integrity": "sha512-Z1qA/1oHNowGtSBIcWk0pcLEqYT/j+13xUw/MYOrBUOL4X7VN0i0KCTf5SqyvMPmW5pSPKbo28wkxMxzZ20YnQ=="
|
||||
},
|
||||
"electron-progressbar": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/electron-progressbar/-/electron-progressbar-1.2.0.tgz",
|
||||
"integrity": "sha512-I89HaI61SF5wl8c4p62UU3RXhL0xByzl4XH/miwb1e/VNUtRj5WCe/wJ5pNikfC01+/4aAOlNsbmkfsvQjtW6Q==",
|
||||
"requires": {
|
||||
"extend": "^3.0.1"
|
||||
}
|
||||
},
|
||||
"electron-publish": {
|
||||
"version": "21.2.0",
|
||||
"resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-21.2.0.tgz",
|
||||
|
|
@ -8018,8 +8026,7 @@
|
|||
"extend": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
|
||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
|
||||
"dev": true
|
||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
|
||||
},
|
||||
"extend-shallow": {
|
||||
"version": "3.0.2",
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
"about-window": "^1.13.2",
|
||||
"custom-electron-titlebar": "^3.2.2",
|
||||
"electron-context-menu": "^0.15.2",
|
||||
"electron-progressbar": "^1.2.0",
|
||||
"electron-store": "^5.1.1",
|
||||
"electron-updater": "^4.2.2",
|
||||
"material-design-icons": "^3.0.1"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue