From eb7e513ab234e07986dd1580619981271d3e87ef Mon Sep 17 00:00:00 2001 From: Alarcon Ace Belen Date: Thu, 22 Dec 2022 22:18:46 +0800 Subject: [PATCH] Set first file as default selected index --- code/Explorers.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/code/Explorers.py b/code/Explorers.py index 1e8283d..ad5d290 100644 --- a/code/Explorers.py +++ b/code/Explorers.py @@ -46,15 +46,30 @@ def __init__(self, parent=None, tracker=None): def currentChanged(self, current, previous): if not current.isValid(): - current = self.model.index(0, 0, self.rootIndex()) + current = self.model.index(self.getTopIndex(), 0, self.rootIndex()) filename = self.model.fileInfo(current).absoluteFilePath() nextIndex = self.indexBelow(current) filenext = self.model.fileInfo(nextIndex).absoluteFilePath() self.parent.viewImageFromExplorer(filename, filenext) QTreeView.currentChanged(self, current, previous) + def getTopIndex(self): + r = self.model.rowCount(self.rootIndex()) // 2 + while True: + item = self.model.index(r, 0, self.rootIndex()) + if not item.isValid(): + break + if self.model.fileInfo(item).isFile(): + r //= 2 + elif not self.model.fileInfo(item).isFile(): + r += 1 + item = self.model.index(r, 0, self.rootIndex()) + if self.model.fileInfo(item).isFile(): + break + return r + def setTopIndex(self): - topIndex = self.model.index(0, 0, self.rootIndex()) + topIndex = self.model.index(self.getTopIndex(), 0, self.rootIndex()) if topIndex.isValid(): self.setCurrentIndex(topIndex) if self.layoutCheck: