Added logic for notification suppression, along with other tweaks. Did not worry too much on how to handle pre-releases.
This commit is contained in:
@@ -33,12 +33,53 @@ to receive notifications for
|
||||
|
||||
self.suppressAll = wx.CheckBox( panel, wx.ID_ANY, u"Suppress all update notifications", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.suppressPrerelease = wx.CheckBox( panel, wx.ID_ANY, u"Suppress only pre-release notifications", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
|
||||
|
||||
mainSizer.Add( self.suppressAll, 0, wx.ALL|wx.EXPAND, 5 )
|
||||
mainSizer.Add( self.suppressPrerelease, 0, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
self.suppressAll.Bind(wx.EVT_CHECKBOX, self.OnSuppressAllStateChange)
|
||||
self.suppressPrerelease.Bind(wx.EVT_CHECKBOX, self.OnPrereleaseStateChange)
|
||||
|
||||
self.suppressAll.SetValue(self.UpdateSettings.get('all'))
|
||||
self.suppressPrerelease.SetValue(self.UpdateSettings.get('prerelease'))
|
||||
|
||||
if (self.UpdateSettings.get('version')):
|
||||
self.versionSizer = wx.BoxSizer( wx.VERTICAL )
|
||||
|
||||
|
||||
self.versionTitle = wx.StaticText( panel, wx.ID_ANY, "Suppressing "+self.UpdateSettings.get('version')+" Notifications", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.versionTitle.Wrap( -1 )
|
||||
self.versionTitle.SetFont( wx.Font( 12, 70, 90, 90, False, wx.EmptyString ) )
|
||||
|
||||
self.versionInfo = '''
|
||||
There is a release available which you have chosen to suppress.
|
||||
You can choose to reset notification suppression for this release,
|
||||
or download the new release from GitHub.
|
||||
'''
|
||||
|
||||
self.versionSizer.AddSpacer( ( 5, 5), 0, wx.EXPAND, 5 )
|
||||
|
||||
self.versionSizer.Add( wx.StaticLine( panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL ), 0, wx.EXPAND, 5 )
|
||||
self.versionSizer.AddSpacer( ( 5, 5), 0, wx.EXPAND, 5 )
|
||||
|
||||
self.versionSizer.Add( self.versionTitle, 0, wx.EXPAND, 5 )
|
||||
self.versionDesc = wx.StaticText( panel, wx.ID_ANY, self.versionInfo, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.versionSizer.Add( self.versionDesc, 0, wx.ALL, 5 )
|
||||
|
||||
actionSizer = wx.BoxSizer( wx.HORIZONTAL )
|
||||
resetSizer = wx.BoxSizer( wx.VERTICAL )
|
||||
|
||||
self.downloadButton = wx.Button( panel, wx.ID_ANY, "Download", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.downloadButton.Bind(wx.EVT_BUTTON, self.OnDownload)
|
||||
resetSizer.Add( self.downloadButton, 0, wx.ALL, 5 )
|
||||
actionSizer.Add( resetSizer, 1, wx.EXPAND, 5 )
|
||||
|
||||
self.resetButton = wx.Button( panel, wx.ID_ANY, "Reset Suppression", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.resetButton.Bind(wx.EVT_BUTTON, self.ResetSuppression)
|
||||
actionSizer.Add( self.resetButton, 0, wx.ALL, 5 )
|
||||
self.versionSizer.Add( actionSizer, 0, wx.EXPAND, 5 )
|
||||
mainSizer.Add( self.versionSizer, 0, wx.EXPAND, 5 )
|
||||
|
||||
self.ToggleSuppressAll(self.suppressAll.IsChecked())
|
||||
|
||||
panel.SetSizer( mainSizer )
|
||||
@@ -55,6 +96,23 @@ to receive notifications for
|
||||
self.UpdateSettings.set('all', self.suppressAll.IsChecked())
|
||||
self.ToggleSuppressAll(self.suppressAll.IsChecked())
|
||||
|
||||
def OnPrereleaseStateChange(self, event):
|
||||
self.UpdateSettings.set('prerelease', self.suppressPrerelease.IsChecked())
|
||||
|
||||
def ResetSuppression(self, event):
|
||||
self.UpdateSettings.set('version', None)
|
||||
|
||||
# Todo: Find a way to hide the entire panel in one go
|
||||
self.versionSizer.Hide(True)
|
||||
self.versionTitle.Hide()
|
||||
self.versionDesc.Hide()
|
||||
self.downloadButton.Hide()
|
||||
self.resetButton.Hide()
|
||||
self.resetButton.Hide()
|
||||
|
||||
def OnDownload(self, event):
|
||||
wx.LaunchDefaultBrowser('https://github.com/DarkFenX/Pyfa/releases/tag/'+self.UpdateSettings.get('version'))
|
||||
|
||||
def getImage(self):
|
||||
return bitmapLoader.getBitmap("pyfa64", "icons")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user