Setting to change server for CREST, and some other improvements.

This commit is contained in:
blitzmann
2015-10-31 13:20:13 -04:00
parent 24f770aa7b
commit ccb9e085b2
8 changed files with 79 additions and 35 deletions

View File

@@ -5,6 +5,7 @@ from gui.bitmapLoader import BitmapLoader
import gui.mainFrame
import service
from service.crest import CrestModes
class PFCrestPref ( PreferenceView):
title = "CREST"
@@ -30,24 +31,28 @@ class PFCrestPref ( PreferenceView):
self.stInfo.Wrap(dlgWidth - 50)
mainSizer.Add( self.stInfo, 0, wx.EXPAND|wx.TOP|wx.BOTTOM, 5 )
self.grantRadioBtn1 = wx.RadioButton( panel, wx.ID_ANY, u"Implicit Grant", wx.DefaultPosition, wx.DefaultSize, 0 )
mainSizer.Add( self.grantRadioBtn1, 0, wx.ALL, 5 )
rbSizer = wx.BoxSizer(wx.HORIZONTAL)
self.rbMode = wx.RadioBox(panel, -1, "Mode", wx.DefaultPosition, wx.DefaultSize, ['Implicit', 'User-supplied details'], 1, wx.RA_SPECIFY_COLS)
self.rbServer = wx.RadioBox(panel, -1, "Server", wx.DefaultPosition, wx.DefaultSize, ['Tranquility', 'Singularity'], 1, wx.RA_SPECIFY_COLS)
self.grantRadioBtn2 = wx.RadioButton( panel, wx.ID_ANY, u"User-supplied details", wx.DefaultPosition, wx.DefaultSize, 0 )
mainSizer.Add( self.grantRadioBtn2, 0, wx.ALL, 5 )
self.rbMode.SetSelection(self.settings.get('mode'))
self.rbServer.SetSelection(self.settings.get('server'))
proxyTitle = wx.StaticText( panel, wx.ID_ANY, "CREST client details", wx.DefaultPosition, wx.DefaultSize, 0 )
proxyTitle.Wrap( -1 )
proxyTitle.SetFont( wx.Font( 12, 70, 90, 90, False, wx.EmptyString ) )
rbSizer.Add(self.rbMode, 1, wx.TOP | wx.RIGHT, 5 )
rbSizer.Add(self.rbServer, 1, wx.ALL, 5 )
mainSizer.Add( proxyTitle, 0, wx.ALL, 5 )
self.rbMode.Bind(wx.EVT_RADIOBOX, self.OnModeChange)
self.rbServer.Bind(wx.EVT_RADIOBOX, self.OnServerChange)
mainSizer.Add(rbSizer, 1, wx.ALL|wx.EXPAND, 0)
detailsTitle = wx.StaticText( panel, wx.ID_ANY, "CREST client details", wx.DefaultPosition, wx.DefaultSize, 0 )
detailsTitle.Wrap( -1 )
detailsTitle.SetFont( wx.Font( 12, 70, 90, 90, False, wx.EmptyString ) )
mainSizer.Add( detailsTitle, 0, wx.ALL, 5 )
mainSizer.Add( wx.StaticLine( panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL ), 0, wx.EXPAND, 5 )
self.grantRadioBtn1.SetValue(self.settings.get('mode') == 0)
self.grantRadioBtn2.SetValue(self.settings.get('mode') == 1)
self.grantRadioBtn1.Bind(wx.EVT_RADIOBUTTON, self.OnRadioChange)
self.grantRadioBtn2.Bind(wx.EVT_RADIOBUTTON, self.OnRadioChange)
fgAddrSizer = wx.FlexGridSizer( 2, 2, 0, 0 )
fgAddrSizer.AddGrowableCol( 1 )
@@ -82,9 +87,14 @@ class PFCrestPref ( PreferenceView):
panel.SetSizer( mainSizer )
panel.Layout()
def OnRadioChange(self, event):
self.settings.set('mode', 0 if self.grantRadioBtn1.Value else 1)
def OnModeChange(self, event):
self.settings.set('mode', event.GetInt())
self.ToggleProxySettings(self.settings.get('mode'))
service.Crest.restartService()
def OnServerChange(self, event):
self.settings.set('server', event.GetInt())
service.Crest.restartService()
def OnBtnApply(self, event):
self.settings.set('clientID', self.inputClientID.GetValue())

View File

@@ -7,6 +7,7 @@ from wx.lib.pubsub import setupkwargs
from wx.lib.pubsub import pub
import service
from service.crest import CrestModes
import gui.display as d
from eos.types import Cargo
from eos.db import getItem
@@ -24,7 +25,7 @@ class CrestFittings(wx.Frame):
characterSelectSizer = wx.BoxSizer( wx.HORIZONTAL )
if sCrest.settings.get('mode') == 0:
if sCrest.settings.get('mode') == CrestModes.IMPLICIT:
self.stLogged = wx.StaticText(self, wx.ID_ANY, "Currently logged in as %s"%sCrest.implicitCharacter.name, wx.DefaultPosition, wx.DefaultSize)
self.stLogged.Wrap( -1 )
@@ -107,7 +108,7 @@ class CrestFittings(wx.Frame):
def getActiveCharacter(self):
sCrest = service.Crest.getInstance()
if sCrest.settings.get('mode') == 0:
if sCrest.settings.get('mode') == CrestModes.IMPLICIT:
return sCrest.implicitCharacter.ID
selection = self.charChoice.GetCurrentSelection()
@@ -159,7 +160,7 @@ class ExportToEve(wx.Frame):
mainSizer = wx.BoxSizer(wx.VERTICAL)
hSizer = wx.BoxSizer(wx.HORIZONTAL)
if sCrest.settings.get('mode') == 0:
if sCrest.settings.get('mode') == CrestModes.IMPLICIT:
self.stLogged = wx.StaticText(self, wx.ID_ANY, "Currently logged in as %s"%sCrest.implicitCharacter.name, wx.DefaultPosition, wx.DefaultSize)
self.stLogged.Wrap( -1 )
@@ -207,7 +208,7 @@ class ExportToEve(wx.Frame):
def getActiveCharacter(self):
sCrest = service.Crest.getInstance()
if sCrest.settings.get('mode') == 0:
if sCrest.settings.get('mode') == CrestModes.IMPLICIT:
return sCrest.implicitCharacter.ID
selection = self.charChoice.GetCurrentSelection()

View File

@@ -58,6 +58,8 @@ from gui.updateDialog import UpdateDialog
from gui.builtinViews import *
from time import gmtime, strftime
from service.crest import CrestModes
from wx.lib.pubsub import setupkwargs
from wx.lib.pubsub import pub
@@ -518,7 +520,7 @@ class MainFrame(wx.Frame):
def ssoLogin(self, event):
sCrest = service.Crest.getInstance()
if sCrest.settings.get('mode') == 0: # Implicit, go directly to login
if sCrest.settings.get('mode') == CrestModes.IMPLICIT:
if sCrest.implicitCharacter is not None:
sCrest.logout()
else:

View File

@@ -24,6 +24,7 @@ import gui.mainFrame
import gui.graphFrame
import gui.globalEvents as GE
import service
from service.crest import CrestModes
from wx.lib.pubsub import setupkwargs
from wx.lib.pubsub import pub
@@ -113,14 +114,14 @@ class MainMenuBar(wx.MenuBar):
# CREST Menu
crestMenu = wx.Menu()
self.Append(crestMenu, "&CREST")
if self.sCrest.settings.get('mode') != 0:
if self.sCrest.settings.get('mode') != CrestModes.IMPLICIT:
crestMenu.Append(self.ssoLoginId, "Manage Characters")
else:
crestMenu.Append(self.ssoLoginId, "Login to EVE")
crestMenu.Append(self.eveFittingsId, "Browse EVE Fittings")
crestMenu.Append(self.exportToEveId, "Export To EVE")
if self.sCrest.settings.get('mode') == 0 or len(self.sCrest.getCrestCharacters()) == 0:
if self.sCrest.settings.get('mode') == CrestModes.IMPLICIT or len(self.sCrest.getCrestCharacters()) == 0:
self.Enable(self.eveFittingsId, False)
self.Enable(self.exportToEveId, False)
@@ -157,13 +158,13 @@ class MainMenuBar(wx.MenuBar):
event.Skip()
def ssoLogin(self, type):
if self.sCrest.settings.get('mode') == 0:
if self.sCrest.settings.get('mode') == CrestModes.IMPLICIT:
self.SetLabel(self.ssoLoginId, "Logout Character")
self.Enable(self.eveFittingsId, True)
self.Enable(self.exportToEveId, True)
def ssoLogout(self, message):
if self.sCrest.settings.get('mode') == 0:
if self.sCrest.settings.get('mode') == CrestModes.IMPLICIT:
self.SetLabel(self.ssoLoginId, "Login to EVE")
self.Enable(self.eveFittingsId, False)
self.Enable(self.exportToEveId, False)