1
0
mirror of https://github.com/gryf/pygtktalog.git synced 2025-12-17 19:40:21 +01:00

Resolved issue with sort order of children of the file obj.

This commit is contained in:
2010-05-04 06:48:58 +02:00
parent 7417b9e98e
commit 62ab67ecc5
2 changed files with 14 additions and 14 deletions

View File

@@ -28,8 +28,9 @@ class File(Base):
note = Column(Text) note = Column(Text)
description = Column(Text) description = Column(Text)
children = relation('File', backref=backref('parent', children = relation('File',
remote_side="File.id")) backref=backref('parent', remote_side="File.id"),
order_by=[type, filename])
tags = relation("Tag", secondary=tags_files) tags = relation("Tag", secondary=tags_files)
thumbnail = relation("Thumbnail", backref="file") thumbnail = relation("Thumbnail", backref="file")
images = relation("Image", backref="file") images = relation("Image", backref="file")

View File

@@ -245,24 +245,23 @@ class MainModel(ModelMT):
Arguments: Arguments:
fileob - File object fileob - File object
""" """
files = self._session.query(File).filter(File.parent_id==fileob.id)\ LOG.info("found %d files for File object: %s" % (len(fileob.children),
.order_by(File.type, File.filename).all() str(fileob)))
files = []
LOG.info("found %d files for root id %s" %(len(files), str(fileob)))
self.files.clear() self.files.clear()
for fob in files: for child in fileob.children:
myiter = self.files.insert_before(None, None) myiter = self.files.insert_before(None, None)
self.files.set_value(myiter, 0, fob.id) self.files.set_value(myiter, 0, child.id)
self.files.set_value(myiter, 1, fob.parent_id if fob.parent_id!=1 else None) self.files.set_value(myiter, 1, child.parent_id \
self.files.set_value(myiter, 2, fob.filename) if child.parent_id!=1 else None)
self.files.set_value(myiter, 3, fob.filepath) self.files.set_value(myiter, 2, child.filename)
self.files.set_value(myiter, 4, fob.size) self.files.set_value(myiter, 3, child.filepath)
self.files.set_value(myiter, 5, fob.date) self.files.set_value(myiter, 4, child.size)
self.files.set_value(myiter, 5, child.date)
self.files.set_value(myiter, 6, 1) self.files.set_value(myiter, 6, 1)
self.files.set_value(myiter, 7, gtk.STOCK_DIRECTORY \ self.files.set_value(myiter, 7, gtk.STOCK_DIRECTORY \
if fob.type==1 else gtk.STOCK_FILE) if child.type==1 else gtk.STOCK_FILE)