Remove unneeded attribute scale_factor

This commit is contained in:
Rebecca Breu 2021-03-28 22:45:16 +02:00
parent c591c3f730
commit eea5adb416
7 changed files with 32 additions and 33 deletions

View file

@ -91,11 +91,11 @@ class ScaleItemsBy(QtGui.QUndoCommand):
self.ignore_first_redo = False
return
for item in self.items:
item.setScale(item.scale_factor + self.factor)
item.setScale(item.scale() + self.factor)
def undo(self):
for item in self.items:
item.setScale(item.scale_factor - self.factor)
item.setScale(item.scale() - self.factor)
class NormalizeItems(QtGui.QUndoCommand):
@ -108,7 +108,7 @@ class NormalizeItems(QtGui.QUndoCommand):
def redo(self):
self.old_scale_factors = []
for item, factor in zip(self.items, self.scale_factors):
self.old_scale_factors.append(item.scale_factor)
self.old_scale_factors.append(item.scale())
item.setScale(factor)
def undo(self):

View file

@ -186,7 +186,7 @@ class SQLiteIO:
self.ex(
'INSERT INTO items (type, pos_x, pos_y, scale, filename) '
'VALUES (?, ?, ?, ?, ?) ',
('pixmap', item.pos().x(), item.pos().y(), item.scale_factor,
('pixmap', item.pos().x(), item.pos().y(), item.scale(),
item.filename))
item.save_id = self.cursor.lastrowid
pixmap = item.pixmap_to_bytes()
@ -212,6 +212,6 @@ class SQLiteIO:
self.ex(
'UPDATE items SET pos_x=?, pos_y=?, scale=?, filename=? '
'WHERE id=?',
(item.pos().x(), item.pos().y(), item.scale_factor,
(item.pos().x(), item.pos().y(), item.scale(),
item.filename, item.save_id))
self.connection.commit()

View file

@ -34,7 +34,6 @@ class BeePixmapItem(QtWidgets.QGraphicsPixmapItem):
super().__init__(QtGui.QPixmap.fromImage(image))
self.save_id = None
self.filename = filename
self.scale_factor = 1
logger.debug(f'Initialized {self}')
self.setFlags(
@ -48,15 +47,15 @@ class BeePixmapItem(QtWidgets.QGraphicsPixmapItem):
def setScale(self, factor):
if factor <= 0:
return
self.scale_factor = factor
logger.debug(f'Setting scale for image "{self.filename}" to {factor}')
super().setScale(factor)
def set_pos_center(self, x, y):
"""Sets the position using the item's center as the origin point."""
self.setPos(x - self.width * self.scale_factor / 2,
y - self.height * self.scale_factor / 2)
self.setPos(x - self.width * self.scale() / 2,
y - self.height * self.scale() / 2)
@property
def width(self):

View file

@ -59,7 +59,7 @@ class SelectionItem(QtWidgets.QGraphicsItem):
factor of the view."""
scale = self.parentItem().scene().views()[0].get_scale()
return value / scale / self.parentItem().scale_factor
return value / scale / self.parentItem().scale()
def boundingRect(self):
bounds = self.parentItem().boundingRect()

View file

@ -211,7 +211,7 @@ class SQLiteIOReadTestCase(BeeTestCase):
assert item.save_id == 1
assert item.pos().x() == 22.2
assert item.pos().y() == 33.3
assert item.scale_factor == 3.4
assert item.scale() == 3.4
assert item.filename == 'bee.png'
assert item.width == 3
assert item.height == 3

View file

@ -95,42 +95,42 @@ class ScaleItemsByTestCase(BeeTestCase):
def test_redo_undo(self):
item1 = BeePixmapItem(QtGui.QImage())
item1.scale_factor = 1
item1.setScale(1)
item2 = BeePixmapItem(QtGui.QImage())
item2.scale_factor = 3
item2.setScale(3)
command = commands.ScaleItemsBy([item1, item2], 2)
command.redo()
assert item1.scale_factor == 3
assert item2.scale_factor == 5
assert item1.scale() == 3
assert item2.scale() == 5
command.undo()
assert item1.scale_factor == 1
assert item2.scale_factor == 3
assert item1.scale() == 1
assert item2.scale() == 3
def test_ignore_first_redo(self):
item1 = BeePixmapItem(QtGui.QImage())
item1.scale_factor = 1
item1.setScale(1)
item2 = BeePixmapItem(QtGui.QImage())
item2.scale_factor = 3
item2.setScale(3)
command = commands.ScaleItemsBy([item1, item2], 2, True)
command.redo()
assert item1.scale_factor == 1
assert item2.scale_factor == 3
assert item1.scale() == 1
assert item2.scale() == 3
command.redo()
assert item1.scale_factor == 3
assert item2.scale_factor == 5
assert item1.scale() == 3
assert item2.scale() == 5
class NormalizeItemsTestCase(BeeTestCase):
def test_redo_undo(self):
item1 = BeePixmapItem(QtGui.QImage())
item1.scale_factor = 1
item1.setScale(1)
item2 = BeePixmapItem(QtGui.QImage())
item2.scale_factor = 3
item2.setScale(3)
command = commands.NormalizeItems([item1, item2], [2, 0.5])
command.redo()
assert item1.scale_factor == 2
assert item2.scale_factor == 0.5
assert item1.scale() == 2
assert item2.scale() == 0.5
command.undo()
assert item1.scale_factor == 1
assert item2.scale_factor == 3
assert item1.scale() == 1
assert item2.scale() == 3

View file

@ -14,7 +14,7 @@ class BeePixmapItemTestCase(BeeTestCase):
assert item.save_id is None
assert item.width == 3
assert item.height == 3
assert item.scale_factor == 1
assert item.scale() == 1
assert item.flags() == (
QtWidgets.QGraphicsItem.GraphicsItemFlags.ItemIsMovable
| QtWidgets.QGraphicsItem.GraphicsItemFlags.ItemIsSelectable)
@ -23,17 +23,17 @@ class BeePixmapItemTestCase(BeeTestCase):
def test_set_scale(self):
item = BeePixmapItem(QtGui.QImage())
item.setScale(3)
assert item.scale_factor == 3
assert item.scale() == 3
def test_set_scale_ignores_zero(self):
item = BeePixmapItem(QtGui.QImage())
item.setScale(0)
assert item.scale_factor == 1
assert item.scale() == 1
def test_set_scale_ignores_negative(self):
item = BeePixmapItem(QtGui.QImage())
item.setScale(-0.1)
assert item.scale_factor == 1
assert item.scale() == 1
def test_set_pos_center(self):
item = BeePixmapItem(QtGui.QImage())