Search filter lineEdit

This commit is contained in:
BasioMeusPuga
2017-11-07 12:21:58 +05:30
parent b0e1cab93e
commit 855cd904ff

View File

@@ -27,12 +27,13 @@ import sys
from PyQt5 import QtWidgets, QtGui, QtCore from PyQt5 import QtWidgets, QtGui, QtCore
import book_parser
import mainwindow import mainwindow
import database import database
import book_parser
class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow): class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
#pylint: disable-msg=E1101
def __init__(self): def __init__(self):
super(self.__class__, self).__init__() super(self.__class__, self).__init__()
self.setupUi(self) self.setupUi(self)
@@ -41,9 +42,10 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
Settings(self).read_settings() # This should populate all variables that need Settings(self).read_settings() # This should populate all variables that need
# to be remembered across sessions # to be remembered across sessions
Toolbars(self) Toolbars(self)
# This is an ugly ugly hack # This is an ugly hack?
# I can't seem to access the Qcombobox the usual way # I can't seem to access the Qcombobox the usual way
self.librarySortingBox = self.LibraryToolBar.children()[-1:][0] self.librarySortingBox = self.LibraryToolBar.findChild(QtWidgets.QComboBox)
self.libraryFilterEdit = self.LibraryToolBar.findChild(QtWidgets.QLineEdit)
database.DatabaseInit(self.database_path) database.DatabaseInit(self.database_path)
@@ -164,7 +166,7 @@ class Library:
def load_listView(self): def load_listView(self):
# TODO # TODO
# The rest of it is just refreshing the listview # Use QItemdelegates to show book read progress
# The QlistView widget needs to be populated # The QlistView widget needs to be populated
# with a model that inherits from QStandardItemModel # with a model that inherits from QStandardItemModel
@@ -297,15 +299,28 @@ class Toolbars:
sortingBox.setToolTip('Sort by') sortingBox.setToolTip('Sort by')
sortingBox.activated.connect(self.parent_window.reload_listview) sortingBox.activated.connect(self.parent_window.reload_listview)
# Filter
filterEdit = QtWidgets.QLineEdit()
filterEdit.setPlaceholderText('Filter by...')
sizePolicy = QtWidgets.QSizePolicy(
QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
filterEdit.setSizePolicy(sizePolicy)
filterEdit.setContentsMargins(200, 0, 200, 0)
filterEdit.setMinimumWidth(150)
filterEdit.returnPressed.connect(self.parent_window.reload_listview)
# Spacer # Spacer
spacer = QtWidgets.QWidget() spacer = QtWidgets.QWidget()
spacer.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) spacer.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
# Add widgets to toolbar
self.parent_window.LibraryToolBar.addAction(addButton) self.parent_window.LibraryToolBar.addAction(addButton)
self.parent_window.LibraryToolBar.addAction(deleteButton) self.parent_window.LibraryToolBar.addAction(deleteButton)
self.parent_window.LibraryToolBar.addSeparator() self.parent_window.LibraryToolBar.addSeparator()
self.parent_window.LibraryToolBar.addAction(settingsButton) self.parent_window.LibraryToolBar.addAction(settingsButton)
self.parent_window.LibraryToolBar.addWidget(spacer) self.parent_window.LibraryToolBar.addWidget(spacer)
self.parent_window.LibraryToolBar.addWidget(filterEdit)
self.parent_window.LibraryToolBar.addWidget(spacer)
self.parent_window.LibraryToolBar.addWidget(sortingBox) self.parent_window.LibraryToolBar.addWidget(sortingBox)