Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristian García <cristian99garcia@gmail.com>2013-04-20 16:02:58 (GMT)
committer Cristian García <cristian99garcia@gmail.com>2013-04-20 16:02:58 (GMT)
commitb585ea6aa2ff41550385172c2ea3d3ed8cfb8bc3 (patch)
treebba135e0e3501d8ff3b2b7da5dbbe866680ffa77
parent1ce0fa553ad6e13ae5b91fc8c3a6bf13148c62cd (diff)
Emprolijando
-rw-r--r--Archivos.py44
-rw-r--r--Archivos.pycbin17703 -> 17339 bytes
-rw-r--r--CExplorer.css2
-rw-r--r--CExplorer.py4
-rw-r--r--Widgets.py41
-rw-r--r--Widgets.pycbin13430 -> 13576 bytes
-rw-r--r--window.py35
7 files changed, 58 insertions, 68 deletions
diff --git a/Archivos.py b/Archivos.py
index 7ee49d5..14af21a 100644
--- a/Archivos.py
+++ b/Archivos.py
@@ -27,51 +27,17 @@ share = os.path.join(local, 'share')
trash = os.path.join(share, 'Trash')
PAPELERA = os.path.join(trash, 'files')
-programas_instalados = []
-direcciones_prgramas = []
-aplicaciones = '/usr/share/applications'
-if os.path.exists(aplicaciones) and os.path.isdir(aplicaciones):
- lista = os.listdir(aplicaciones)
- for x in lista:
- direccion = aplicaciones + '/' + x
- if os.path.isfile(direccion):
- texto = open(direccion).read()
-
- if 'MimeType' in texto or 'mime-type' in texto:
- programas_instalados.append(texto)
- direcciones_prgramas.append(direccion)
def intentar_abrir(direccion):
- """Por ahora no hace nada"""
-
- """
- tipo = commands.getoutput('file %s --mime-type -b' % direccion)
- tipo = tipo.split('/')[0]
-
- aplicaciones_utiles = []
-
- for x in programas_instalados:
- if tipo in x:
- aplicaciones_utiles.append(x)
-
- texto = aplicaciones_utiles[0]
-
- direccion = False
- for linea in texto.splitlines():
- if 'exec' in linea:
- if 'exec=' in linea:
- direccion = linea.split('exec=')
-
- if direccion:
- commands.getoutput(direcciones_prgramas[numero] + ' ' + direccion)
- break
-
- """
+ """Abre el archivo con el programa predeterminado"""
if ' ' in direccion:
direccion = direccion.replace(' ', '\ ')
- commands.getoutput('gnome-open %s' % direccion)
+ comando = commands.getoutput('gnome-open %s' % direccion)
+
+ return comando
+
def crear_papelera():
"""Crea los directorios de la papelera"""
diff --git a/Archivos.pyc b/Archivos.pyc
index e4d6f3c..e109f52 100644
--- a/Archivos.pyc
+++ b/Archivos.pyc
Binary files differ
diff --git a/CExplorer.css b/CExplorer.css
index 61c4322..3248d73 100644
--- a/CExplorer.css
+++ b/CExplorer.css
@@ -1,6 +1,6 @@
/* Configuracion de tema de colores para CExplorer */
-GtkWindow, GtkEntry, GtkIconView, GtkButton, GtkToolButton, GtkToolbar, GtkMenu, GtkTreeView, GtkPaned {
+GtkWidget {
background-color: black;
color: green;
}
diff --git a/CExplorer.py b/CExplorer.py
index 316022c..b1d6094 100644
--- a/CExplorer.py
+++ b/CExplorer.py
@@ -54,7 +54,7 @@ class CExplorer(activity.Activity):
self.entrada = Wid.Entrada(self.direccion)
scrolled_montajes = Gtk.ScrolledWindow()
scrolled = Gtk.ScrolledWindow()
- self.area_montajes = Wid.Area_de_Montajes(self)
+ self.area_montajes = Wid.AreadeMontajes(self)
self.area = Wid.Area(self)
#****** Toolbar ******
@@ -94,7 +94,7 @@ class CExplorer(activity.Activity):
#****** Otros Widgets ******
paned = Gtk.Paned()
- self.b_estado = Wid.Barra_de_Estado()
+ self.b_estado = Wid.BarradeEstado()
self.vbox.pack_start(self.entrada, False, False, 5)
self.vbox.pack_start(paned, True, True, 0)
diff --git a/Widgets.py b/Widgets.py
index c6c5896..9b93e11 100644
--- a/Widgets.py
+++ b/Widgets.py
@@ -14,7 +14,7 @@ from gi.repository import Pango
COPIAR = None
-class Area_de_Montajes(Gtk.TreeView):
+class AreadeMontajes(Gtk.TreeView):
"""Parte de la entana en la que se muestran
los montajes actualmente introducidos"""
@@ -151,6 +151,10 @@ class Area(Gtk.IconView):
'cambio-de-direccion': (GObject.SIGNAL_RUN_FIRST,
GObject.TYPE_NONE, (GObject.TYPE_STRING,)),
'cambio-de-mensaje': (GObject.SIGNAL_RUN_FIRST,
+ GObject.TYPE_NONE, (GObject.TYPE_STRING,))
+ 'copiar': (GObject.SIGNAL_RUN_FIRST,
+ GObject.TYPE_NONE, (GObject.TYPE_STRING,))
+ 'propiedades': (GObject.SIGNAL_RUN_FIRST,
GObject.TYPE_NONE, (GObject.TYPE_STRING,))}
def __init__(self, padre):
@@ -173,6 +177,8 @@ class Area(Gtk.IconView):
self.connect('selection-changed', self.changed)
def changed(self, widget):
+ """Emite la señal 'cambio-de-mensaje' con una cadena
+ que muestra información del archivo o carpeta seleccionada"""
if self.get_selected_items():
@@ -194,7 +200,7 @@ class Area(Gtk.IconView):
self.emit('cambio-de-mensaje', mensaje)
else:
- self.padre.b_estado.set_text('')
+ self.emit('cambio-de-mensaje', '')
def agregar(self, nombre, direccion):
"""Agrega el icono de una carpeta o un archivo"""
@@ -289,16 +295,19 @@ class Area(Gtk.IconView):
def abrir(self, widget, direccion):
"""Abre la dirección del montaje seleccionado"""
- self.emit('change-directory', direccion)
+ self.emit('cambio-de-direccion', direccion)
def copiar(self, widget, direccion):
+ """Emite la señal 'copiar' con la
+ dirección recibida como parámetro"""
- COPIAR = direccion
+ self.emit('copiar', direccion)
def propiedades(self, widget, direccion):
+ """Emite la señal 'copiar' con la
+ dirección recibida como parámetro"""
- dialogo = Archivos.Propiedades(direccion)
- dialogo.show_all()
+ self.emit('propiedades', direccion)
class Entrada(Gtk.Entry):
@@ -323,10 +332,15 @@ class Entrada(Gtk.Entry):
self.connect('changed', self.changed)
def changed(self, widget):
+ """Sí el usuario escribe '/' como último caracter, agrega
+ un item al modelo del completion por cada carpeta que se
+ encuentra en la dirección introducida"""
texto = widget.get_text()
- if os.path.exists(texto) and not os.path.isfile(texto) and texto[-1] == '/':
+ if os.path.exists(texto) and \
+ not os.path.isfile(texto) and texto[-1] == '/':
+
lista = os.listdir(texto)
self.modelo.clear()
@@ -337,7 +351,9 @@ class Entrada(Gtk.Entry):
self.show_all()
-class Barra_de_Estado(Gtk.Statusbar):
+class BarradeEstado(Gtk.Statusbar):
+ """Un GtkStatusbar para mostrar la
+ información del elemento seleccionado"""
def __init__(self):
@@ -347,6 +363,7 @@ class Barra_de_Estado(Gtk.Statusbar):
"""Le pasa 'pop' y 'push' al Widget clase"""
texto = ''
+
for x in args:
texto += x
@@ -364,15 +381,13 @@ class DialogoError(Gtk.Dialog):
def __init__(self, error, direccion, padre):
- Gtk.Dialog.__init__(self, parent=padre)
+ Gtk.Dialog.__init__(self, parent=padre, flags=Gtk.DialogFlags.MODAL)
if error == 'inexistente':
texto = 'Al parecer la dirección:\n"%s"\nno existe, compruebe lo introducido, eh intente de nuevo' % direccion
- elif error == 'abrir':
- texto = 'TENGO QUE ARREGLAR ESTO!!!!'
-
- self.set_modal(True)
+ elif error == 'abrir archivo':
+ texto = 'No tiene un programa instalado para abrir:\n"%s"' % direccion
label1 = Gtk.Label('Error al abrir la dirección...')
label2 = Gtk.Label(texto)
diff --git a/Widgets.pyc b/Widgets.pyc
index c07a610..905bba1 100644
--- a/Widgets.pyc
+++ b/Widgets.pyc
Binary files differ
diff --git a/window.py b/window.py
index 261624a..69ccb4f 100644
--- a/window.py
+++ b/window.py
@@ -14,10 +14,10 @@ from gi.repository import Gdk
from gi.repository import GObject
from gi.repository import GdkPixbuf
-from Widgets import Area_de_Montajes
+from Widgets import AreadeMontajes
from Widgets import Area
from Widgets import Entrada
-from Widgets import Barra_de_Estado
+from Widgets import BarradeEstado
from Widgets import DialogoError
@@ -60,7 +60,7 @@ class CExplorer(Gtk.Window):
self.entrada = Entrada(self.direccion)
scrolled_montajes = Gtk.ScrolledWindow()
scrolled = Gtk.ScrolledWindow()
- self.area_montajes = Area_de_Montajes(self)
+ self.area_montajes = AreadeMontajes(self)
self.area = Area(self)
self.spinner = Gtk.Spinner()
@@ -100,7 +100,7 @@ class CExplorer(Gtk.Window):
#****** Otros Widgets ******
paned = Gtk.Paned()
- self.b_estado = Barra_de_Estado()
+ self.b_estado = BarradeEstado()
self.vbox.pack_start(self.entrada, False, False, 5)
self.vbox.pack_start(paned, True, True, 0)
@@ -176,13 +176,16 @@ class CExplorer(Gtk.Window):
self.area.agregar(archivo, self.direccion)
elif os.path.isfile(directorio):
- Archivos.intentar_abrir(directorio)
+ comando = Archivos.intentar_abrir(directorio)
+
+ if 'error' in comando:
+ texto = 'abrir archivo'
else:
texto = 'inexistente'
if texto:
- dialogo = DialogoError(str(texto), directorio, self)
+ dialogo = DialogoError(texto, directorio, self)
dialogo.show_all()
@@ -243,10 +246,14 @@ 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"""
self.abrir(direccion)
def crear_directorio(self, *args):
+ """Abre el un diálogo para crear un directorio, sí es
+ que en el directorio actual hay permisos suficientes"""
lectura, escritura, ejecucion = Archivos.get_permisos(self.direccion)
@@ -256,6 +263,8 @@ class CExplorer(Gtk.Window):
crear.show_all()
def borrar_archivo(self, *args):
+ """Abre un diálogo para borrar el archivo o la carpeta
+ seleccionada, sí es que hay permisos suficientes"""
direccion = self.get_nueva_direccion()
lectura, escritura, ejecucion = Archivos.get_permisos(direccion)
@@ -270,12 +279,15 @@ class CExplorer(Gtk.Window):
pass
def preferencias(self, *args):
+ """Abre un diálogo con las propiedades del archivo, con opciones
+ de configurar todo lo que se pueda, teniendo en cuenta los permisos"""
direccion = self.get_nueva_direccion()
lectura, escritura, ejecucion = Archivos.get_permisos(direccion)
if lectura:
propiedades = Archivos.Propiedades(direccion)
+
propiedades.connect('cambio-de-propiedades', self.update)
propiedades.show_all()
@@ -306,6 +318,7 @@ class CExplorer(Gtk.Window):
self.b_estado.borrar()
def cambio_de_mensaje(self, widget, mensaje):
+ """Llama a la función 'set_text', de la clase 'BarradeEstado'"""
self.b_estado.set_text(mensaje)
@@ -338,6 +351,9 @@ class CExplorer(Gtk.Window):
self.update()
def get_nueva_direccion(self):
+ """Sí hay un item seleccionado en el area de navegación,
+ devuelve la dirección que conduce a él, de lo contrario,
+ devuelve la dirección actual"""
try:
direccion = self.direccion
@@ -356,10 +372,3 @@ class CExplorer(Gtk.Window):
if __name__ == '__main__':
CExplorer()
Gtk.main()
-
-"""
-ico = "/home/cristian/Documentos/JAMediaSuite/JAMediaObjects/Iconos/JAMedia.png"
-p = GdkPixbuf.Pixbuf.new_from_file_at_size(ico, -1, 30)
-cursor = Gdk.Cursor.new_from_pixbuf(Gdk.Display.get_default(), p, 0, 0)
-ventna.set_cursor(cursor)
-"""