Add context menu which pastes clipboard into additions pane (not functional yet)

This commit is contained in:
DarkPhoenix
2019-08-21 15:46:20 +03:00
parent 7dc17543df
commit 56e09b8528
3 changed files with 64 additions and 0 deletions

View File

@@ -50,3 +50,4 @@ from gui.builtinContextMenus import graphDmgDroneMode
# Additions panel menus
from gui.builtinContextMenus import additionsExportSelection
from gui.builtinContextMenus import additionsExportAll
from gui.builtinContextMenus import additionsImport

View File

@@ -0,0 +1,45 @@
import gui.mainFrame
from gui.contextMenu import ContextMenuUnconditional
from gui.utils.clipboard import fromClipboard
from service.fit import Fit
from service.port.eft import parseAdditions
from service.settings import ContextMenuSettings
viewSpecMap = {
'droneItemMisc': ('Drones', None),
'fighterItemMisc': ('Fighters', None),
'cargoItemMisc': ('Cargo Items', None),
'implantItemMisc': ('Implants', None),
'implantItemMiscChar': ('Implants', None),
'boosterItemMisc': ('Boosters', None)}
class AdditionsImport(ContextMenuUnconditional):
def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
def display(self, callingWindow, srcContext):
if not ContextMenuSettings.getInstance().get('additionsCopyPaste'):
return False
if srcContext not in viewSpecMap:
return False
fit = Fit.getInstance().getFit(self.mainFrame.getActiveFit())
if fit is None:
return False
if not fromClipboard():
return False
self.srcContext = srcContext
return True
def getText(self, callingWindow, itmContext):
return 'Paste {}'.format(viewSpecMap[self.srcContext][0])
def activate(self, callingWindow, fullContext, i):
text = fromClipboard()
items = parseAdditions(text)
AdditionsImport.register()