diff --git a/__main__.py b/__main__.py index 1a339fd..94ac040 100755 --- a/__main__.py +++ b/__main__.py @@ -20,6 +20,7 @@ Check files (hashes) upon restart Recursive file addition Show what on startup + Maybe include icons for emblems mobi, azw support txt, doc, djvu support pdf support? @@ -71,8 +72,8 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow): self.libraryToolBar = LibraryToolBar(self) self.libraryToolBar.addButton.triggered.connect(self.add_books) self.libraryToolBar.deleteButton.triggered.connect(self.delete_books) - self.libraryToolBar.filterEdit.textChanged.connect(self.reload_listview) - self.libraryToolBar.sortingBox.activated.connect(self.reload_listview) + self.libraryToolBar.filterEdit.textChanged.connect(self.only_update_listview) + self.libraryToolBar.sortingBox.activated.connect(self.only_update_listview) self.addToolBar(self.libraryToolBar) self.bookToolBar = BookToolBar(self) @@ -177,10 +178,14 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow): msg_box.show() msg_box.exec_() + def only_update_listview(self): + self.lib_ref.update_proxyModel() + def reload_listview(self): if not self.viewModel: self.lib_ref.generate_model() - self.lib_ref.update_listView() + self.lib_ref.create_proxyModel() + self.lib_ref.update_proxyModel() def tab_switch(self): if self.tabWidget.currentIndex() == 0: diff --git a/subclasses.py b/subclasses.py index 27ed1de..c519b01 100644 --- a/subclasses.py +++ b/subclasses.py @@ -98,10 +98,14 @@ class Library: item.setIcon(QtGui.QIcon(img_pixmap)) self.parent_window.viewModel.appendRow(item) - - def update_listView(self): + def create_proxyModel(self): self.proxy_model = QtCore.QSortFilterProxyModel() self.proxy_model.setSourceModel(self.parent_window.viewModel) + s = QtCore.QSize(160, 250) # Set icon sizing here + self.parent_window.listView.setIconSize(s) + self.parent_window.listView.setModel(self.proxy_model) + + def update_proxyModel(self): self.proxy_model.setFilterRole(QtCore.Qt.UserRole + 4) self.proxy_model.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive) self.proxy_model.setFilterWildcard(self.parent_window.libraryToolBar.filterEdit.text()) @@ -114,10 +118,6 @@ class Library: QtCore.Qt.UserRole + self.parent_window.libraryToolBar.sortingBox.currentIndex()) self.proxy_model.sort(0) - s = QtCore.QSize(160, 250) # Set icon sizing here - self.parent_window.listView.setIconSize(s) - self.parent_window.listView.setModel(self.proxy_model) - class Settings: def __init__(self, parent):