Fix small load/save issues

This commit is contained in:
Rebecca Breu 2021-03-26 20:22:33 +01:00
parent 063102ae50
commit ef086f1468
4 changed files with 5 additions and 1 deletions

View file

@ -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!')

View file

@ -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])

View file

@ -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(

View file

@ -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