コード例 #1
0
class PhraseRunner:
    def __init__(self, service):
        self.service = service
        self.macroManager = MacroManager(service.scriptRunner.engine)
        self.lastExpansion = None
        self.lastPhrase = None
        self.lastBuffer = None

    @threaded
    #@synchronized(iomediator.SEND_LOCK)
    def execute(self, phrase, buffer=''):
        logging.debug("Executing Phrase(%s)", phrase)
        mediator = self.service.mediator
        mediator.interface.begin_send()

        expansion = phrase.build_phrase(buffer)
        self.macroManager.process_expansion(expansion)

        mediator.send_backspace(expansion.backspaces)
        if phrase.sendMode == model.SendMode.KEYBOARD:
            mediator.send_string(expansion.string)
        else:
            mediator.paste_string(expansion.string, phrase.sendMode)
        mediator.interface.finish_send()

        self.lastExpansion = expansion
        self.lastPhrase = phrase
        self.lastBuffer = buffer

    def can_undo(self):
        if self.lastExpansion is not None:
            return model.TriggerMode.ABBREVIATION in self.lastPhrase.modes

    def clear_last(self):
        self.lastExpansion = None
        self.lastPhrase = None

    @synchronized(iomediator.SEND_LOCK)
    def undo_expansion(self):
        logger.info("Undoing last abbreviation expansion")
        replay = self.lastPhrase.get_trigger_chars(self.lastBuffer)
        logger.debug("Replay string: %s", replay)
        logger.debug("Erase string: %r", self.lastExpansion.string)
        mediator = self.service.mediator

        #mediator.send_right(self.lastExpansion.lefts)
        mediator.interface.begin_send()
        mediator.remove_string(self.lastExpansion.string)
        mediator.send_string(replay)
        mediator.interface.finish_send()
        self.clear_last()
コード例 #2
0
ファイル: service.py プロジェクト: BjornW/autokey
class PhraseRunner:
    
    def __init__(self, service):
        self.service = service
        self.macroManager = MacroManager(service.scriptRunner.engine)
        self.lastExpansion = None
        self.lastPhrase = None  
        self.lastBuffer = None

    @threaded
    #@synchronized(iomediator.SEND_LOCK)
    def execute(self, phrase, buffer=''):
        mediator = self.service.mediator
        mediator.interface.begin_send()
        
        expansion = phrase.build_phrase(buffer)
        self.macroManager.process_expansion(expansion)
        
        mediator.send_backspace(expansion.backspaces)
        if phrase.sendMode == model.SendMode.KEYBOARD:
            mediator.send_string(expansion.string)
        else:
            mediator.paste_string(expansion.string, phrase.sendMode)
        mediator.interface.finish_send()

        self.lastExpansion = expansion
        self.lastPhrase = phrase
        self.lastBuffer = buffer
        
    def can_undo(self):
        if self.lastExpansion is not None:
            return model.TriggerMode.ABBREVIATION in self.lastPhrase.modes
            
    def clear_last(self):
        self.lastExpansion = None
        self.lastPhrase = None 

    @synchronized(iomediator.SEND_LOCK)
    def undo_expansion(self):
        logger.info("Undoing last abbreviation expansion")
        replay = self.lastPhrase.get_trigger_chars(self.lastBuffer)
        logger.debug("Replay string: %s", replay)
        logger.debug("Erase string: %r", self.lastExpansion.string)
        mediator = self.service.mediator
        
        #mediator.send_right(self.lastExpansion.lefts)
        mediator.interface.begin_send()
        mediator.remove_string(self.lastExpansion.string)
        mediator.send_string(replay)
        mediator.interface.finish_send()
        self.clear_last()
コード例 #3
0
ファイル: service.py プロジェクト: vgovindan37/autokey
 def __init__(self, service):
     self.service = service
     self.macroManager = MacroManager(service.scriptRunner.engine)
     self.lastExpansion = None
     self.lastPhrase = None
     self.lastBuffer = None
コード例 #4
0
ファイル: service.py プロジェクト: BjornW/autokey
 def __init__(self, service):
     self.service = service
     self.macroManager = MacroManager(service.scriptRunner.engine)
     self.lastExpansion = None
     self.lastPhrase = None  
     self.lastBuffer = None