UI improvements
This commit is contained in:
99
__main__.py
99
__main__.py
@@ -85,16 +85,28 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
self.viewModel = None
|
self.viewModel = None
|
||||||
self.lib_ref = Library(self)
|
self.lib_ref = Library(self)
|
||||||
|
|
||||||
# Create toolbars
|
# Library toolbar
|
||||||
self.libraryToolBar = LibraryToolBar(self)
|
self.libraryToolBar = LibraryToolBar(self)
|
||||||
self.libraryToolBar.addButton.triggered.connect(self.add_books)
|
self.libraryToolBar.addButton.triggered.connect(self.add_books)
|
||||||
self.libraryToolBar.deleteButton.triggered.connect(self.delete_books)
|
self.libraryToolBar.deleteButton.triggered.connect(self.delete_books)
|
||||||
self.libraryToolBar.filterEdit.textChanged.connect(self.only_update_listview)
|
self.libraryToolBar.searchBar.textChanged.connect(self.only_update_listview)
|
||||||
self.libraryToolBar.sortingBox.activated.connect(self.only_update_listview)
|
self.libraryToolBar.sortingBox.activated.connect(self.only_update_listview)
|
||||||
self.addToolBar(self.libraryToolBar)
|
self.addToolBar(self.libraryToolBar)
|
||||||
|
|
||||||
|
# Book toolbar
|
||||||
self.bookToolBar = BookToolBar(self)
|
self.bookToolBar = BookToolBar(self)
|
||||||
self.bookToolBar.fullscreenButton.triggered.connect(self.set_fullscreen)
|
self.bookToolBar.fullscreenButton.triggered.connect(self.set_fullscreen)
|
||||||
|
|
||||||
|
self.bookToolBar.fontBox.activated.connect(self.modify_font)
|
||||||
|
self.bookToolBar.fontSizeUp.triggered.connect(self.modify_font)
|
||||||
|
self.bookToolBar.fontSizeDown.triggered.connect(self.modify_font)
|
||||||
|
self.bookToolBar.lineSpacingUp.triggered.connect(self.modify_font)
|
||||||
|
self.bookToolBar.lineSpacingDown.triggered.connect(self.modify_font)
|
||||||
|
self.bookToolBar.paddingUp.triggered.connect(self.modify_font)
|
||||||
|
self.bookToolBar.paddingDown.triggered.connect(self.modify_font)
|
||||||
|
|
||||||
|
self.bookToolBar.colorBoxFG.clicked.connect(self.get_color)
|
||||||
|
self.bookToolBar.colorBoxBG.clicked.connect(self.get_color)
|
||||||
self.bookToolBar.tocBox.activated.connect(self.set_toc_position)
|
self.bookToolBar.tocBox.activated.connect(self.set_toc_position)
|
||||||
self.addToolBar(self.bookToolBar)
|
self.addToolBar(self.bookToolBar)
|
||||||
|
|
||||||
@@ -125,6 +137,17 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
self.exit_all = QtWidgets.QShortcut(QtGui.QKeySequence('Ctrl+Q'), self)
|
self.exit_all = QtWidgets.QShortcut(QtGui.QKeySequence('Ctrl+Q'), self)
|
||||||
self.exit_all.activated.connect(self.closeEvent)
|
self.exit_all.activated.connect(self.closeEvent)
|
||||||
|
|
||||||
|
# Display profiles
|
||||||
|
# TODO
|
||||||
|
# Get display profiles from settings
|
||||||
|
# Current using a default
|
||||||
|
self.current_profile = {
|
||||||
|
'foreground': 'grey',
|
||||||
|
'background': 'black',
|
||||||
|
'padding': 100,
|
||||||
|
'font_size': 22,
|
||||||
|
'line_spacing': 1.5}
|
||||||
|
|
||||||
def resizeEvent(self, event=None):
|
def resizeEvent(self, event=None):
|
||||||
if event:
|
if event:
|
||||||
# This implies a vertical resize event only
|
# This implies a vertical resize event only
|
||||||
@@ -163,6 +186,9 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
# TODO
|
# TODO
|
||||||
# Maybe expand this to traverse directories recursively
|
# Maybe expand this to traverse directories recursively
|
||||||
self.statusMessage.setText('Adding books...')
|
self.statusMessage.setText('Adding books...')
|
||||||
|
|
||||||
|
# TODO
|
||||||
|
# Generate list of available parsers
|
||||||
my_file = QtWidgets.QFileDialog.getOpenFileNames(
|
my_file = QtWidgets.QFileDialog.getOpenFileNames(
|
||||||
self, 'Open file', self.last_open_path,
|
self, 'Open file', self.last_open_path,
|
||||||
"eBooks (*.epub *.mobi *.aws *.txt *.pdf *.fb2 *.djvu *.cbz)")
|
"eBooks (*.epub *.mobi *.aws *.txt *.pdf *.fb2 *.djvu *.cbz)")
|
||||||
@@ -258,8 +284,9 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
current_tab.contentView.setHtml(required_content)
|
current_tab.contentView.setHtml(required_content)
|
||||||
|
|
||||||
def set_fullscreen(self):
|
def set_fullscreen(self):
|
||||||
self.current_tab = self.tabWidget.currentIndex()
|
current_tab = self.tabWidget.currentIndex()
|
||||||
self.current_contentView = self.tabWidget.widget(self.current_tab)
|
current_tab_widget = self.tabWidget.widget(current_tab)
|
||||||
|
self.current_contentView = current_tab_widget.findChildren(QtWidgets.QTextBrowser)[0]
|
||||||
|
|
||||||
self.exit_shortcut = QtWidgets.QShortcut(
|
self.exit_shortcut = QtWidgets.QShortcut(
|
||||||
QtGui.QKeySequence('Escape'), self.current_contentView)
|
QtGui.QKeySequence('Escape'), self.current_contentView)
|
||||||
@@ -293,7 +320,7 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
|
|
||||||
tab_ref = Tab(contents, self.tabWidget)
|
tab_ref = Tab(contents, self.tabWidget)
|
||||||
self.tabWidget.setCurrentWidget(tab_ref)
|
self.tabWidget.setCurrentWidget(tab_ref)
|
||||||
# print(tab_ref.book_metadata) # Metadata upon tab creation
|
self.format_contentView()
|
||||||
|
|
||||||
def close_tab(self, tab_index):
|
def close_tab(self, tab_index):
|
||||||
temp_dir = self.tabWidget.widget(tab_index).metadata['temp_dir']
|
temp_dir = self.tabWidget.widget(tab_index).metadata['temp_dir']
|
||||||
@@ -301,6 +328,68 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
shutil.rmtree(temp_dir)
|
shutil.rmtree(temp_dir)
|
||||||
self.tabWidget.removeTab(tab_index)
|
self.tabWidget.removeTab(tab_index)
|
||||||
|
|
||||||
|
def get_color(self):
|
||||||
|
signal_sender = self.sender().objectName()
|
||||||
|
|
||||||
|
colorDialog = QtWidgets.QColorDialog()
|
||||||
|
new_color = colorDialog.getColor()
|
||||||
|
if not new_color:
|
||||||
|
return
|
||||||
|
|
||||||
|
color_name = new_color.name()
|
||||||
|
|
||||||
|
if signal_sender == 'fgColor':
|
||||||
|
self.bookToolBar.colorBoxFG.setStyleSheet(
|
||||||
|
'background-color: %s' % color_name)
|
||||||
|
self.current_profile['foreground'] = color_name
|
||||||
|
|
||||||
|
elif signal_sender == 'bgColor':
|
||||||
|
self.bookToolBar.colorBoxBG.setStyleSheet(
|
||||||
|
'background-color: %s' % color_name)
|
||||||
|
self.current_profile['background'] = color_name
|
||||||
|
self.format_contentView()
|
||||||
|
|
||||||
|
def modify_font(self):
|
||||||
|
signal_sender = self.sender().objectName()
|
||||||
|
|
||||||
|
if signal_sender == 'fontBox':
|
||||||
|
pass
|
||||||
|
|
||||||
|
if signal_sender == 'fontSizeUp':
|
||||||
|
self.current_profile['font_size'] += 1
|
||||||
|
if signal_sender == 'fontSizeDown':
|
||||||
|
if self.current_profile['font_size'] > 5:
|
||||||
|
self.current_profile['font_size'] -= 1
|
||||||
|
if signal_sender == 'lineSpacingUp':
|
||||||
|
self.current_profile['line_spacing'] += .5
|
||||||
|
if signal_sender == 'lineSpacingDown':
|
||||||
|
self.current_profile['line_spacing'] -= .5
|
||||||
|
|
||||||
|
if signal_sender == 'paddingUp':
|
||||||
|
self.current_profile['padding'] += 5
|
||||||
|
if signal_sender == 'paddingDown':
|
||||||
|
self.current_profile['padding'] -= 5
|
||||||
|
|
||||||
|
self.format_contentView()
|
||||||
|
|
||||||
|
def format_contentView(self):
|
||||||
|
# TODO
|
||||||
|
# Implement line spacing
|
||||||
|
# Implement font changing
|
||||||
|
|
||||||
|
foreground = self.current_profile['foreground']
|
||||||
|
background = self.current_profile['background']
|
||||||
|
padding = self.current_profile['padding']
|
||||||
|
font_size = self.current_profile['font_size']
|
||||||
|
|
||||||
|
current_tab = self.tabWidget.currentIndex()
|
||||||
|
current_tab_widget = self.tabWidget.widget(current_tab)
|
||||||
|
current_contentView = current_tab_widget.findChildren(QtWidgets.QTextBrowser)[0]
|
||||||
|
|
||||||
|
current_contentView.setStyleSheet(
|
||||||
|
"QTextEdit {{font-size: {0}px; padding-left: {1}; padding-right: {1}; color: {2}; background-color: {3}}}".format(
|
||||||
|
font_size, padding, foreground, background))
|
||||||
|
|
||||||
def closeEvent(self, event=None):
|
def closeEvent(self, event=None):
|
||||||
# All tabs must be iterated upon here
|
# All tabs must be iterated upon here
|
||||||
for i in range(1, self.tabWidget.count()):
|
for i in range(1, self.tabWidget.count()):
|
||||||
|
@@ -110,7 +110,7 @@ class Library:
|
|||||||
self.proxy_model.setFilterRole(QtCore.Qt.UserRole + 4)
|
self.proxy_model.setFilterRole(QtCore.Qt.UserRole + 4)
|
||||||
self.proxy_model.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
self.proxy_model.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||||
self.proxy_model.setFilterWildcard(
|
self.proxy_model.setFilterWildcard(
|
||||||
self.parent_window.libraryToolBar.filterEdit.text())
|
self.parent_window.libraryToolBar.searchBar.text())
|
||||||
|
|
||||||
self.parent_window.statusMessage.setText(
|
self.parent_window.statusMessage.setText(
|
||||||
str(self.proxy_model.rowCount()) + ' books')
|
str(self.proxy_model.rowCount()) + ' books')
|
||||||
|
123
widgets.py
123
widgets.py
@@ -11,11 +11,8 @@ class BookToolBar(QtWidgets.QToolBar):
|
|||||||
spacer.setSizePolicy(
|
spacer.setSizePolicy(
|
||||||
QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
|
QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
|
||||||
|
|
||||||
# Size policy
|
|
||||||
# TODO
|
|
||||||
# Prevent resizing
|
|
||||||
sizePolicy = QtWidgets.QSizePolicy(
|
sizePolicy = QtWidgets.QSizePolicy(
|
||||||
QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
|
||||||
|
|
||||||
self.setMovable(False)
|
self.setMovable(False)
|
||||||
self.setIconSize(QtCore.QSize(22, 22))
|
self.setIconSize(QtCore.QSize(22, 22))
|
||||||
@@ -43,40 +40,61 @@ class BookToolBar(QtWidgets.QToolBar):
|
|||||||
self.fontSizeUp = QtWidgets.QAction(
|
self.fontSizeUp = QtWidgets.QAction(
|
||||||
QtGui.QIcon.fromTheme('format-font-size-more'),
|
QtGui.QIcon.fromTheme('format-font-size-more'),
|
||||||
'Increase font size', self)
|
'Increase font size', self)
|
||||||
|
self.fontSizeUp.setObjectName('fontSizeUp')
|
||||||
self.fontSizeDown = QtWidgets.QAction(
|
self.fontSizeDown = QtWidgets.QAction(
|
||||||
QtGui.QIcon.fromTheme('format-font-size-less'),
|
QtGui.QIcon.fromTheme('format-font-size-less'),
|
||||||
'Decrease font size', self)
|
'Decrease font size', self)
|
||||||
|
self.fontSizeDown.setObjectName('fontSizeDown')
|
||||||
|
|
||||||
self.marginsUp = QtWidgets.QAction(
|
self.paddingUp = QtWidgets.QAction(
|
||||||
QtGui.QIcon.fromTheme('format-justify-fill'),
|
QtGui.QIcon.fromTheme('format-justify-fill'),
|
||||||
'Increase margins', self)
|
'Increase padding', self)
|
||||||
self.marginsDown = QtWidgets.QAction(
|
self.paddingUp.setObjectName('paddingUp')
|
||||||
|
self.paddingDown = QtWidgets.QAction(
|
||||||
QtGui.QIcon.fromTheme('format-indent-less'),
|
QtGui.QIcon.fromTheme('format-indent-less'),
|
||||||
'Decrease margins', self)
|
'Decrease padding', self)
|
||||||
|
self.paddingDown.setObjectName('paddingDown')
|
||||||
|
|
||||||
self.lineSpacingUp = QtWidgets.QAction(
|
self.lineSpacingUp = QtWidgets.QAction(
|
||||||
QtGui.QIcon.fromTheme('format-line-spacing-triple'),
|
QtGui.QIcon.fromTheme('format-line-spacing-triple'),
|
||||||
'Increase line spacing', self)
|
'Increase line spacing', self)
|
||||||
|
self.lineSpacingUp.setObjectName('lineSpacingUp')
|
||||||
self.lineSpacingDown = QtWidgets.QAction(
|
self.lineSpacingDown = QtWidgets.QAction(
|
||||||
QtGui.QIcon.fromTheme('format-line-spacing-double'),
|
QtGui.QIcon.fromTheme('format-line-spacing-double'),
|
||||||
'Decrease line spacing', self)
|
'Decrease line spacing', self)
|
||||||
|
self.lineSpacingDown.setObjectName('lineSpacingDown')
|
||||||
|
|
||||||
self.fontBox = QtWidgets.QFontComboBox()
|
self.fontBox = QtWidgets.QFontComboBox()
|
||||||
self.colorBoxFG = QtWidgets.QPushButton()
|
self.fontBox.setObjectName('fontBox')
|
||||||
self.colorBoxBG = QtWidgets.QPushButton()
|
|
||||||
|
|
||||||
|
self.colorBoxFG = FixedPushButton(self)
|
||||||
|
self.colorBoxFG.setObjectName('fgColor')
|
||||||
|
self.colorBoxFG.setToolTip('Set foreground color')
|
||||||
|
self.colorBoxBG = FixedPushButton(self)
|
||||||
|
self.colorBoxBG.setToolTip('Set background color')
|
||||||
|
self.colorBoxBG.setObjectName('bgColor')
|
||||||
|
|
||||||
|
# TODO
|
||||||
|
# Get color profiles from settings
|
||||||
|
# Generate default profiles
|
||||||
|
profiles = ['Profile 1', 'Profile 2', 'Profile 3']
|
||||||
|
self.profileBox = QtWidgets.QComboBox(self)
|
||||||
|
self.profileBox.addItems(profiles)
|
||||||
|
|
||||||
|
self.profileAction = self.addWidget(self.profileBox)
|
||||||
|
self.fontSeparator1 = self.addSeparator()
|
||||||
self.fontBoxAction = self.addWidget(self.fontBox)
|
self.fontBoxAction = self.addWidget(self.fontBox)
|
||||||
self.addAction(self.fontSizeUp)
|
self.addAction(self.fontSizeUp)
|
||||||
self.addAction(self.fontSizeDown)
|
self.addAction(self.fontSizeDown)
|
||||||
self.fontSeparator1 = self.addSeparator()
|
self.fontSeparator2 = self.addSeparator()
|
||||||
self.fgColorAction = self.addWidget(self.colorBoxFG)
|
self.fgColorAction = self.addWidget(self.colorBoxFG)
|
||||||
self.bgColorAction = self.addWidget(self.colorBoxBG)
|
self.bgColorAction = self.addWidget(self.colorBoxBG)
|
||||||
self.fontSeparator2 = self.addSeparator()
|
self.fontSeparator3 = self.addSeparator()
|
||||||
self.addAction(self.lineSpacingUp)
|
self.addAction(self.lineSpacingUp)
|
||||||
self.addAction(self.lineSpacingDown)
|
self.addAction(self.lineSpacingDown)
|
||||||
self.fontSeparator3 = self.addSeparator()
|
self.fontSeparator4 = self.addSeparator()
|
||||||
self.addAction(self.marginsUp)
|
self.addAction(self.paddingUp)
|
||||||
self.addAction(self.marginsDown)
|
self.addAction(self.paddingDown)
|
||||||
|
|
||||||
self.fontBoxAction.setVisible(False)
|
self.fontBoxAction.setVisible(False)
|
||||||
self.fontSizeUp.setVisible(False)
|
self.fontSizeUp.setVisible(False)
|
||||||
@@ -85,24 +103,24 @@ class BookToolBar(QtWidgets.QToolBar):
|
|||||||
self.bgColorAction.setVisible(False)
|
self.bgColorAction.setVisible(False)
|
||||||
self.lineSpacingUp.setVisible(False)
|
self.lineSpacingUp.setVisible(False)
|
||||||
self.lineSpacingDown.setVisible(False)
|
self.lineSpacingDown.setVisible(False)
|
||||||
self.marginsUp.setVisible(False)
|
self.paddingUp.setVisible(False)
|
||||||
self.marginsDown.setVisible(False)
|
self.paddingDown.setVisible(False)
|
||||||
|
self.profileAction.setVisible(False)
|
||||||
self.fontSeparator1.setVisible(False)
|
self.fontSeparator1.setVisible(False)
|
||||||
self.fontSeparator2.setVisible(False)
|
self.fontSeparator2.setVisible(False)
|
||||||
self.fontSeparator3.setVisible(False)
|
self.fontSeparator3.setVisible(False)
|
||||||
|
self.fontSeparator4.setVisible(False)
|
||||||
|
|
||||||
self.searchBar = QtWidgets.QLineEdit()
|
self.searchBar = FixedLineEdit(self)
|
||||||
self.searchBar.setPlaceholderText('Search...')
|
self.searchBar.setPlaceholderText(
|
||||||
|
'Search...')
|
||||||
self.searchBar.setSizePolicy(sizePolicy)
|
self.searchBar.setSizePolicy(sizePolicy)
|
||||||
self.searchBar.setContentsMargins(10, 0, 0, 0)
|
self.searchBar.setContentsMargins(10, 0, 0, 0)
|
||||||
self.searchBar.setMinimumWidth(150)
|
|
||||||
self.searchBar.setObjectName('searchBar')
|
self.searchBar.setObjectName('searchBar')
|
||||||
|
|
||||||
# Sorter
|
# Sorter
|
||||||
self.tocBox = QtWidgets.QComboBox()
|
self.tocBox = FixedComboBox(self)
|
||||||
self.tocBox.setObjectName('sortingBox')
|
self.tocBox.setObjectName('sortingBox')
|
||||||
self.tocBox.setSizePolicy(sizePolicy)
|
|
||||||
self.tocBox.setMinimumContentsLength(10)
|
|
||||||
self.tocBox.setToolTip('Table of Contents')
|
self.tocBox.setToolTip('Table of Contents')
|
||||||
|
|
||||||
# All of these will be put after the spacer
|
# All of these will be put after the spacer
|
||||||
@@ -130,11 +148,14 @@ class BookToolBar(QtWidgets.QToolBar):
|
|||||||
self.bgColorAction.setVisible(True)
|
self.bgColorAction.setVisible(True)
|
||||||
self.lineSpacingUp.setVisible(True)
|
self.lineSpacingUp.setVisible(True)
|
||||||
self.lineSpacingDown.setVisible(True)
|
self.lineSpacingDown.setVisible(True)
|
||||||
self.marginsUp.setVisible(True)
|
self.paddingUp.setVisible(True)
|
||||||
self.marginsDown.setVisible(True)
|
self.paddingDown.setVisible(True)
|
||||||
|
self.profileAction.setVisible(True)
|
||||||
self.fontSeparator1.setVisible(True)
|
self.fontSeparator1.setVisible(True)
|
||||||
self.fontSeparator2.setVisible(True)
|
self.fontSeparator2.setVisible(True)
|
||||||
self.fontSeparator3.setVisible(True)
|
self.fontSeparator3.setVisible(True)
|
||||||
|
self.fontSeparator3.setVisible(True)
|
||||||
|
self.fontSeparator4.setVisible(False)
|
||||||
|
|
||||||
self.tocBoxAction.setVisible(False)
|
self.tocBoxAction.setVisible(False)
|
||||||
self.searchBarAction.setVisible(False)
|
self.searchBarAction.setVisible(False)
|
||||||
@@ -150,11 +171,13 @@ class BookToolBar(QtWidgets.QToolBar):
|
|||||||
self.bgColorAction.setVisible(False)
|
self.bgColorAction.setVisible(False)
|
||||||
self.lineSpacingUp.setVisible(False)
|
self.lineSpacingUp.setVisible(False)
|
||||||
self.lineSpacingDown.setVisible(False)
|
self.lineSpacingDown.setVisible(False)
|
||||||
self.marginsUp.setVisible(False)
|
self.paddingUp.setVisible(False)
|
||||||
self.marginsDown.setVisible(False)
|
self.paddingDown.setVisible(False)
|
||||||
|
self.profileAction.setVisible(False)
|
||||||
self.fontSeparator1.setVisible(False)
|
self.fontSeparator1.setVisible(False)
|
||||||
self.fontSeparator2.setVisible(False)
|
self.fontSeparator2.setVisible(False)
|
||||||
self.fontSeparator3.setVisible(False)
|
self.fontSeparator3.setVisible(False)
|
||||||
|
self.fontSeparator4.setVisible(False)
|
||||||
|
|
||||||
self.tocBoxAction.setVisible(True)
|
self.tocBoxAction.setVisible(True)
|
||||||
self.searchBarAction.setVisible(True)
|
self.searchBarAction.setVisible(True)
|
||||||
@@ -189,30 +212,54 @@ class LibraryToolBar(QtWidgets.QToolBar):
|
|||||||
|
|
||||||
# Filter
|
# Filter
|
||||||
sizePolicy = QtWidgets.QSizePolicy(
|
sizePolicy = QtWidgets.QSizePolicy(
|
||||||
QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
|
QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
|
||||||
|
|
||||||
self.filterEdit = QtWidgets.QLineEdit()
|
# self.searchBar = QtWidgets.QLineEdit()
|
||||||
self.filterEdit.setPlaceholderText(
|
self.searchBar = FixedLineEdit(self)
|
||||||
|
self.searchBar.setPlaceholderText(
|
||||||
'Search for Title, Author, Tags...')
|
'Search for Title, Author, Tags...')
|
||||||
self.filterEdit.setSizePolicy(sizePolicy)
|
self.searchBar.setSizePolicy(sizePolicy)
|
||||||
self.filterEdit.setContentsMargins(10, 0, 0, 0)
|
self.searchBar.setContentsMargins(10, 0, 0, 0)
|
||||||
self.filterEdit.setMinimumWidth(150)
|
self.searchBar.setObjectName('searchBar')
|
||||||
self.filterEdit.setObjectName('filterEdit')
|
|
||||||
|
|
||||||
# Sorter
|
# Sorter
|
||||||
sorting_choices = ['Title', 'Author', 'Year']
|
sorting_choices = ['Title', 'Author', 'Year']
|
||||||
self.sortingBox = QtWidgets.QComboBox()
|
self.sortingBox = FixedComboBox(self)
|
||||||
self.sortingBox.addItems(sorting_choices)
|
self.sortingBox.addItems(sorting_choices)
|
||||||
self.sortingBox.setObjectName('sortingBox')
|
self.sortingBox.setObjectName('sortingBox')
|
||||||
self.sortingBox.setSizePolicy(sizePolicy)
|
self.sortingBox.setSizePolicy(sizePolicy)
|
||||||
# self.sortingBox.setContentsMargins(30, 0, 0, 0)
|
|
||||||
self.sortingBox.setMinimumContentsLength(10)
|
self.sortingBox.setMinimumContentsLength(10)
|
||||||
self.sortingBox.setToolTip('Sort by')
|
self.sortingBox.setToolTip('Sort by')
|
||||||
|
|
||||||
# Add widgets
|
# Add widgets
|
||||||
self.addWidget(spacer)
|
self.addWidget(spacer)
|
||||||
self.addWidget(self.sortingBox)
|
self.addWidget(self.sortingBox)
|
||||||
self.addWidget(self.filterEdit)
|
self.addWidget(self.searchBar)
|
||||||
|
|
||||||
|
|
||||||
|
# Sublassing these widgets out prevents them from resizing
|
||||||
|
class FixedComboBox(QtWidgets.QComboBox):
|
||||||
|
def __init__(self, parent=None):
|
||||||
|
super(FixedComboBox, self).__init__(parent)
|
||||||
|
|
||||||
|
def sizeHint(self):
|
||||||
|
return QtCore.QSize(400, 22)
|
||||||
|
|
||||||
|
|
||||||
|
class FixedLineEdit(QtWidgets.QLineEdit):
|
||||||
|
def __init__(self, parent=None):
|
||||||
|
super(FixedLineEdit, self).__init__(parent)
|
||||||
|
|
||||||
|
def sizeHint(self):
|
||||||
|
return QtCore.QSize(400, 22)
|
||||||
|
|
||||||
|
|
||||||
|
class FixedPushButton(QtWidgets.QPushButton):
|
||||||
|
def __init__(self, parent=None):
|
||||||
|
super(FixedPushButton, self).__init__(parent)
|
||||||
|
|
||||||
|
def sizeHint(self):
|
||||||
|
return QtCore.QSize(36, 30)
|
||||||
|
|
||||||
|
|
||||||
class Tab(QtWidgets.QWidget):
|
class Tab(QtWidgets.QWidget):
|
||||||
@@ -227,7 +274,7 @@ class Tab(QtWidgets.QWidget):
|
|||||||
super(Tab, self).__init__(parent)
|
super(Tab, self).__init__(parent)
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.metadata = metadata # Save progress data into this dictionary
|
self.metadata = metadata # Save progress data into this dictionary
|
||||||
self.setStyleSheet("background-color: black")
|
# self.setStyleSheet("background-color: black")
|
||||||
|
|
||||||
title = self.metadata['title']
|
title = self.metadata['title']
|
||||||
path = self.metadata['path']
|
path = self.metadata['path']
|
||||||
|
Reference in New Issue
Block a user