def __getLatestHistory(self, *args): toLastMessage = None if len(args) > 0: parser = CommandArgsParser(self.__getLatestHistory.__name__, 1, [bool]) toLastMessage, = parser.parse(*args) if toLastMessage is not None and toLastMessage is True: self.__sharedHistory.syncCursor(True) self.__updateHistoryControls() historyList = self.__sharedHistory.getHistory() if len(historyList) == 0: return else: if toLastMessage is not None and toLastMessage is True: self.__flashCall(BTMS_COMMANDS.ClearMessages(), []) numberOfMessages = self.__sharedHistory.numberOfMessages() idx = len(historyList) for message, fillColor in historyList: numberOfMessages -= 1 idx -= 1 self.__flashCall(BTMS_COMMANDS.ShowHistoryMessages(), [message, fillColor, numberOfMessages, idx]) return
def dispossessUI(self): self.__flashCall(BTMS_COMMANDS.ClearMessages()) if self.__ui: self.__ui.removeExternalCallbacks(BTMS_COMMANDS.PopulateUI(), BTMS_COMMANDS.CheckCooldownPeriod(), BTMS_COMMANDS.SendMessage(), BTMS_COMMANDS.ChangeFocus(), BTMS_COMMANDS.AddToFriends(), BTMS_COMMANDS.RemoveFromFriends(), BTMS_COMMANDS.AddToIgnored(), BTMS_COMMANDS.RemoveFromIgnored(), BTMS_COMMANDS.AddMuted(), BTMS_COMMANDS.RemoveMuted(), BTMS_COMMANDS.upHistory(), BTMS_COMMANDS.downHistory(), BTMS_COMMANDS.GetLatestHistory()) if self.__view: self.__view.dispossessUI() self.__view = None self.__ui = None return
def dispossessUI(self): self.__flashCall(BTMS_COMMANDS.ClearMessages()) if self.__ui: self.__ui.removeExternalCallbacks(BTMS_COMMANDS.PopulateUI(), BTMS_COMMANDS.CheckCooldownPeriod(), BTMS_COMMANDS.SendMessage(), BTMS_COMMANDS.ChangeFocus(), BTMS_COMMANDS.AddToFriends(), BTMS_COMMANDS.RemoveFromFriends(), BTMS_COMMANDS.AddToIgnored(), BTMS_COMMANDS.RemoveFromIgnored(), BTMS_COMMANDS.AddMuted(), BTMS_COMMANDS.RemoveMuted()) while len(self.__views): self.__views.pop().dispossessUI() self.__ui = None return
def __getLatestMessages(self, *args): data = -1 if len(args) > 0: parser = CommandArgsParser(self.__getLatestMessages.__name__, 1, [long]) data, = parser.parse(*args) self.__sharedHistory.syncCursor(True) historyList = self.__sharedHistory.getHistory() if data > 0: numberOfMessages = self.__sharedHistory.numberOfMessages() idx = len(historyList) if idx >= numberOfMessages: numberOfMessages -= 1 historyList = historyList[-numberOfMessages:] self.__flashCall(BTMS_COMMANDS.ClearMessages(), []) for message, fillColor in historyList: self.__flashCall(BTMS_COMMANDS.ShowLatestMessages(), [message, fillColor])