From ef086f1468b782e0e4178c3fbdcd3d2b7e58ae93 Mon Sep 17 00:00:00 2001 From: Rebecca Breu Date: Fri, 26 Mar 2021 20:22:33 +0100 Subject: [PATCH] Fix small load/save issues --- beeref/fileio/__init__.py | 1 + beeref/fileio/sql.py | 3 ++- beeref/view.py | 1 + tests/fileio/test_sql.py | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) 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