From 5b8bc1d7075ed6900441fd03bce87ab6810a5577 Mon Sep 17 00:00:00 2001
From: BasioMeusPuga
Date: Thu, 17 Jan 2019 22:42:11 +0530
Subject: [PATCH] Comic page increment setting
---
lector/contentwidgets.py | 4 +--
lector/resources/raw/settings.ui | 58 +++++++++++++++++++++++++++++-
lector/resources/settingswindow.py | 31 ++++++++++++++--
lector/settings.py | 4 +++
lector/settingsdialog.py | 8 +++++
5 files changed, 100 insertions(+), 5 deletions(-)
diff --git a/lector/contentwidgets.py b/lector/contentwidgets.py
index 8a88d03..0ae45ad 100644
--- a/lector/contentwidgets.py
+++ b/lector/contentwidgets.py
@@ -245,8 +245,8 @@ class PliantQGraphicsView(QtWidgets.QGraphicsView):
next_val = 0
self.verticalScrollBar().setValue(next_val)
- small_increment = maximum // 4
- big_increment = maximum // 2
+ small_increment = maximum //self.main_window.settings['small_increment']
+ big_increment = maximum // self.main_window.settings['large_increment']
# Scrolling
if event.key() == QtCore.Qt.Key_Up:
diff --git a/lector/resources/raw/settings.ui b/lector/resources/raw/settings.ui
index 91fb4bf..d4b85d8 100644
--- a/lector/resources/raw/settings.ui
+++ b/lector/resources/raw/settings.ui
@@ -6,7 +6,7 @@
0
0
- 1119
+ 1139
612
@@ -222,6 +222,62 @@ Reopen book to see changes
+ -
+
+
-
+
+
+ <html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html>
+
+
+ Small increment
+
+
+
+ -
+
+
+ <html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html>
+
+
+ 4
+
+
+ 10
+
+
+ 4
+
+
+
+ -
+
+
+ <html><head/><body><p>SPACEBAR - Steps to take before turning comicbook page</p></body></html>
+
+
+ Large increment
+
+
+
+ -
+
+
+ <html><head/><body><p>SPACEBAR - Steps to take before turning comicbook page</p></body></html>
+
+
+ 1
+
+
+ 10
+
+
+ 2
+
+
+
+
+
-
diff --git a/lector/resources/settingswindow.py b/lector/resources/settingswindow.py
index a488e0e..151a2bb 100644
--- a/lector/resources/settingswindow.py
+++ b/lector/resources/settingswindow.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'raw/settings.ui'
#
-# Created by: PyQt5 UI code generator 5.10.1
+# Created by: PyQt5 UI code generator 5.11.3
#
# WARNING! All changes made in this file will be lost!
@@ -11,7 +11,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
- Dialog.resize(1119, 612)
+ Dialog.resize(1139, 612)
self.gridLayout = QtWidgets.QGridLayout(Dialog)
self.gridLayout.setObjectName("gridLayout")
self.listView = QtWidgets.QListView(Dialog)
@@ -128,6 +128,27 @@ class Ui_Dialog(object):
self.tocWithBookmarks = QtWidgets.QCheckBox(self.groupBox_2)
self.tocWithBookmarks.setObjectName("tocWithBookmarks")
self.horizontalLayout_12.addWidget(self.tocWithBookmarks)
+ self.horizontalLayout_15 = QtWidgets.QHBoxLayout()
+ self.horizontalLayout_15.setObjectName("horizontalLayout_15")
+ self.smallIncrementLabel = QtWidgets.QLabel(self.groupBox_2)
+ self.smallIncrementLabel.setObjectName("smallIncrementLabel")
+ self.horizontalLayout_15.addWidget(self.smallIncrementLabel)
+ self.smallIncrementBox = QtWidgets.QSpinBox(self.groupBox_2)
+ self.smallIncrementBox.setMinimum(4)
+ self.smallIncrementBox.setMaximum(10)
+ self.smallIncrementBox.setProperty("value", 4)
+ self.smallIncrementBox.setObjectName("smallIncrementBox")
+ self.horizontalLayout_15.addWidget(self.smallIncrementBox)
+ self.largeIncrementLabel = QtWidgets.QLabel(self.groupBox_2)
+ self.largeIncrementLabel.setObjectName("largeIncrementLabel")
+ self.horizontalLayout_15.addWidget(self.largeIncrementLabel)
+ self.largeIncrementBox = QtWidgets.QSpinBox(self.groupBox_2)
+ self.largeIncrementBox.setMinimum(1)
+ self.largeIncrementBox.setMaximum(10)
+ self.largeIncrementBox.setProperty("value", 2)
+ self.largeIncrementBox.setObjectName("largeIncrementBox")
+ self.horizontalLayout_15.addWidget(self.largeIncrementBox)
+ self.horizontalLayout_12.addLayout(self.horizontalLayout_15)
self.verticalLayout_3.addLayout(self.horizontalLayout_12)
self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
self.horizontalLayout_8.setObjectName("horizontalLayout_8")
@@ -331,6 +352,12 @@ class Ui_Dialog(object):
self.cachingEnabled.setToolTip(_translate("Dialog", "Greatly reduces page transition time at the cost of more memory"))
self.cachingEnabled.setText(_translate("Dialog", "Cache comic / pdf pages"))
self.tocWithBookmarks.setText(_translate("Dialog", "Show TOC with Bookmarks"))
+ self.smallIncrementLabel.setToolTip(_translate("Dialog", "
UP/DOWN ARROW - Steps to take before turning comicbook page
"))
+ self.smallIncrementLabel.setText(_translate("Dialog", "Small increment"))
+ self.smallIncrementBox.setToolTip(_translate("Dialog", "
UP/DOWN ARROW - Steps to take before turning comicbook page
"))
+ self.largeIncrementLabel.setToolTip(_translate("Dialog", "SPACEBAR - Steps to take before turning comicbook page
"))
+ self.largeIncrementLabel.setText(_translate("Dialog", "Large increment"))
+ self.largeIncrementBox.setToolTip(_translate("Dialog", "SPACEBAR - Steps to take before turning comicbook page
"))
self.languageLabel.setText(_translate("Dialog", "Dictionary language"))
self.scrollSpeedLabel.setText(_translate("Dialog", "Scroll speed"))
self.newAnnotation.setToolTip(_translate("Dialog", "New"))
diff --git a/lector/settings.py b/lector/settings.py
index 6d6fd1c..3529bc7 100644
--- a/lector/settings.py
+++ b/lector/settings.py
@@ -123,6 +123,8 @@ class Settings:
'tocWithBookmarks', 'False').capitalize())
self.parent.settings['scroll_speed'] = int(self.settings.value('scrollSpeed', 7))
self.parent.settings['consider_read_at'] = int(self.settings.value('considerReadAt', 95))
+ self.parent.settings['small_increment'] = int(self.settings.value('smallIncrement', 4))
+ self.parent.settings['large_increment'] = int(self.settings.value('largeIncrement', 2))
self.parent.settings['attenuate_titles'] = literal_eval(self.settings.value(
'attenuateTitles', 'False').capitalize())
self.parent.settings['double_page_mode'] = literal_eval(self.settings.value(
@@ -212,6 +214,8 @@ class Settings:
self.settings.setValue('considerReadAt', current_settings['consider_read_at'])
self.settings.setValue('mangaMode', str(current_settings['manga_mode']))
self.settings.setValue('doublePageMode', str(current_settings['double_page_mode']))
+ self.settings.setValue('smallIncrement', current_settings['small_increment'])
+ self.settings.setValue('largeIncrement', current_settings['large_increment'])
self.settings.endGroup()
self.settings.beginGroup('dialogSettings')
diff --git a/lector/settingsdialog.py b/lector/settingsdialog.py
index fd691af..335d6f9 100644
--- a/lector/settingsdialog.py
+++ b/lector/settingsdialog.py
@@ -99,6 +99,8 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
self.tocWithBookmarks.setChecked(self.main_window.settings['toc_with_bookmarks'])
self.scrollSpeedSlider.setValue(self.main_window.settings['scroll_speed'])
self.readAtPercent.setValue(self.main_window.settings['consider_read_at'])
+ self.smallIncrementBox.setValue(self.main_window.settings['small_increment'])
+ self.largeIncrementBox.setValue(self.main_window.settings['large_increment'])
self.autoTags.clicked.connect(self.manage_checkboxes)
self.coverShadows.clicked.connect(self.manage_checkboxes)
@@ -111,6 +113,8 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
self.tocWithBookmarks.clicked.connect(self.manage_checkboxes)
self.scrollSpeedSlider.valueChanged.connect(self.change_scroll_speed)
self.readAtPercent.valueChanged.connect(self.change_read_at)
+ self.smallIncrementBox.valueChanged.connect(self.change_increment)
+ self.largeIncrementBox.valueChanged.connect(self.change_increment)
# Generate the QStandardItemModel for the listView
self.listModel = QtGui.QStandardItemModel()
@@ -365,6 +369,10 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
def change_read_at(self, event=None):
self.main_window.settings['consider_read_at'] = self.readAtPercent.value()
+ def change_increment(self, event=None):
+ self.main_window.settings['small_increment'] = self.smallIncrementBox.value()
+ self.main_window.settings['large_increment'] = self.largeIncrementBox.value()
+
def manage_checkboxes(self, event=None):
sender = self.sender().objectName()