diff options
Diffstat (limited to 'window.py')
-rw-r--r-- | window.py | 112 |
1 files changed, 36 insertions, 76 deletions
@@ -16,6 +16,7 @@ from gi.repository import GdkPixbuf from Widgets import AreadeMontajes from Widgets import Area +from Widgets import Toolbar from Widgets import Entrada from Widgets import BarradeEstado from Widgets import DialogoError @@ -38,10 +39,8 @@ context.add_provider_for_screen( class CExplorer(Gtk.Window): __gsignals__ = { - 'change-directory': (GObject.SIGNAL_RUN_FIRST, - GObject.TYPE_NONE, []), - 'estado-cambiado': (GObject.SIGNAL_RUN_FIRST, - GObject.TYPE_NONE, (GObject.TYPE_STRING,))} + 'change-directory': (GObject.SIGNAL_RUN_FIRST, None, []) + } def __init__(self): @@ -57,54 +56,15 @@ class CExplorer(Gtk.Window): self.carpetas = [] self.vbox = Gtk.VBox() - self.entrada = Entrada(self.direccion) - scrolled_montajes = Gtk.ScrolledWindow() - scrolled = Gtk.ScrolledWindow() - self.area_montajes = AreadeMontajes(self) + self.toolbar = Toolbar() + self.entrada = Entrada() self.area = Area(self) - self.spinner = Gtk.Spinner() - - self.entrada.modify_fg(Gtk.StateType.NORMAL, Gdk.color_parse("red")) - - #****** Toolbar ****** - toolbar = Gtk.Toolbar() - self.vbox.pack_start(toolbar, False, False, 0) - - b_harddisk = Gtk.ToolButton(Gtk.STOCK_HARDDISK) - b_home = Gtk.ToolButton(Gtk.STOCK_HOME) - b_go_up = Gtk.ToolButton(Gtk.STOCK_GO_UP) - b_refresh = Gtk.ToolButton(Gtk.STOCK_REFRESH) - b_ocults = Gtk.ToolButton(Gtk.STOCK_YES) - img_mas = Gtk.Image() - img_menos = Gtk.Image() - img_preferencias = Gtk.Image() - b_create = Gtk.ToolButton() - b_remove = Gtk.ToolButton() - b_preferences = Gtk.ToolButton() - item = Gtk.ToolItem() - - b_harddisk.set_tooltip_text('Dirigirse al directorio raíz') - b_home.set_tooltip_text('Dirigirse al directorio personal') - b_go_up.set_tooltip_text('Dirigirse al directorio anterior al actual') - b_refresh.set_tooltip_text('Recargar') - b_ocults.set_tooltip_text('Mostrar archivos ocultos') - - item.add(self.spinner) - - toolbar.insert(b_harddisk, -1) - toolbar.insert(b_home, -1) - toolbar.insert(b_go_up, -1) - toolbar.insert(b_refresh, -1) - toolbar.insert(b_ocults, -1) - toolbar.insert(item, -1) - - #****** Otros Widgets ****** - paned = Gtk.Paned() + self.area_montajes = AreadeMontajes(self) self.b_estado = BarradeEstado() - self.vbox.pack_start(self.entrada, False, False, 5) - self.vbox.pack_start(paned, True, True, 0) - self.vbox.pack_start(self.b_estado, False, False, 0) + scrolled_montajes = Gtk.ScrolledWindow() + scrolled = Gtk.ScrolledWindow() + paned = Gtk.Paned() scrolled_montajes.add(self.area_montajes) scrolled.add(self.area) @@ -112,28 +72,40 @@ class CExplorer(Gtk.Window): paned.pack1(scrolled_montajes, False, True) paned.pack2(scrolled, True, True) - self.entrada.connect('activate', self.nueva_direccion) - self.area.connect('cambio-de-direccion', self.abrir_desde_widget) - self.area.connect('cambio-de-mensaje', self.cambio_de_mensaje) + self.vbox.pack_start(self.toolbar, False, False, 0) + self.vbox.pack_start(self.entrada, False, False, 5) + self.vbox.pack_start(paned, True, True, 0) + self.vbox.pack_start(self.b_estado, False, False, 0) + self.connect('destroy', Gtk.main_quit) self.connect('key-press-event', self.tecla_presionada) self.connect('change-directory', self.borrar_todo) - self.connect('estado-cambiado', self.estado_cambiado) - - b_harddisk.connect('clicked', self.nueva_direccion, '/') - b_home.connect('clicked', self.nueva_direccion, '~') - b_go_up.connect('clicked', self.abrir_arriba) - b_refresh.connect('clicked', self.update) - b_ocults.connect('clicked', self.change_ocultos) - b_create.connect('clicked', self.crear_directorio) - b_remove.connect('clicked', self.borrar_archivo) - b_preferences.connect('clicked', self.preferencias) + self.toolbar.connect('accion', self.set_accion) + self.entrada.connect('activate', self.nueva_direccion) + self.area.connect('cambio-de-direccion', self.abrir_desde_widget) + self.area.connect('cambio-de-mensaje', self.cambio_de_mensaje) self.abrir(self.direccion) self.add(self.vbox) self.show_all() + def set_accion(self, widget=None, accion=None): + + if accion == 'raiz': + self.direccion = '/' + self.update() + + elif accion == 'personal': + self.direccion = os.path.expanduser('~/') + self.update() + + elif accion == 'arriba': + self.abrir_arriba() + + elif accion == 'recargar': + self.update() + def abrir(self, directorio): """Abre el directorio especificado""" @@ -146,7 +118,6 @@ class CExplorer(Gtk.Window): self.entrada.set_text(directorio) self.emit('change-directory') - self.emit('estado-cambiado', 'cargando') for objeto in os.listdir(directorio): direccion = os.path.join(directorio, objeto) @@ -200,16 +171,6 @@ class CExplorer(Gtk.Window): except: self.abrir(os.path.expanduser('~')) - self.emit('estado-cambiado', 'parado') - - def estado_cambiado(self, widget, estado): - - if estado == 'cargando': - self.spinner.start() - - else: - self.spinner.stop() - def tecla_presionada(self, widget, event): tecla = event.keyval @@ -246,8 +207,7 @@ class CExplorer(Gtk.Window): self.crear_directorio() def abrir_desde_widget(self, widget, direccion): - """Llama a la función 'abrir_desde_widget()', sólo que en esta - función, tiene el argumento 'widget', por que widget que la ocasión""" + """Llama a la función 'abrir'.""" self.abrir(direccion) @@ -338,7 +298,7 @@ class CExplorer(Gtk.Window): self.update() def change_ocultos(self, widget): - """Cambia de mostrar ocultos a no mostrar ocultos o viceversa""" + """Muestra o no muestra archivos ocultos""" self.ocultos = not self.ocultos |