Skip to content

Commit db07887

Browse files
committed
qtvcp -file manager: fix sorting for 'size' and 'last modified' columns
1 parent 4b57926 commit db07887

1 file changed

Lines changed: 24 additions & 7 deletions

File tree

lib/python/qtvcp/widgets/file_manager.py

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,13 +119,30 @@ def set_restricted(self, state: bool):
119119
self.invalidateFilter()
120120

121121
def lessThan(self, left, right):
122-
left_data = self.sourceModel().fileInfo(left)
123-
right_data = self.sourceModel().fileInfo(right)
124-
if left_data.isDir() and not right_data.isDir():
125-
return True
126-
if not left_data.isDir() and right_data.isDir():
127-
return False
128-
return left_data.fileName().lower() < right_data.fileName().lower()
122+
# name
123+
if left.column() == 0:
124+
left_data = self.sourceModel().fileInfo(left)
125+
right_data = self.sourceModel().fileInfo(right)
126+
if left_data.isDir() and not right_data.isDir():
127+
return True
128+
if not left_data.isDir() and right_data.isDir():
129+
return False
130+
return left_data.fileName().lower() < right_data.fileName().lower()
131+
132+
# size
133+
if left.column() == 1:
134+
left_data = self.sourceModel().size(left)
135+
right_data = self.sourceModel().size(right)
136+
return left_data < right_data
137+
138+
# last modified
139+
if left.column() == 3:
140+
left_data = self.sourceModel().fileInfo(left)
141+
right_data = self.sourceModel().fileInfo(right)
142+
return left_data.lastModified() < right_data.lastModified()
143+
144+
# default
145+
return False
129146

130147
class FileManager(QWidget, _HalWidgetBase):
131148
def __init__(self, parent=None):

0 commit comments

Comments
 (0)