def _init_ui(self): logger.info("Initialising GTK UI") self.area = VirtualLCD(self) # self.area.connect("expose_event", self._expose) self.hboxes = [] self.buttons = {} zoomed_size = self.get_zoomed_size() self.area.set_size_request(zoomed_size[0], zoomed_size[1]) self.vbox = gtk.VBox() self.vbox.add(self.area) rows = gtk.VBox() for row in self.get_key_layout(): hbox = gtk.HBox() for key in row: key_text = " ".join(g15driver.get_key_names(list(key))) g_button = gtk.Button(key_text) g_button.connect("pressed", self._simulate_key, key, g15driver.KEY_STATE_DOWN) g_button.connect("released", self._simulate_key, key, g15driver.KEY_STATE_UP) hbox.add(g_button) self.buttons[key] = g_button rows.add(hbox) self.event_box = gtk.EventBox() self.event_box.add(rows) self.vbox.add(self.event_box) # self.main_window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.main_window = gtk.Window(gtk.WindowType.TOPLEVEL) self.main_window.set_title("Gnome15") self.main_window.set_icon_from_file( g15icontools.get_app_icon(self.conf_client, "gnome15")) self.main_window.add(self.vbox) self.main_window.connect("delete-event", self._window_closed) control = self.get_control_for_hint(g15driver.HINT_DIMMABLE) if control: if isinstance(control.value, int): v = (65535 / control.upper) * control.value # self.event_box.modify_bg(gtk.STATE_NORMAL, gdk.Color(v, v, v)) self.event_box.modify_bg(gtk.StateType.NORMAL, gdk.Color(v, v, v)) else: # self.event_box.modify_bg( # gtk.STATE_NORMAL, # gdk.Color( # control.value[0] << 8, # control.value[1] << 8, # control.value[2] << 8) # ) self.event_box.modify_bg( gtk.StateType.NORMAL, gdk.Color(control.value[0] << 8, control.value[1] << 8, control.value[2] << 8)) self.main_window.show_all() logger.info("Initialised GTK UI") self.connected = True logger.info("Connected")
def _on_sections_synchronized(self, sections_model, *args): # Column0: display name # Column1: GIcon in string format sections_model.clear() for device in g15devices.find_all_devices(): if device.model_id == 'virtual': icon_file = g15icontools.get_icon_path([ "preferences-system-window", "preferences-system-windows", "gnome-window-manager", "window_fullscreen" ]) else: icon_file = g15icontools.get_app_icon(self._gconf_client, device.model_id) icon = Gio.FileIcon(Gio.File(icon_file)) sections_model.append(device.model_fullname, icon.to_string())
def _init_ui(self): logger.info("Initialising GTK UI") self.area = VirtualLCD(self) #self.area.connect("expose_event", self._expose) self.hboxes = [] self.buttons = {} zoomed_size = self.get_zoomed_size() self.area.set_size_request(zoomed_size[0], zoomed_size[1]) self.vbox = gtk.VBox () self.vbox.add(self.area) rows = gtk.VBox() for row in self.get_key_layout(): hbox = gtk.HBox() for key in row: key_text = " ".join(g15driver.get_key_names(list(key))) g_button = gtk.Button(key_text) g_button.connect("pressed", self._simulate_key, key, g15driver.KEY_STATE_DOWN) g_button.connect("released", self._simulate_key, key, g15driver.KEY_STATE_UP) hbox.add(g_button) self.buttons[key] = g_button rows.add(hbox) self.event_box = gtk.EventBox() self.event_box.add(rows) self.vbox.add(self.event_box) self.main_window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.main_window.set_title("Gnome15") self.main_window.set_icon_from_file(g15icontools.get_app_icon(self.conf_client, "gnome15")) self.main_window.add(self.vbox) self.main_window.connect("delete-event", self._window_closed) control = self.get_control_for_hint(g15driver.HINT_DIMMABLE) if control: if isinstance(control.value, int): v = ( 65535 / control.upper ) * control.value self.event_box.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(v, v, v)) else: self.event_box.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(control.value[0] << 8, control.value[1] << 8, control.value[2] << 8)) self.main_window.show_all() logger.info("Initialised GTK UI") self.connected = True logger.info("Connected")
def get_app_icon(gconf_client, icon, size=128): return g15icontools.get_app_icon(gconf_client, icon, size)