mirror of
https://github.com/wassname/sloth.git
synced 2026-06-28 20:24:31 +08:00
add support to goto image by index
This commit is contained in:
@@ -46,6 +46,9 @@ class ModelItem:
|
||||
def childHasChildren(self, row):
|
||||
return self.childAt(row).hasChildren()
|
||||
|
||||
def row(self):
|
||||
return self._row
|
||||
|
||||
def rowCount(self):
|
||||
return len(self._children)
|
||||
|
||||
@@ -91,15 +94,15 @@ class ModelItem:
|
||||
return self._children[pos]
|
||||
|
||||
def getPreviousSibling(self):
|
||||
if self._parent is not None:
|
||||
if self._row > 0:
|
||||
return self._parent.childAt(self._row-1)
|
||||
return None
|
||||
return self.getSibling(self._row-1)
|
||||
|
||||
def getNextSibling(self):
|
||||
return self.getSibling(self._row+1)
|
||||
|
||||
def getSibling(self, row):
|
||||
if self._parent is not None:
|
||||
try:
|
||||
return self._parent.childAt(self._row+1)
|
||||
return self._parent.childAt(row)
|
||||
except:
|
||||
pass
|
||||
return None
|
||||
|
||||
@@ -281,6 +281,18 @@ class LabelTool(QObject):
|
||||
def model(self):
|
||||
return self._model
|
||||
|
||||
def gotoIndex(self, idx):
|
||||
if self._model is None:
|
||||
return
|
||||
|
||||
current = self._current_image
|
||||
if current is None:
|
||||
current = self._model.iterator(ImageModelItem).next()
|
||||
|
||||
next_image = current.getSibling(idx)
|
||||
if next_image is not None:
|
||||
self.setCurrentImage(next_image)
|
||||
|
||||
def gotoNext(self, step=1):
|
||||
if self._model is not None:
|
||||
if self._current_image is not None:
|
||||
|
||||
Reference in New Issue
Block a user