def _prepara_text_buffer(self): cami = config.cami("ajuda.txt") if not cami: return fitxer = file(cami, "rb") tb = gtk.TextBuffer() tb.create_tag("titol", weight=pango.WEIGHT_BOLD, scale=pango.SCALE_LARGE) for linia in fitxer: linia = linia.strip() if not linia: continue it = tb.get_end_iter() if linia.startswith("*"): text = linia[1:].lstrip() + "\n" if tb.get_char_count() > 0: text = "\n\n" + text tb.insert_with_tags_by_name(it, text, "titol") else: tb.insert(it, " ".join(linia.split()) + " ") fitxer.close() it = tb.get_end_iter() tb.insert(it, "\n") return tb
def _prepara_text_buffer(self): cami = config.cami("ajuda.txt") if not cami: return fitxer = open(cami, "r", encoding="utf-8") tb = Gtk.TextBuffer() tb.create_tag("titol", weight=Pango.Weight.BOLD, scale=1.2) for linia in fitxer: linia = linia.strip() if not linia: continue it = tb.get_end_iter() if linia.startswith("*"): text = linia[2:] + "\n" if tb.get_char_count() > 0: text = "\n\n" + text tb.insert_with_tags_by_name(it, text, "titol") else: tb.insert(it, " ".join(linia.split()) + " ") fitxer.close() it = tb.get_end_iter() tb.insert(it, "\n") return tb
def __init__(self): gtk.Window.__init__(self) self.set_title("Gnank - Cercador d'horaris de la FIB") self.set_default_size(900, 600) icona = config.cami("gnank.png") if icona: gtk.window_set_default_icon_from_file(icona) icona = config.cami('web.png') if icona: pixbuf = gtk.gdk.pixbuf_new_from_file(icona) icon_set = gtk.IconSet(pixbuf) icon_factory = gtk.IconFactory() icon_factory.add('gnank-web', icon_set) icon_factory.add_default() area_finestra = gtk.VBox() accions = Accions(self) uimanager = gtk.UIManager() uimanager.insert_action_group(accions, 0) uimanager.add_ui_from_string(self._xmlui) self.add_accel_group(uimanager.get_accel_group()) self._uimanager = uimanager barra = uimanager.get_widget('/barra') area_finestra.pack_start(barra, False) area_carrera_align = gtk.Alignment() area_carrera_align.set_padding(6, 0, 0, 0) area_finestra.pack_start(area_carrera_align, expand=False) area_carrera = gtk.HBox() area_carrera_align.add(area_carrera) carrera = TriaCarrera() area_carrera.pack_start(carrera, expand=True, fill=True) area_treball = gtk.HPaned() area_treball.set_border_width(6) area_finestra.pack_start(area_treball, expand=True, fill=True) arbre = ArbreGrups() area_treball.pack1(arbre, resize=False, shrink=False) llista = LlistaHoraris(accions) area_llista = gtk.ScrolledWindow() area_llista.add(llista) area_llista.set_shadow_type(gtk.SHADOW_ETCHED_IN) area_llista.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) taula = TaulaHorari() area_taula = gtk.ScrolledWindow() area_taula.add(taula) area_taula.set_shadow_type(gtk.SHADOW_ETCHED_IN) area_taula.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) taula.actualitza() area_horaris = gtk.VPaned() area_horaris.pack1(area_llista, resize=True) area_horaris.pack2(area_taula, resize=True) area_treball.pack2(area_horaris, resize=True) self.add(area_finestra) area_finestra.show_all() cerca = FinestraCerca(self, llista) self.connect('destroy', accions.surt) arbre.connect('grups-seleccionats', llista.actualitza_grups_seleccionats) arbre.connect('grups-seleccionats', cerca.actualitza_grups) llista.connect('horari-seleccionat', taula.actualitza) accions.connect('dades-actualitzades', carrera.actualitza) accions.connect('dades-actualitzades', arbre.actualitza) accions.connect('dades-actualitzades', llista.actualitza) accions.connect('cerca-horaris', cerca.mostra) accions.connect("neteja", llista.actualitza) try: domini.obre(config.HORARIS_USUARI) accions.emit('dades-actualitzades') except ErrorDades: pass