diff --git a/__main__.py b/__main__.py index 7c15288..a1f11f4 100755 --- a/__main__.py +++ b/__main__.py @@ -53,6 +53,11 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow): self.lib_ref = Library(self) self.viewModel = None + # Right align everything in the statusbar + self.statusMessage = QtWidgets.QLabel() + self.statusMessage.setObjectName('statusMessage') + self.statusBar.addPermanentWidget(self.statusMessage) + # New tabs and their contents self.tabs = {} self.current_tab = None @@ -87,15 +92,18 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow): def add_books(self): # TODO # Maybe expand this to traverse directories recursively + self.statusMessage.setText('Adding books...') my_file = QtWidgets.QFileDialog.getOpenFileNames( self, 'Open file', self.last_open_path, "eBooks (*.epub *.mobi *.txt)") if my_file[0]: + self.listView.setEnabled(False) self.last_open_path = os.path.dirname(my_file[0][0]) books = book_parser.BookSorter(my_file[0]) parsed_books = books.initiate_threads() database.DatabaseFunctions(self.database_path).add_to_database(parsed_books) + self.listView.setEnabled(True) self.viewModel = None - self.reload_listview() + self.reload_listview() def delete_books(self): selected_books = self.listView.selectedIndexes() @@ -239,10 +247,12 @@ class Library: proxy_model = QtCore.QSortFilterProxyModel() proxy_model.setSourceModel(self.parent_window.viewModel) proxy_model.setFilterRole(QtCore.Qt.UserRole + 4) - proxy_model.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive) proxy_model.setFilterWildcard(self.parent_window.libraryFilterEdit.text()) + self.parent_window.statusMessage.setText( + str(proxy_model.rowCount()) + ' books') + # Sorting according to roles and the drop down in the library proxy_model.setSortRole( QtCore.Qt.UserRole + self.parent_window.librarySortingBox.currentIndex()) diff --git a/mainwindow.py b/mainwindow.py index 1031193..6bf1ca6 100644 --- a/mainwindow.py +++ b/mainwindow.py @@ -56,6 +56,15 @@ class Ui_MainWindow(object): self.BookToolBar.setFloatable(False) self.BookToolBar.setObjectName("BookToolBar") MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.BookToolBar) + self.statusBar = QtWidgets.QStatusBar(MainWindow) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.statusBar.sizePolicy().hasHeightForWidth()) + self.statusBar.setSizePolicy(sizePolicy) + self.statusBar.setMinimumSize(QtCore.QSize(0, 0)) + self.statusBar.setObjectName("statusBar") + MainWindow.setStatusBar(self.statusBar) self.retranslateUi(MainWindow) self.tabWidget.setCurrentIndex(0) diff --git a/resources/main.ui b/resources/main.ui index bd0117d..914c33b 100644 --- a/resources/main.ui +++ b/resources/main.ui @@ -119,6 +119,20 @@ false + + + + 0 + 0 + + + + + 0 + 0 + + +