Implement scroll speed slider
This commit is contained in:
@@ -182,7 +182,7 @@ Reopen book to see changes</string>
|
|||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Dictionary language:</string>
|
<string>Dictionary language</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||||
@@ -194,6 +194,42 @@ Reopen book to see changes</string>
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="scrollSpeedLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Scroll speed</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="scrollSpeedSlider">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>15</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
@@ -116,6 +116,28 @@ class Ui_Dialog(object):
|
|||||||
self.languageBox.setObjectName("languageBox")
|
self.languageBox.setObjectName("languageBox")
|
||||||
self.horizontalLayout_5.addWidget(self.languageBox)
|
self.horizontalLayout_5.addWidget(self.languageBox)
|
||||||
self.horizontalLayout_8.addLayout(self.horizontalLayout_5)
|
self.horizontalLayout_8.addLayout(self.horizontalLayout_5)
|
||||||
|
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||||
|
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||||
|
self.scrollSpeedLabel = QtWidgets.QLabel(self.groupBox_2)
|
||||||
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.scrollSpeedLabel.sizePolicy().hasHeightForWidth())
|
||||||
|
self.scrollSpeedLabel.setSizePolicy(sizePolicy)
|
||||||
|
self.scrollSpeedLabel.setObjectName("scrollSpeedLabel")
|
||||||
|
self.horizontalLayout.addWidget(self.scrollSpeedLabel)
|
||||||
|
self.scrollSpeedSlider = QtWidgets.QSlider(self.groupBox_2)
|
||||||
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.scrollSpeedSlider.sizePolicy().hasHeightForWidth())
|
||||||
|
self.scrollSpeedSlider.setSizePolicy(sizePolicy)
|
||||||
|
self.scrollSpeedSlider.setMinimum(3)
|
||||||
|
self.scrollSpeedSlider.setMaximum(15)
|
||||||
|
self.scrollSpeedSlider.setOrientation(QtCore.Qt.Horizontal)
|
||||||
|
self.scrollSpeedSlider.setObjectName("scrollSpeedSlider")
|
||||||
|
self.horizontalLayout.addWidget(self.scrollSpeedSlider)
|
||||||
|
self.horizontalLayout_8.addLayout(self.horizontalLayout)
|
||||||
self.verticalLayout_3.addLayout(self.horizontalLayout_8)
|
self.verticalLayout_3.addLayout(self.horizontalLayout_8)
|
||||||
self.gridLayout_3.addLayout(self.verticalLayout_3, 2, 0, 1, 1)
|
self.gridLayout_3.addLayout(self.verticalLayout_3, 2, 0, 1, 1)
|
||||||
self.verticalLayout.addWidget(self.groupBox_2)
|
self.verticalLayout.addWidget(self.groupBox_2)
|
||||||
@@ -187,7 +209,8 @@ class Ui_Dialog(object):
|
|||||||
self.hideScrollBars.setText(_translate("Dialog", "Hide scrollbars when reading"))
|
self.hideScrollBars.setText(_translate("Dialog", "Hide scrollbars when reading"))
|
||||||
self.cachingEnabled.setToolTip(_translate("Dialog", "Greatly reduces page transition time at the cost of more memory"))
|
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.cachingEnabled.setText(_translate("Dialog", "Cache comic / pdf pages"))
|
||||||
self.languageLabel.setText(_translate("Dialog", "Dictionary language:"))
|
self.languageLabel.setText(_translate("Dialog", "Dictionary language"))
|
||||||
|
self.scrollSpeedLabel.setText(_translate("Dialog", "Scroll speed"))
|
||||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.textTab), _translate("Dialog", "Text"))
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.textTab), _translate("Dialog", "Text"))
|
||||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.imageTab), _translate("Dialog", "Comic/PDF"))
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.imageTab), _translate("Dialog", "Comic/PDF"))
|
||||||
self.okButton.setText(_translate("Dialog", "Scan Library"))
|
self.okButton.setText(_translate("Dialog", "Scan Library"))
|
||||||
|
@@ -104,6 +104,7 @@ class Settings:
|
|||||||
'cachingEnabled', 'True').capitalize())
|
'cachingEnabled', 'True').capitalize())
|
||||||
self.parent.settings['hide_scrollbars'] = literal_eval(self.settings.value(
|
self.parent.settings['hide_scrollbars'] = literal_eval(self.settings.value(
|
||||||
'hideScrollBars', 'False').capitalize())
|
'hideScrollBars', 'False').capitalize())
|
||||||
|
self.parent.settings['scroll_speed'] = int(self.settings.value('scrollSpeed', 7))
|
||||||
self.settings.endGroup()
|
self.settings.endGroup()
|
||||||
|
|
||||||
self.settings.beginGroup('dialogSettings')
|
self.settings.beginGroup('dialogSettings')
|
||||||
@@ -174,6 +175,7 @@ class Settings:
|
|||||||
self.settings.setValue('dictionaryLanguage', current_settings['dictionary_language'])
|
self.settings.setValue('dictionaryLanguage', current_settings['dictionary_language'])
|
||||||
self.settings.setValue('cachingEnabled', current_settings['caching_enabled'])
|
self.settings.setValue('cachingEnabled', current_settings['caching_enabled'])
|
||||||
self.settings.setValue('hideScrollBars', current_settings['hide_scrollbars'])
|
self.settings.setValue('hideScrollBars', current_settings['hide_scrollbars'])
|
||||||
|
self.settings.setValue('scrollSpeed', current_settings['scroll_speed'])
|
||||||
self.settings.endGroup()
|
self.settings.endGroup()
|
||||||
|
|
||||||
self.settings.beginGroup('dialogSettings')
|
self.settings.beginGroup('dialogSettings')
|
||||||
|
@@ -35,6 +35,7 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
|
|||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super(SettingsUI, self).__init__()
|
super(SettingsUI, self).__init__()
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
|
self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
|
||||||
self._translate = QtCore.QCoreApplication.translate
|
self._translate = QtCore.QCoreApplication.translate
|
||||||
|
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
@@ -90,6 +91,7 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
|
|||||||
self.performCulling.setChecked(self.parent.settings['perform_culling'])
|
self.performCulling.setChecked(self.parent.settings['perform_culling'])
|
||||||
self.cachingEnabled.setChecked(self.parent.settings['caching_enabled'])
|
self.cachingEnabled.setChecked(self.parent.settings['caching_enabled'])
|
||||||
self.hideScrollBars.setChecked(self.parent.settings['hide_scrollbars'])
|
self.hideScrollBars.setChecked(self.parent.settings['hide_scrollbars'])
|
||||||
|
self.scrollSpeedSlider.setValue(self.parent.settings['scroll_speed'])
|
||||||
|
|
||||||
self.autoTags.clicked.connect(self.manage_checkboxes)
|
self.autoTags.clicked.connect(self.manage_checkboxes)
|
||||||
self.coverShadows.clicked.connect(self.manage_checkboxes)
|
self.coverShadows.clicked.connect(self.manage_checkboxes)
|
||||||
@@ -98,6 +100,7 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
|
|||||||
self.performCulling.clicked.connect(self.manage_checkboxes)
|
self.performCulling.clicked.connect(self.manage_checkboxes)
|
||||||
self.cachingEnabled.clicked.connect(self.manage_checkboxes)
|
self.cachingEnabled.clicked.connect(self.manage_checkboxes)
|
||||||
self.hideScrollBars.clicked.connect(self.manage_checkboxes)
|
self.hideScrollBars.clicked.connect(self.manage_checkboxes)
|
||||||
|
self.scrollSpeedSlider.valueChanged.connect(self.change_scroll_speed)
|
||||||
|
|
||||||
# Generate the QStandardItemModel for the listView
|
# Generate the QStandardItemModel for the listView
|
||||||
self.listModel = QtGui.QStandardItemModel()
|
self.listModel = QtGui.QStandardItemModel()
|
||||||
@@ -131,7 +134,7 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
|
|||||||
self.parent.generate_library_filter_menu(paths)
|
self.parent.generate_library_filter_menu(paths)
|
||||||
directory_data = {}
|
directory_data = {}
|
||||||
if not paths:
|
if not paths:
|
||||||
print('Database returned no paths for settings...')
|
print('Database: No paths for settings...')
|
||||||
else:
|
else:
|
||||||
# Convert to the dictionary format that is
|
# Convert to the dictionary format that is
|
||||||
# to be fed into the QFileSystemModel
|
# to be fed into the QFileSystemModel
|
||||||
@@ -297,6 +300,9 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
|
|||||||
2: 'hi'}
|
2: 'hi'}
|
||||||
self.parent.settings['dictionary_language'] = language_dict[self.languageBox.currentIndex()]
|
self.parent.settings['dictionary_language'] = language_dict[self.languageBox.currentIndex()]
|
||||||
|
|
||||||
|
def change_scroll_speed(self, event):
|
||||||
|
self.parent.settings['scroll_speed'] = self.scrollSpeedSlider.value()
|
||||||
|
|
||||||
def manage_checkboxes(self, event=None):
|
def manage_checkboxes(self, event=None):
|
||||||
sender = self.sender().objectName()
|
sender = self.sender().objectName()
|
||||||
|
|
||||||
|
@@ -114,7 +114,8 @@ class Tab(QtWidgets.QWidget):
|
|||||||
# the graphics view
|
# the graphics view
|
||||||
self.contentView.setFrameShape(QtWidgets.QFrame.NoFrame)
|
self.contentView.setFrameShape(QtWidgets.QFrame.NoFrame)
|
||||||
self.contentView.setObjectName('contentView')
|
self.contentView.setObjectName('contentView')
|
||||||
self.contentView.verticalScrollBar().setSingleStep(7)
|
self.contentView.verticalScrollBar().setSingleStep(
|
||||||
|
self.main_window.settings['scroll_speed'])
|
||||||
|
|
||||||
if self.main_window.settings['hide_scrollbars']:
|
if self.main_window.settings['hide_scrollbars']:
|
||||||
self.contentView.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
|
self.contentView.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
|
||||||
@@ -193,10 +194,13 @@ class Tab(QtWidgets.QWidget):
|
|||||||
search_text = search_data[1]
|
search_text = search_data[1]
|
||||||
|
|
||||||
if search_text:
|
if search_text:
|
||||||
|
# textCursor() RETURNS a copy of the textcursor
|
||||||
cursor = self.contentView.textCursor()
|
cursor = self.contentView.textCursor()
|
||||||
cursor.movePosition(QtGui.QTextCursor.Start, QtGui.QTextCursor.KeepAnchor)
|
cursor.movePosition(QtGui.QTextCursor.Start, QtGui.QTextCursor.KeepAnchor)
|
||||||
self.contentView.setTextCursor(cursor)
|
self.contentView.setTextCursor(cursor)
|
||||||
|
|
||||||
|
# This is needed so that search results are always at the top
|
||||||
|
# of the window
|
||||||
self.contentView.verticalScrollBar().setValue(
|
self.contentView.verticalScrollBar().setValue(
|
||||||
self.contentView.verticalScrollBar().maximum())
|
self.contentView.verticalScrollBar().maximum())
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user