Exemplo n.º 1
0
def set_tortoise_keys(window, connect=True):
    'Set default TortoiseHg keyboard accelerators'
    if sys.platform == 'darwin':
        mask = gtk.accelerator_get_default_mod_mask()
        mask |= gtk.gdk.MOD1_MASK;
        gtk.accelerator_set_default_mod_mask(mask)
    mod = get_thg_modifier()
    accelgroup = gtk.AccelGroup()
    window.add_accel_group(accelgroup)

    default_accelerators = [
        (mod+'w', 'thg-close'),
        (mod+'q', 'thg-exit'),
        ('F5', 'thg-refresh'),
        (mod+'r', 'thg-refresh'),
        (mod+'Return', 'thg-accept'),
    ]

    for accelerator, signal in default_accelerators:
        add_accelerator(window, signal, accelgroup, accelerator)

    # connect ctrl-w and ctrl-q to every window
    if connect:
        window.connect('thg-close', thgclose)
        window.connect('thg-exit', thgexit)

    return accelgroup, mod
Exemplo n.º 2
0
# -*- coding: utf-8 -*-
from bisect import bisect
import gtk
from gtk.keysyms import F2, Escape, Control_L, Control_R, Alt_L, Alt_R, Shift_L, Shift_R
from gtk.gdk import SHIFT_MASK, CONTROL_MASK, MOD1_MASK, SUPER_MASK

from .utils import make_missing_dirs

ANY_CTX = ('any', )
DEFAULT_PRIORITY = 0

gtk.accelerator_set_default_mod_mask(SHIFT_MASK | CONTROL_MASK | MOD1_MASK | SUPER_MASK)

def parse_accel(accel, priority=None):
    if priority is None:
        priority = DEFAULT_PRIORITY

    key, _modifier = km = gtk.accelerator_parse(accel)
    if key == 0:
        import warnings
        warnings.warn("Can't parse %s" % accel)

    return km, priority

def normalize_context(ctx):
    if isinstance(ctx, tuple):
        return ctx
    else:
        return (ctx,)