Implement image rotation

This commit is contained in:
BasioMeusPuga
2019-03-16 00:06:53 -04:00
parent 38de0dcd13
commit 4cf0a9e78c
12 changed files with 9489 additions and 8710 deletions

View File

@@ -196,6 +196,8 @@ class PliantQGraphicsView(QtWidgets.QGraphicsView):
else:
return_pixmap = load_page(current_page)
# Final pixmap transformations may take place here
## Color inversion
if self.main_window.settings['invert_colors']:
qImg = return_pixmap.toImage()
qImg.invertPixels()
@@ -204,6 +206,12 @@ class PliantQGraphicsView(QtWidgets.QGraphicsView):
else:
logger.error('Color inversion failed: ' + current_page)
## Image rotation
if not self.parent.image_rotation == 0:
transformation = QtGui.QTransform()
transformation.rotate(self.parent.image_rotation)
return_pixmap = return_pixmap.transformed(transformation)
self.image_pixmap = return_pixmap
self.resizeEvent()
@@ -350,6 +358,14 @@ class PliantQGraphicsView(QtWidgets.QGraphicsView):
mangaModeAction.setCheckable(True)
mangaModeAction.setChecked(
self.main_window.bookToolBar.mangaModeButton.isChecked())
invertColorsAction = viewSubMenu.addAction(
self.main_window.QImageFactory.get_image('invert'),
self._translate('PliantQGraphicsView', 'Invert page colors'))
invertColorsAction.setCheckable(True)
invertColorsAction.setChecked(
self.main_window.bookToolBar.invertButton.isChecked())
viewSubMenu.addSeparator()
zoominAction = viewSubMenu.addAction(
@@ -386,6 +402,8 @@ class PliantQGraphicsView(QtWidgets.QGraphicsView):
self.main_window.bookToolBar.doublePageButton.trigger()
if action == mangaModeAction:
self.main_window.bookToolBar.mangaModeButton.trigger()
if action == invertColorsAction:
self.main_window.bookToolBar.invertButton.trigger()
if action == saveAction:
dialog_prompt = self._translate('Main_UI', 'Save page as...')