Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristian Garcia <cristian99garcia@gmail.com>2013-08-11 12:33:11 (GMT)
committer Cristian Garcia <cristian99garcia@gmail.com>2013-08-11 12:33:11 (GMT)
commit99e70cd06defc860a4c4ee4c0468e9b9a0bce5c0 (patch)
tree15c1283e64a1ede4d97cdaa7506bbd400140c9ae
parent80fe4239e26eaa08e26b3eba9242ddbf9d77983f (diff)
Mejorando el codigo
-rw-r--r--Archivos.pycbin16972 -> 16561 bytes
-rw-r--r--CExplorer.css10
-rw-r--r--Widgets.py67
-rw-r--r--Widgets.pycbin14078 -> 15318 bytes
-rw-r--r--window.py112
5 files changed, 95 insertions, 94 deletions
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