diff --git a/resources/lib/dialogs/context.py b/resources/lib/dialogs/context.py index 4ee9f038..ef9f67c9 100644 --- a/resources/lib/dialogs/context.py +++ b/resources/lib/dialogs/context.py @@ -1,19 +1,17 @@ # -*- coding: utf-8 -*- - ############################################################################### - -import logging -import os +from logging import getLogger +from os.path import join import xbmcgui -import xbmcaddon +from xbmcaddon import Addon from utils import window ############################################################################### -log = logging.getLogger("PLEX."+__name__) -addon = xbmcaddon.Addon('plugin.video.plexkodiconnect') +LOG = getLogger("PLEX." + __name__) +ADDON = Addon('plugin.video.plexkodiconnect') ACTION_PARENT_DIR = 9 ACTION_PREVIOUS_MENU = 10 @@ -27,16 +25,16 @@ USER_IMAGE = 150 class ContextMenu(xbmcgui.WindowXMLDialog): - - _options = [] - selected_option = None - - def __init__(self, *args, **kwargs): - + self._options = [] + self.selected_option = None + self.list_ = None + self.background = None xbmcgui.WindowXMLDialog.__init__(self, *args, **kwargs) - def set_options(self, options=[]): + def set_options(self, options=None): + if not options: + options = [] self._options = options def is_selected(self): @@ -46,17 +44,13 @@ class ContextMenu(xbmcgui.WindowXMLDialog): return self.selected_option def onInit(self): - if window('PlexUserImage'): self.getControl(USER_IMAGE).setImage(window('PlexUserImage')) - height = 479 + (len(self._options) * 55) - log.info("options: %s", self._options) + LOG.debug("options: %s", self._options) self.list_ = self.getControl(LIST) - for option in self._options: self.list_.addItem(self._add_listitem(option)) - self.background = self._add_editcontrol(730, height, 30, 450) self.setFocus(self.list_) @@ -64,27 +58,23 @@ class ContextMenu(xbmcgui.WindowXMLDialog): if action in (ACTION_BACK, ACTION_PARENT_DIR, ACTION_PREVIOUS_MENU): self.close() - if action in (ACTION_SELECT_ITEM, ACTION_MOUSE_LEFT_CLICK): - if self.getFocusId() == LIST: option = self.list_.getSelectedItem() self.selected_option = option.getLabel() - log.info('option selected: %s', self.selected_option) - + LOG.info('option selected: %s', self.selected_option) self.close() - def _add_editcontrol(self, x, y, height, width, password=0): - - media = os.path.join(addon.getAddonInfo('path'), 'resources', 'skins', 'default', 'media') + def _add_editcontrol(self, x, y, height, width, password=None): + media = join(ADDON.getAddonInfo('path'), + 'resources', 'skins', 'default', 'media') control = xbmcgui.ControlImage(0, 0, 0, 0, - filename=os.path.join(media, "white.png"), + filename=join(media, "white.png"), aspectRatio=0, colorDiffuse="ff111111") control.setPosition(x, y) control.setHeight(height) control.setWidth(width) - self.addControl(control) return control