@@ -21,29 +21,53 @@ export default class Updater {
2121
2222 autoUpdater . on ( 'checking-for-update' , ( ) => {
2323 logInfo ( 'auto updater' , 'Checking for update' ) ;
24- this . menuBuilder . setCheckForUpdatesMenuEnabled ( false ) ;
25- } ) ;
2624
27- autoUpdater . on ( 'error' , ( err ) => {
28- logError ( 'auto updater' , 'Error checking for update' , err ) ;
29- this . menuBuilder . setCheckForUpdatesMenuEnabled ( true ) ;
25+ this . menuBuilder . setCheckForUpdatesMenuEnabled ( false ) ;
3026 } ) ;
3127
3228 autoUpdater . on ( 'update-available' , ( ) => {
3329 logInfo ( 'auto updater' , 'New update available' ) ;
34- menuBuilder . setUpdateAvailableMenuEnabled ( true ) ;
30+
3531 this . menubar . tray . setToolTip ( 'Gitify\nA new update is available' ) ;
32+ menuBuilder . setUpdateAvailableMenuEnabled ( true ) ;
33+ } ) ;
34+
35+ autoUpdater . on ( 'download-progress' , ( progressObj ) => {
36+ this . menubar . tray . setToolTip (
37+ `Gitify\nDownloaded: ${ progressObj . percent } %` ,
38+ ) ;
3639 } ) ;
3740
3841 autoUpdater . on ( 'update-downloaded' , ( ) => {
3942 logInfo ( 'auto updater' , 'Update downloaded' ) ;
40- menuBuilder . setUpdateReadyForInstallMenuEnabled ( true ) ;
43+
4144 this . menubar . tray . setToolTip ( 'Gitify\nA new update is ready to install' ) ;
45+ menuBuilder . setUpdateReadyForInstallMenuEnabled ( true ) ;
4246 } ) ;
4347
4448 autoUpdater . on ( 'update-not-available' , ( ) => {
4549 logInfo ( 'auto updater' , 'Update not available' ) ;
46- this . menuBuilder . setCheckForUpdatesMenuEnabled ( true ) ;
50+
51+ this . resetState ( ) ;
52+ } ) ;
53+
54+ autoUpdater . on ( 'update-cancelled' , ( ) => {
55+ logInfo ( 'auto updater' , 'Update cancelled' ) ;
56+
57+ this . resetState ( ) ;
58+ } ) ;
59+
60+ autoUpdater . on ( 'error' , ( err ) => {
61+ logError ( 'auto updater' , 'Error checking for update' , err ) ;
62+
63+ this . resetState ( ) ;
4764 } ) ;
4865 }
66+
67+ private resetState ( ) {
68+ this . menubar . tray . setToolTip ( 'Gitify' ) ;
69+ this . menuBuilder . setCheckForUpdatesMenuEnabled ( true ) ;
70+ this . menuBuilder . setUpdateAvailableMenuEnabled ( false ) ;
71+ this . menuBuilder . setUpdateReadyForInstallMenuEnabled ( false ) ;
72+ }
4973}
0 commit comments