diff --git a/beeref/fileio/__init__.py b/beeref/fileio/__init__.py index abdb9fa..6933707 100644 --- a/beeref/fileio/__init__.py +++ b/beeref/fileio/__init__.py @@ -30,6 +30,7 @@ def load(filename, scene): def save(filename, scene, create_new=False): logger.info(f'Saving to file {filename}...') + logger.debug(f'Create new: {create_new}') io = SQLiteIO(filename, scene, create_new) io.write() logger.debug('Saved!') diff --git a/beeref/fileio/sql.py b/beeref/fileio/sql.py index 31cdcae..65e7ecc 100644 --- a/beeref/fileio/sql.py +++ b/beeref/fileio/sql.py @@ -94,11 +94,12 @@ class SQLiteIO: def read(self): rows = self.fetchall( - 'SELECT pos_x, pos_y, scale, filename, imgdata.data ' + 'SELECT pos_x, pos_y, scale, filename, imgdata.data, items.id ' 'FROM items ' 'INNER JOIN imgdata on imgdata.item_id = items.id') for row in rows: item = BeePixmapItem(QtGui.QImage(), filename=row[3]) + item.save_id = row[5] item.pixmap_from_bytes(row[4]) item.setPos(row[0], row[1]) item.setScale(row[2]) diff --git a/beeref/view.py b/beeref/view.py index e0283a4..20cfad4 100644 --- a/beeref/view.py +++ b/beeref/view.py @@ -259,6 +259,7 @@ class BeeGraphicsView(QtWidgets.QGraphicsView): filter='BeeRef File (*.bee)') if filename: self.open_from_file(filename) + self.filename = filename def on_action_save_as(self): filename, f = QtWidgets.QFileDialog.getSaveFileName( diff --git a/tests/fileio/test_sql.py b/tests/fileio/test_sql.py index ed915e5..948ec75 100644 --- a/tests/fileio/test_sql.py +++ b/tests/fileio/test_sql.py @@ -148,6 +148,7 @@ class SQLiteIOLOadTestCase(BeeTestCase): self.io.read() assert len(self.scene.items()) == 1 item = self.scene.items()[0] + assert item.save_id == 1 assert item.pos().x() == 22.2 assert item.pos().y() == 33.3 assert item.scale_factor == 3.4