Esempio n. 1
0
    def __init__(self,
                 area,
                 setup={
                     'background': 'yellow',
                     'foreground': 'black'
                 }):
        self.area = area
        area.tag_configure('(ISEARCH_MATCH)', **setup)
        area.install('word-search',
                     ('NORMAL', '<Control-z>', lambda event: Get(
                         events={
                             '<Return>':
                             self.start,
                             '<Alt-p>':
                             lambda wid: self.go_down(),
                             '<Alt-o>':
                             lambda wid: self.go_up(),
                             '<Destroy>':
                             lambda wid: self.area.tag_remove(
                                 '(ISEARCH_MATCH)', '1.0', 'end'),
                             '<Escape> ':
                             lambda wid: True
                         })))

        self.seq = []
        self.index = -1
Esempio n. 2
0
 def __init__(self, area):
     self.area = area
     area.install('fsniffer', 
     ('NORMAL', '<Alt-t>', lambda e: self.options.display()), 
     ('NORMAL', '<Alt-y>', 
     lambda event: Get(events={'<Return>' : self.find,
     '<Control-w>':self.set_wide, '<<Idle>>': self.update_pattern,
     '<Escape>': lambda wid: True})))
Esempio n. 3
0
    def __init__(self, area):

        self.area = area
        self.path = ''
        area.install('fsniff', (-1, '<Alt-minus>', lambda event: Get(
            events={
                '<<Idle>>': self.find,
                '<<Data>>': self.update_process,
                '<Return>': self.view_on_current,
                '<Escape>': lambda wid: True
            })), (-1, '<Alt-equal>', lambda event: Get(
                events={
                    '<<Idle>>': self.find,
                    '<<Data>>': self.update_process,
                    '<Return>': self.view_on_new_tab,
                    '<Escape>': lambda wid: True
                })))
Esempio n. 4
0
    def __init__(self, area):
        self.area   = area
        self.output = ''

        area.install('fsearch', 
        ('NORMAL', '<Key-W>', self.display),
        ('NORMAL', '<Control-w>',  lambda event: Get(events={
        '<Return>' : self.find, '<<Idle>>': self.update_pattern,
        '<Escape>': lambda wid: True})))
Esempio n. 5
0
 def search_back(self):
     get = Get(
         events={
             '<<Data>>': lambda wid: root.note.switch_back(wid.get()),
             '<Alt-p>': lambda wid: root.note.switch_next(wid.get(), True),
             '<Alt-o>': lambda wid: root.note.switch_back(wid.get(), True),
             '<Escape>': self.stop,
             '<Return>': self.stop
         })
     return 'break'
Esempio n. 6
0
    def on_back_mode(self, event):
        get = Get(
            events={
                '<<Data>>': self.switch_back,
                '<Alt-p>': self.switch_next,
                '<Alt-o>': self.switch_back,
                '<Escape>': self.stop,
                '<Return>': self.stop
            })

        return 'break'
Esempio n. 7
0
 def start_search(self):
     get = Get(
         events={
             '<<Data>>': self.update_search,
             '<Alt-p>': lambda wid: self.next_tab(),
             '<Control-j>': lambda wid: self.next_tab(),
             '<Alt-o>': lambda wid: self.prev_tab(),
             '<Control-k>': lambda wid: self.prev_tab(),
             '<Escape>': lambda wid: self.stop_search(),
             '<Return>': lambda wid: self.stop_search()
         })
     return 'break'
Esempio n. 8
0
    def start_backwards(self, event):
        self.index     = self.area.index('insert')
        self.backwards = True
        self.stopindex = '1.0'

        Get(events = {
        '<Alt-p>':self.search_down, 
        '<Alt-o>': self.search_up, 
        '<<Data>>': self.update, 
        '<BackSpace>': self.update,
        '<Destroy>': lambda wid: self.area.tag_remove(
        '(SEARCH_MATCH)', '1.0', 'end'),
        '<Escape>':  lambda wid: True})
Esempio n. 9
0
    def create_private_channel(self, nick):
        """
        Create private messages channels.
        """

        # In case there is no areavi for the user then creates
        # a private channel.
        area = self.create_area(nick)
        area.hook('vyirc', 'IRC', '<Key-i>', lambda event: Get(
        events={'<Escape>': lambda wid: True, 
        '<Return>': lambda wid: 
        self.drop_msg(area, wid, nick)}))
        return area
Esempio n. 10
0
    def __init__(self, irc, area, chan):
        self.irc = irc
        self.area = area
        self.chan = chan
        self.peers = set()

        events = (
            ('PRIVMSG->%s' % chan, self.e_privmsg),
            ('332->%s' % chan, self.e_332),
            ('PART->%s' % chan, self.e_part),
            ('JOIN->%s' % chan, self.e_join),
            # ('*NICK', self.e_nick),
            ('NICK', self.e_nick),
            ('QUIT', self.e_quit),
            ('353->%s' % chan, self.e_353),
            ('KICK->%s' % chan, self.e_kick),
            ('MODE->%s' % chan, self.e_mode),
            (CLOSE, self.e_close))

        def unset(con, *args):
            for event, handle in events:
                irc.con.del_map(event, handle)

        for key, value in events:
            irc.con.add_map(key, value)

        irc.con.once('*PART->%s' % chan, unset)
        irc.con.add_map('*KICK->%s' % chan, unset)

        area.bind('<Destroy>', lambda event: unset(irc.con), add=True)

        # When area is destroyed, it sends a PART.
        area.bind('<Destroy>',
                  lambda event: send_cmd(irc.con, 'PART %s' % chan),
                  add=True)

        # Hook to send msgs.
        area.hook(
            'vyirc', 'IRC', '<Key-i>', lambda event: Get(
                events={
                    '<Escape>': lambda wid: True,
                    '<Tab>': self.c_nick,
                    '<Return>': lambda wid: self.irc.drop_msg(area, wid, chan)
                }))

        # It unbinds the above callback.
        # In case the part command was sent by text
        # by the user. After part it should destroy the
        # area.
        irc.con.once('*PART->%s' % chan,
                     lambda con, *args: area.unbind('<Destroy>'))
Esempio n. 11
0
 def  __init__(self, area):
     self.area = area
     area.install('sniper', 
     ('NORMAL', '<Key-b>', lambda event: self.options.display()),
     ('NORMAL', '<Key-B>', lambda event: Get(events = {
     '<Return>':self.find, 
     '<Control-i>':self.set_ignore_regex, 
     '<Control-x>':self.set_type_lax, 
     '<Control-r>':self.set_type_regex, 
     '<Control-l>':self.set_type_literal, 
     '<Control-g>':self.set_file_regex, 
     '<Control-s>':self.set_nocase, 
     '<Control-w>':self.set_wide, 
     '<Control-m>':self.set_multiline, 
     '<Escape>':  lambda wid: True})))
Esempio n. 12
0
    def start(self):
        self.index = ('insert', 'insert')
        root.status.set_msg('Set replacement: %s' % self.data)

        get = Get(events={
        '<Alt-bracketright>': self.set_data,
        '<Alt-o>': self.up, '<Escape>': self.cancel, 
        '<Alt-p>': self.down, '<Return>': self.cancel,
        '<Alt-slash>':  self.pick_selection_matches,
        '<Alt-period>': self.replace_on_cur,
        '<Alt-semicolon>': self.replace_on_selection, 
        '<Alt-comma>': self.replace_all_matches, 
        '<Control-n>': self.toggle_nocase_option,
        '<Control-e>': self.toggle_exact_option,
        '<Control-i>': self.toggle_elide_option,
        '<Control-l>': self.toggle_nolinestop_option},
        default_data=self.regex)
Esempio n. 13
0
 def start(self):
     get = Get(events={
         '<Alt-q>': self.set_data,
         '<Alt-o>': self.up,
         '<Escape>': self.cancel,
         '<Alt-p>': self.down,
         '<Return>': self.cancel,
         '<Alt-n>': self.pick_selection_matches,
         '<Alt-period>': self.replace_on_cursor,
         '<Alt-semicolon>': self.replace_on_selection,
         '<Alt-comma>': self.replace_all_matches,
         '<Control-n>': self.toggle_nocase_option,
         '<Control-e>': self.toggle_exact_option,
         '<Control-i>': self.toggle_elide_option,
         '<Control-l>': self.toggle_nolinestop_option
     },
               default_data=Find.regex)