mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-06-03 11:21:52 +02:00
[ui] CsvData: use signal/slot connection
This commit is contained in:
parent
b43d59f347
commit
b9cdd35241
1 changed files with 7 additions and 4 deletions
|
@ -14,6 +14,7 @@ class CsvData(QObject):
|
||||||
self._filepath = ""
|
self._filepath = ""
|
||||||
self._data = QObjectListModel(parent=self) # List of CsvColumn
|
self._data = QObjectListModel(parent=self) # List of CsvColumn
|
||||||
self._ready = False
|
self._ready = False
|
||||||
|
self.filepathChanged.connect(self.updateData)
|
||||||
|
|
||||||
@Slot(int, result=QObject)
|
@Slot(int, result=QObject)
|
||||||
def getColumn(self, index):
|
def getColumn(self, index):
|
||||||
|
@ -25,8 +26,8 @@ class CsvData(QObject):
|
||||||
def setFilepath(self, filepath):
|
def setFilepath(self, filepath):
|
||||||
if self._filepath == filepath:
|
if self._filepath == filepath:
|
||||||
return
|
return
|
||||||
|
self.setReady(False)
|
||||||
self._filepath = filepath
|
self._filepath = filepath
|
||||||
self.updateData()
|
|
||||||
self.filepathChanged.emit()
|
self.filepathChanged.emit()
|
||||||
|
|
||||||
def setReady(self, ready):
|
def setReady(self, ready):
|
||||||
|
@ -37,9 +38,11 @@ class CsvData(QObject):
|
||||||
|
|
||||||
def updateData(self):
|
def updateData(self):
|
||||||
self.setReady(False)
|
self.setReady(False)
|
||||||
self._data.setObjectList(self.read())
|
self._data.clear()
|
||||||
if not self._data.isEmpty():
|
newColumns = self.read()
|
||||||
self.setReady(True)
|
if newColumns:
|
||||||
|
self._data.setObjectList(newColumns)
|
||||||
|
self.setReady(True)
|
||||||
|
|
||||||
def read(self):
|
def read(self):
|
||||||
"""Read the CSV file and return a list containing CsvColumn objects."""
|
"""Read the CSV file and return a list containing CsvColumn objects."""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue