From 99e70cd06defc860a4c4ee4c0468e9b9a0bce5c0 Mon Sep 17 00:00:00 2001 From: Cristian Garcia Date: Sun, 11 Aug 2013 12:33:11 +0000 Subject: Mejorando el codigo --- diff --git a/Archivos.pyc b/Archivos.pyc index df31c2a..2e0be95 100644 --- a/Archivos.pyc +++ b/Archivos.pyc Binary files differ diff --git a/CExplorer.css b/CExplorer.css index 3248d73..2ab8d26 100644 --- a/CExplorer.css +++ b/CExplorer.css @@ -1,20 +1,10 @@ /* Configuracion de tema de colores para CExplorer */ -GtkWidget { - background-color: black; - color: green; -} - GtkSeparatorToolItem { background-color: green; color: green; } -GtkLabel { - background-color: black; - color: green; -} - GtkScrolledWindow { -GtkRange-slider-width: 10; -GtkRange-trough-border: 0; diff --git a/Widgets.py b/Widgets.py index 5c705ce..e9c77de 100644 --- a/Widgets.py +++ b/Widgets.py @@ -249,9 +249,7 @@ class Area(Gtk.IconView): self.emit('cambio-de-direccion', direccion) except TypeError: - - # Solo sucede cuando se le hace clic fuera de un iter, - # por eso lo dejo pasar + # Solo sucede cuando se le hace clic fuera de un iter pass @@ -289,6 +287,9 @@ class Area(Gtk.IconView): menu.append(Gtk.SeparatorMenuItem()) menu.append(propiedades) + for item in [abrir, cortar, copiar, pegar, propiedades]: + item.set_use_underline(True) + menu.show_all() menu.popup(None, None, None, None, boton, tiempo) @@ -304,16 +305,65 @@ class Area(Gtk.IconView): self.emit('copiar', direccion) def propiedades(self, widget, direccion): - """Emite la señal 'copiar' con la - dirección recibida como parámetro""" + """Emite la señal 'propiedades'.""" self.emit('propiedades', direccion) +class Toolbar(Gtk.Toolbar): + """Barra de herramientas.""" + + __gsignals__ = { + 'accion': (GObject.SIGNAL_RUN_FIRST, None, (str,)) + } + + def __init__(self): + + Gtk.Toolbar.__init__(self) + + self.toolbutton( + Gtk.STOCK_HARDDISK, 'Dirigirse al directorio raíz', 'raiz') + self.toolbutton(Gtk.STOCK_HOME, + 'Dirigirse al directorio personal', 'personal') + self.toolbutton(Gtk.STOCK_GO_UP, + 'Dirigirse al directorio padre del actual', 'arriba') + self.toolbutton(Gtk.STOCK_REFRESH, 'Recargar', 'recargar') + + 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() + #item.add(self.spinner) + #self.add(item) + + """ + 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) + """ + + def toolbutton(self, imagen, tooltip, string): + + boton = Gtk.ToolButton(imagen) + boton.set_tooltip_text(tooltip) + boton.connect('clicked', self.emit_accion, string) + + self.add(boton) + + def emit_accion(self, widget, string): + + self.emit('accion', string) + + class Entrada(Gtk.Entry): """Entrada de navegación""" - def __init__(self, direccion): + def __init__(self): """Inicia la clase""" Gtk.Entry.__init__(self) @@ -325,7 +375,6 @@ class Entrada(Gtk.Entry): completion.set_text_column(0) self.set_size_request(400, 40) - self.set_text(direccion) self.set_placeholder_text(os.path.expanduser('Dirección')) self.set_completion(completion) @@ -377,12 +426,14 @@ class BarradeEstado(Gtk.Statusbar): class DialogoError(Gtk.Dialog): - """Un diálogo que muestra el error que sucedió""" + """Un diálogo que muestra errores.""" def __init__(self, error, direccion, padre): Gtk.Dialog.__init__(self, parent=padre, flags=Gtk.DialogFlags.MODAL) + self.set_text('Error') + if error == 'inexistente': texto = 'Al parecer la dirección:\n"%s"\nno existe, compruebe lo introducido, eh intente de nuevo' % direccion diff --git a/Widgets.pyc b/Widgets.pyc index fe649c6..93ffb0a 100644 --- a/Widgets.pyc +++ b/Widgets.pyc Binary files differ diff --git a/window.py b/window.py index 69ccb4f..241ee0f 100644 --- a/window.py +++ b/window.py @@ -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 -- cgit v0.9.1