import logging from gi.repository import Gtk from lib.config import Config import lib.connection as Connection class MiscToolbarController(object): """Manages Accelerators and Clicks Misc buttons""" def __init__(self, drawing_area, win, uibuilder): self.log = logging.getLogger('MiscToolbarController') # Accelerators accelerators = Gtk.AccelGroup() win.add_accel_group(accelerators) closebtn = uibuilder.find_widget_recursive(drawing_area, 'close') closebtn.set_visible(Config.getboolean('misc', 'close')) closebtn.connect('clicked', self.on_closebtn_clicked) cutbtn = uibuilder.find_widget_recursive(drawing_area, 'cut') cutbtn.set_visible(Config.getboolean('misc', 'cut')) cutbtn.connect('clicked', self.on_cutbtn_clicked) key, mod = Gtk.accelerator_parse('t') cutbtn.add_accelerator('clicked', accelerators, key, mod, Gtk.AccelFlags.VISIBLE) tooltip = Gtk.accelerator_get_label(key, mod) cutbtn.set_tooltip_text(tooltip) def on_closebtn_clicked(self, btn): self.log.info('close-button clicked') Gtk.main_quit() def on_cutbtn_clicked(self, btn): self.log.info('cut-button clicked') Connection.send('message', 'cut')