Ejemplo n.º 1
0
    def create_abbreviation(self, folder, description, abbr, contents):
        """
        Create a text abbreviation
        
        Usage: C{engine.create_abbreviation(folder, description, abbr, contents)}
        
        When the given abbreviation is typed, it will be replaced with the given
        text.
        
        @param folder: folder to place the abbreviation in, retrieved using C{engine.get_folder()}
        @param description: description for the phrase
        @param abbr: the abbreviation that will trigger the expansion
        @param contents: the expansion text
        @raise Exception: if the specified abbreviation is not unique
        """
        if not self.configManager.check_abbreviation_unique(abbr, None, None):
            raise Exception("The specified abbreviation is already in use")

        self.monitor.suspend()
        p = model.Phrase(description, contents)
        p.modes.append(model.TriggerMode.ABBREVIATION)
        p.abbreviations = [abbr]
        folder.add_item(p)
        p.persist()
        self.monitor.unsuspend()
        self.configManager.config_altered(False)
Ejemplo n.º 2
0
 def create_phrase(self, folder, description, contents):
     """
     Create a text phrase
     
     Usage: C{engine.create_phrase(folder, description, contents)}
     
     A new phrase with no abbreviation or hotkey is created in the specified folder
     
     @param folder: folder to place the abbreviation in, retrieved using C{engine.get_folder()}
     @param description: description for the phrase
     @param contents: the expansion text
     """
     self.monitor.suspend()
     p = model.Phrase(description, contents)
     folder.add_item(p)
     p.persist()
     self.monitor.unsuspend()
     self.configManager.config_altered(False)
Ejemplo n.º 3
0
    def create_hotkey(self, folder, description, modifiers, key, contents):
        """
        Create a text hotkey
        
        Usage: C{engine.create_hotkey(folder, description, modifiers, key, contents)}
        
        When the given hotkey is pressed, it will be replaced with the given
        text. Modifiers must be given as a list of strings, with the following
        values permitted:
        
        <ctrl>
        <alt>
        <super>
        <hyper>
        <meta>
        <shift>
        
        The key must be an unshifted character (i.e. lowercase)
        
        @param folder: folder to place the abbreviation in, retrieved using C{engine.get_folder()}
        @param description: description for the phrase
        @param modifiers: modifiers to use with the hotkey (as a list)
        @param key: the hotkey
        @param contents: the expansion text
        @raise Exception: if the specified hotkey is not unique
        """
        modifiers.sort()
        if not self.configManager.check_hotkey_unique(modifiers, key, None,
                                                      None):
            raise Exception(
                "The specified hotkey and modifier combination is already in use"
            )

        self.monitor.suspend()
        p = model.Phrase(description, contents)
        p.modes.append(model.TriggerMode.HOTKEY)
        p.set_hotkey(modifiers, key)
        folder.add_item(p)
        p.persist()
        self.monitor.unsuspend()
        self.configManager.config_altered(False)