Uniform tab sizes
Path search PDF parser exception handling
This commit is contained in:
@@ -167,7 +167,7 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
||||
self.bookToolBar.annotationButton.triggered.connect(self.toggle_dock_widgets)
|
||||
self.bookToolBar.addBookmarkButton.triggered.connect(self.add_bookmark)
|
||||
self.bookToolBar.bookmarkButton.triggered.connect(self.toggle_dock_widgets)
|
||||
self.bookToolBar.distractionFreeButton.triggered.connect(self.toggle_dock_widgets)
|
||||
self.bookToolBar.distractionFreeButton.triggered.connect(self.toggle_distraction_free)
|
||||
self.bookToolBar.fullscreenButton.triggered.connect(self.set_fullscreen)
|
||||
|
||||
for count, i in enumerate(self.display_profiles):
|
||||
@@ -239,6 +239,7 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
||||
self.listView.customContextMenuRequested.connect(self.generate_library_context_menu)
|
||||
self.listView.verticalScrollBar().valueChanged.connect(self.start_culling_timer)
|
||||
self.listView.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
|
||||
self.listView.setAcceptDrops(True)
|
||||
|
||||
self.listView.setStyleSheet(
|
||||
"QListView {{background-color: {0}}}".format(
|
||||
@@ -699,9 +700,6 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
||||
self.tabWidget.setCurrentIndex(self.tabWidget.count() - 1)
|
||||
finishing_touches()
|
||||
|
||||
# TODO
|
||||
# def dropEvent
|
||||
|
||||
def statusbar_visibility(self):
|
||||
if self.sender() == self.libraryToolBar.searchBar:
|
||||
if self.libraryToolBar.searchBar.text() == '':
|
||||
|
@@ -160,6 +160,7 @@ class Library:
|
||||
item.setData(False, QtCore.Qt.UserRole + 8) # Is the cover being displayed?
|
||||
item.setData(date_added, QtCore.Qt.UserRole + 9)
|
||||
item.setData(last_accessed, QtCore.Qt.UserRole + 12)
|
||||
item.setData(path, QtCore.Qt.UserRole + 13)
|
||||
item.setIcon(QtGui.QIcon(img_pixmap))
|
||||
|
||||
self.libraryModel.appendRow(item)
|
||||
|
@@ -202,6 +202,7 @@ class ProxyModelsCommonFunctions:
|
||||
directory_name = model.data(this_index, QtCore.Qt.UserRole + 10)
|
||||
directory_tags = model.data(this_index, QtCore.Qt.UserRole + 11)
|
||||
last_accessed = model.data(this_index, QtCore.Qt.UserRole + 12)
|
||||
file_path = model.data(this_index, QtCore.Qt.UserRole + 13)
|
||||
|
||||
# Hide untouched files when sorting by last accessed
|
||||
if self.parent_model.sorting_box_position == 4 and not last_accessed:
|
||||
@@ -222,7 +223,9 @@ class ProxyModelsCommonFunctions:
|
||||
else:
|
||||
valid_data = [
|
||||
i.lower() for i in (
|
||||
title, author, tags, directory_name, directory_tags) if i is not None]
|
||||
title, author, tags, directory_name,
|
||||
directory_tags, file_path)
|
||||
if i is not None]
|
||||
for i in valid_data:
|
||||
if self.parent_model.filter_text.lower() in i:
|
||||
return True
|
||||
|
@@ -64,9 +64,12 @@ class ParsePDF:
|
||||
popplerqt5.Poppler.Document.Antialiasing
|
||||
and popplerqt5.Poppler.Document.TextAntialiasing)
|
||||
|
||||
cover_page = self.book.page(0)
|
||||
cover_image = cover_page.renderToImage(300, 300)
|
||||
return resize_image(cover_image)
|
||||
try:
|
||||
cover_page = self.book.page(0)
|
||||
cover_image = cover_page.renderToImage(300, 300)
|
||||
return resize_image(cover_image)
|
||||
except AttributeError:
|
||||
return None
|
||||
|
||||
def get_isbn(self):
|
||||
return None
|
||||
|
@@ -166,6 +166,13 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="attenuateTitles">
|
||||
<property name="text">
|
||||
<string>Shrink long book titles</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
|
@@ -102,6 +102,9 @@ class Ui_Dialog(object):
|
||||
self.autoTags = QtWidgets.QCheckBox(self.groupBox)
|
||||
self.autoTags.setObjectName("autoTags")
|
||||
self.horizontalLayout_9.addWidget(self.autoTags)
|
||||
self.attenuateTitles = QtWidgets.QCheckBox(self.groupBox)
|
||||
self.attenuateTitles.setObjectName("attenuateTitles")
|
||||
self.horizontalLayout_9.addWidget(self.attenuateTitles)
|
||||
self.verticalLayout_2.addLayout(self.horizontalLayout_9)
|
||||
self.gridLayout_4.addLayout(self.verticalLayout_2, 0, 0, 1, 1)
|
||||
self.verticalLayout.addWidget(self.groupBox)
|
||||
@@ -314,6 +317,7 @@ class Ui_Dialog(object):
|
||||
self.performCulling.setToolTip(_translate("Dialog", "Enabling reduces startup time and memory usage"))
|
||||
self.performCulling.setText(_translate("Dialog", "Load covers only when needed"))
|
||||
self.autoTags.setText(_translate("Dialog", "Generate tags from files"))
|
||||
self.attenuateTitles.setText(_translate("Dialog", "Shrink long book titles"))
|
||||
self.groupBox_2.setTitle(_translate("Dialog", "Reading"))
|
||||
self.hideScrollBars.setToolTip(_translate("Dialog", "Horizontal scrolling with Alt + Scroll\n"
|
||||
"Reopen book to see changes"))
|
||||
|
@@ -121,6 +121,8 @@ class Settings:
|
||||
'hideScrollBars', '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['attenuate_titles'] = literal_eval(self.settings.value(
|
||||
'attenuateTitles', 'False').capitalize())
|
||||
self.settings.endGroup()
|
||||
|
||||
self.settings.beginGroup('dialogSettings')
|
||||
@@ -198,6 +200,7 @@ class Settings:
|
||||
self.settings.setValue('dictionaryLanguage', str(current_settings['dictionary_language']))
|
||||
self.settings.setValue('cachingEnabled', str(current_settings['caching_enabled']))
|
||||
self.settings.setValue('hideScrollBars', str(current_settings['hide_scrollbars']))
|
||||
self.settings.setValue('attenuateTitles', str(current_settings['attenuate_titles']))
|
||||
self.settings.setValue('scrollSpeed', current_settings['scroll_speed'])
|
||||
self.settings.setValue('considerReadAt', current_settings['consider_read_at'])
|
||||
self.settings.endGroup()
|
||||
|
@@ -95,6 +95,7 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
|
||||
self.performCulling.setChecked(self.main_window.settings['perform_culling'])
|
||||
self.cachingEnabled.setChecked(self.main_window.settings['caching_enabled'])
|
||||
self.hideScrollBars.setChecked(self.main_window.settings['hide_scrollbars'])
|
||||
self.attenuateTitles.setChecked(self.main_window.settings['attenuate_titles'])
|
||||
self.scrollSpeedSlider.setValue(self.main_window.settings['scroll_speed'])
|
||||
self.readAtPercent.setValue(self.main_window.settings['consider_read_at'])
|
||||
|
||||
@@ -105,6 +106,7 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
|
||||
self.performCulling.clicked.connect(self.manage_checkboxes)
|
||||
self.cachingEnabled.clicked.connect(self.manage_checkboxes)
|
||||
self.hideScrollBars.clicked.connect(self.manage_checkboxes)
|
||||
self.attenuateTitles.clicked.connect(self.manage_checkboxes)
|
||||
self.scrollSpeedSlider.valueChanged.connect(self.change_scroll_speed)
|
||||
self.readAtPercent.valueChanged.connect(self.change_read_at)
|
||||
|
||||
@@ -164,6 +166,11 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
|
||||
# Generate the filesystem treeView
|
||||
self.generate_tree()
|
||||
|
||||
# Hide the image annotation tab
|
||||
# TODO
|
||||
# Maybe get off your lazy ass and write something for this
|
||||
self.tabWidget.tabBar().setVisible(False)
|
||||
|
||||
def generate_tree(self):
|
||||
# Fetch all directories in the database
|
||||
paths = database.DatabaseFunctions(
|
||||
@@ -366,7 +373,8 @@ class SettingsUI(QtWidgets.QDialog, settingswindow.Ui_Dialog):
|
||||
'fileRemember': 'remember_files',
|
||||
'performCulling': 'perform_culling',
|
||||
'cachingEnabled': 'caching_enabled',
|
||||
'hideScrollBars': 'hide_scrollbars'}
|
||||
'hideScrollBars': 'hide_scrollbars',
|
||||
'attenuateTitles': 'attenuate_titles'}
|
||||
|
||||
self.main_window.settings[
|
||||
sender_dict[sender]] = not self.main_window.settings[sender_dict[sender]]
|
||||
|
@@ -187,6 +187,8 @@ class Tab(QtWidgets.QWidget):
|
||||
self.bookmarkDock.setWindowOpacity(.95)
|
||||
|
||||
title = self.metadata['title']
|
||||
if self.main_window.settings['attenuate_titles'] and len(title) > 30:
|
||||
title = title[:30] + '...'
|
||||
self.main_window.tabWidget.addTab(self, title)
|
||||
|
||||
this_tab_index = self.main_window.tabWidget.indexOf(self)
|
||||
|
Reference in New Issue
Block a user