This commit is contained in:
BasioMeusPuga
2019-01-29 07:32:52 +05:30
parent 470fc1078f
commit d1b1d7c59c
5 changed files with 19 additions and 60 deletions

View File

@@ -215,13 +215,6 @@ Reopen book to see changes</string>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_12"> <layout class="QHBoxLayout" name="horizontalLayout_12">
<item>
<widget class="QCheckBox" name="tocWithBookmarks">
<property name="text">
<string>Show TOC with Bookmarks</string>
</property>
</widget>
</item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_15"> <layout class="QHBoxLayout" name="horizontalLayout_15">
<item> <item>

View File

@@ -125,9 +125,6 @@ class Ui_Dialog(object):
self.verticalLayout_3.addLayout(self.horizontalLayout_6) self.verticalLayout_3.addLayout(self.horizontalLayout_6)
self.horizontalLayout_12 = QtWidgets.QHBoxLayout() self.horizontalLayout_12 = QtWidgets.QHBoxLayout()
self.horizontalLayout_12.setObjectName("horizontalLayout_12") self.horizontalLayout_12.setObjectName("horizontalLayout_12")
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 = QtWidgets.QHBoxLayout()
self.horizontalLayout_15.setObjectName("horizontalLayout_15") self.horizontalLayout_15.setObjectName("horizontalLayout_15")
self.smallIncrementLabel = QtWidgets.QLabel(self.groupBox_2) self.smallIncrementLabel = QtWidgets.QLabel(self.groupBox_2)
@@ -351,7 +348,6 @@ 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.tocWithBookmarks.setText(_translate("Dialog", "Show TOC with Bookmarks"))
self.smallIncrementLabel.setToolTip(_translate("Dialog", "<html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html>")) self.smallIncrementLabel.setToolTip(_translate("Dialog", "<html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html>"))
self.smallIncrementLabel.setText(_translate("Dialog", "Small increment")) self.smallIncrementLabel.setText(_translate("Dialog", "Small increment"))
self.smallIncrementBox.setToolTip(_translate("Dialog", "<html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html>")) self.smallIncrementBox.setToolTip(_translate("Dialog", "<html><head/><body><p>UP/DOWN ARROW - Steps to take before turning comicbook page</p></body></html>"))

View File

@@ -122,8 +122,6 @@ 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['toc_with_bookmarks'] = literal_eval(self.settings.value(
'tocWithBookmarks', 'False').capitalize())
self.parent.settings['scroll_speed'] = int(self.settings.value('scrollSpeed', 7)) 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['consider_read_at'] = int(self.settings.value('considerReadAt', 95))
self.parent.settings['small_increment'] = int(self.settings.value('smallIncrement', 4)) self.parent.settings['small_increment'] = int(self.settings.value('smallIncrement', 4))
@@ -213,7 +211,6 @@ class Settings:
self.settings.setValue('cachingEnabled', str(current_settings['caching_enabled'])) self.settings.setValue('cachingEnabled', str(current_settings['caching_enabled']))
self.settings.setValue('hideScrollBars', str(current_settings['hide_scrollbars'])) self.settings.setValue('hideScrollBars', str(current_settings['hide_scrollbars']))
self.settings.setValue('attenuateTitles', str(current_settings['attenuate_titles'])) self.settings.setValue('attenuateTitles', str(current_settings['attenuate_titles']))
self.settings.setValue('tocWithBookmarks', str(current_settings['toc_with_bookmarks']))
self.settings.setValue('scrollSpeed', current_settings['scroll_speed']) self.settings.setValue('scrollSpeed', current_settings['scroll_speed'])
self.settings.setValue('considerReadAt', current_settings['consider_read_at']) self.settings.setValue('considerReadAt', current_settings['consider_read_at'])
self.settings.setValue('mangaMode', str(current_settings['manga_mode'])) self.settings.setValue('mangaMode', str(current_settings['manga_mode']))

View File

@@ -99,7 +99,6 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
self.cachingEnabled.setChecked(self.main_window.settings['caching_enabled']) self.cachingEnabled.setChecked(self.main_window.settings['caching_enabled'])
self.hideScrollBars.setChecked(self.main_window.settings['hide_scrollbars']) self.hideScrollBars.setChecked(self.main_window.settings['hide_scrollbars'])
self.attenuateTitles.setChecked(self.main_window.settings['attenuate_titles']) self.attenuateTitles.setChecked(self.main_window.settings['attenuate_titles'])
self.tocWithBookmarks.setChecked(self.main_window.settings['toc_with_bookmarks'])
self.scrollSpeedSlider.setValue(self.main_window.settings['scroll_speed']) self.scrollSpeedSlider.setValue(self.main_window.settings['scroll_speed'])
self.readAtPercent.setValue(self.main_window.settings['consider_read_at']) self.readAtPercent.setValue(self.main_window.settings['consider_read_at'])
self.smallIncrementBox.setValue(self.main_window.settings['small_increment']) self.smallIncrementBox.setValue(self.main_window.settings['small_increment'])
@@ -113,7 +112,6 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
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.attenuateTitles.clicked.connect(self.manage_checkboxes) self.attenuateTitles.clicked.connect(self.manage_checkboxes)
self.tocWithBookmarks.clicked.connect(self.manage_checkboxes)
self.scrollSpeedSlider.valueChanged.connect(self.change_scroll_speed) self.scrollSpeedSlider.valueChanged.connect(self.change_scroll_speed)
self.readAtPercent.valueChanged.connect(self.change_read_at) self.readAtPercent.valueChanged.connect(self.change_read_at)
self.smallIncrementBox.valueChanged.connect(self.change_increment) self.smallIncrementBox.valueChanged.connect(self.change_increment)
@@ -392,8 +390,7 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
'performCulling': 'perform_culling', 'performCulling': 'perform_culling',
'cachingEnabled': 'caching_enabled', 'cachingEnabled': 'caching_enabled',
'hideScrollBars': 'hide_scrollbars', 'hideScrollBars': 'hide_scrollbars',
'attenuateTitles': 'attenuate_titles', 'attenuateTitles': 'attenuate_titles'}
'tocWithBookmarks': 'toc_with_bookmarks'}
self.main_window.settings[ self.main_window.settings[
sender_dict[sender]] = not self.main_window.settings[sender_dict[sender]] sender_dict[sender]] = not self.main_window.settings[sender_dict[sender]]

View File

@@ -481,25 +481,11 @@ class Tab(QtWidgets.QWidget):
if not current_position: if not current_position:
current_position = self.metadata['position']['current_chapter'] current_position = self.metadata['position']['current_chapter']
# Just look at the variable names. They're practically sentences. position_reference = 1
positions_available_in_toc = [i[2] for i in self.metadata['toc']] for i in reversed(self.metadata['toc']):
try: if i[2] <= current_position:
position_reference_index = positions_available_in_toc.index( position_reference = i[2]
current_position) break
position_reference = positions_available_in_toc[
position_reference_index]
except ValueError: # No specific corresponding value was found
# Going for nearest preceding neighbor
for count, i in enumerate(positions_available_in_toc):
try:
if (positions_available_in_toc[count] <
current_position <
positions_available_in_toc[count + 1]):
position_reference = i
break
except IndexError: # Set to the last chapter
position_reference = positions_available_in_toc[-1]
# Match the position reference to the corresponding # Match the position reference to the corresponding
# index in the QTreeView / QCombobox # index in the QTreeView / QCombobox
@@ -512,6 +498,7 @@ class Tab(QtWidgets.QWidget):
except IndexError: except IndexError:
return return
# A tocBox name is specified for the context menu
if not tocBox: if not tocBox:
tocBox = self.main_window.bookToolBar.tocBox tocBox = self.main_window.bookToolBar.tocBox
@@ -636,27 +623,28 @@ class Tab(QtWidgets.QWidget):
self.bookmarkTreeView.edit(edit_index) self.bookmarkTreeView.edit(edit_index)
def get_chapter_name(chapter_number): def get_chapter_name(chapter_number):
try: for i in reversed(self.metadata['toc']):
chapter_name = [i[1] for i in self.metadata['toc'] if i[2] == chapter_number][0] if i[2] <= chapter_number:
except IndexError: return i[1]
for i in reversed(self.metadata['toc']): return 'Unknown'
if i[2] < chapter_number:
chapter_name = i[1]
break
return chapter_name
bookmark = QtGui.QStandardItem() bookmark = QtGui.QStandardItem()
bookmark.setData(False, QtCore.Qt.UserRole + 10) # Is Parent bookmark.setData(False, QtCore.Qt.UserRole + 10) # Is Parent
bookmark.setData(chapter_number, QtCore.Qt.UserRole) # Chapter number bookmark.setData(chapter_number, QtCore.Qt.UserRole) # Chapter number
bookmark.setData(cursor_position, QtCore.Qt.UserRole + 1) # Cursor Position bookmark.setData(cursor_position, QtCore.Qt.UserRole + 1) # Cursor Position
bookmark.setData(identifier, QtCore.Qt.UserRole + 2) # Identifier bookmark.setData(identifier, QtCore.Qt.UserRole + 2) # Identifier
bookmark.setData(description, QtCore.Qt.DisplayRole) # Description bookmark.setData(description, QtCore.Qt.DisplayRole) # Description
bookmark_chapter_name = get_chapter_name(chapter_number)
for i in range(self.bookmarkModel.rowCount()): for i in range(self.bookmarkModel.rowCount()):
parentIndex = self.bookmarkModel.index(i, 0) parentIndex = self.bookmarkModel.index(i, 0)
parent_chapter = parentIndex.data(QtCore.Qt.UserRole) parent_chapter_number = parentIndex.data(QtCore.Qt.UserRole)
if parent_chapter == chapter_number: parent_chapter_name = parentIndex.data(QtCore.Qt.DisplayRole)
# This prevents duplication of the bookmark in the new
# navigation model
if ((parent_chapter_number <= chapter_number) and
(parent_chapter_name == bookmark_chapter_name)):
bookmarkParent = self.bookmarkModel.itemFromIndex(parentIndex) bookmarkParent = self.bookmarkModel.itemFromIndex(parentIndex)
bookmarkParent.appendRow(bookmark) bookmarkParent.appendRow(bookmark)
if new_bookmark: if new_bookmark:
@@ -693,18 +681,6 @@ class Tab(QtWidgets.QWidget):
self.set_cursor_position(cursor_position) self.set_cursor_position(cursor_position)
def generate_bookmark_model(self): def generate_bookmark_model(self):
self.bookmarkModel = QtGui.QStandardItemModel(self)
if self.main_window.settings['toc_with_bookmarks']:
pass
# for chapter_number, i in enumerate(self.metadata['content']):
# chapterItem = QtGui.QStandardItem()
# chapterItem.setData(i[0], QtCore.Qt.DisplayRole) # Display name
# chapterItem.setData(chapter_number + 1, QtCore.Qt.UserRole) # Chapter Number
# chapterItem.setData(True, QtCore.Qt.UserRole + 10) # Is Parent
# chapterItem.setFlags(chapterItem.flags() & ~QtCore.Qt.ItemIsEditable) # Is Editable
# self.bookmarkModel.appendRow(chapterItem)
for i in self.metadata['bookmarks'].items(): for i in self.metadata['bookmarks'].items():
description = i[1]['description'] description = i[1]['description']
chapter = i[1]['chapter'] chapter = i[1]['chapter']