Example #1
0
    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
Example #2
0
	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
Example #3
0
    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