mirror of
https://github.com/wassname/sloth.git
synced 2026-08-08 11:27:16 +08:00
Add control buttons for going forward and backward
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import sys, os
|
||||
from PyQt4.QtGui import *
|
||||
from PyQt4.QtCore import *
|
||||
|
||||
class ControlButtonWidget(QWidget):
|
||||
def __init__(self, parent=None):
|
||||
QWidget.__init__(self, parent)
|
||||
layout = QHBoxLayout()
|
||||
layout.setSpacing(0)
|
||||
layout.setAlignment(Qt.AlignTop)
|
||||
self.back_button = QPushButton("<")
|
||||
self.forward_button = QPushButton(">")
|
||||
self.label_ = QLabel("<center><b></b></center>")
|
||||
layout.addWidget(self.back_button)
|
||||
layout.addWidget(self.label_)
|
||||
layout.addWidget(self.forward_button)
|
||||
self.setLayout(layout)
|
||||
|
||||
def setFrameNumAndTimestamp(self, num, timestamp):
|
||||
self.label_.setText("<center><b>%d / %f</b></center>" % (num, timestamp))
|
||||
|
||||
def setFilename(self, filename):
|
||||
self.label_.setText("<center><b>%s</b></center>" % (filename, ))
|
||||
+16
-1
@@ -11,6 +11,7 @@ from sloth.annotations.model import *
|
||||
from sloth.annotations.container import AnnotationContainerFactory, AnnotationContainer
|
||||
from sloth.gui.annotationscene import *
|
||||
from sloth.gui.frameviewer import *
|
||||
from sloth.gui.controlbuttons import *
|
||||
from sloth.conf import config
|
||||
from sloth import APP_NAME, ORGANIZATION_NAME, ORGANIZATION_DOMAIN, VERSION
|
||||
|
||||
@@ -83,7 +84,16 @@ class MainWindow(QMainWindow):
|
||||
self.view = GraphicsView(self)
|
||||
self.view.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.MinimumExpanding)
|
||||
self.view.setScene(self.scene)
|
||||
self.setCentralWidget(self.view)
|
||||
self.central_widget = QWidget()
|
||||
self.central_layout = QVBoxLayout()
|
||||
self.controls = ControlButtonWidget()
|
||||
self.controls.back_button.clicked.connect(self.gotoPrevious)
|
||||
self.controls.forward_button.clicked.connect(self.gotoNext)
|
||||
|
||||
self.central_layout.addWidget(self.controls)
|
||||
self.central_layout.addWidget(self.view)
|
||||
self.central_widget.setLayout(self.central_layout)
|
||||
self.setCentralWidget(self.central_widget)
|
||||
|
||||
self.buttonarea = ButtonArea(config.LABELS, config.HOTKEYS)
|
||||
self.ui.dockAnnotationButtons.setWidget(self.buttonarea)
|
||||
@@ -283,6 +293,11 @@ class MainWindow(QMainWindow):
|
||||
if newindex.isValid() and newindex != self.current_index_:
|
||||
self.current_index_ = newindex
|
||||
self.scene.setRoot(self.current_index_)
|
||||
item = index.model().itemFromIndex(self.current_index_)
|
||||
if isinstance(item, FrameModelItem):
|
||||
self.controls.setFrameNumAndTimestamp(item.framenum(), item.timestamp())
|
||||
elif isinstance(item, ImageFileModelItem):
|
||||
self.controls.setFilename(item.filename())
|
||||
if index != self.treeview.currentIndex():
|
||||
self.treeview.setCurrentIndex(self.current_index_)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user