Status indicator label

This commit is contained in:
BasioMeusPuga
2017-11-07 20:07:33 +05:30
parent f47cfb27ca
commit 6b3216e869
3 changed files with 35 additions and 2 deletions

View File

@@ -53,6 +53,11 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
self.lib_ref = Library(self) self.lib_ref = Library(self)
self.viewModel = None 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 # New tabs and their contents
self.tabs = {} self.tabs = {}
self.current_tab = None self.current_tab = None
@@ -87,15 +92,18 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
def add_books(self): def add_books(self):
# TODO # TODO
# Maybe expand this to traverse directories recursively # Maybe expand this to traverse directories recursively
self.statusMessage.setText('Adding books...')
my_file = QtWidgets.QFileDialog.getOpenFileNames( my_file = QtWidgets.QFileDialog.getOpenFileNames(
self, 'Open file', self.last_open_path, "eBooks (*.epub *.mobi *.txt)") self, 'Open file', self.last_open_path, "eBooks (*.epub *.mobi *.txt)")
if my_file[0]: if my_file[0]:
self.listView.setEnabled(False)
self.last_open_path = os.path.dirname(my_file[0][0]) self.last_open_path = os.path.dirname(my_file[0][0])
books = book_parser.BookSorter(my_file[0]) books = book_parser.BookSorter(my_file[0])
parsed_books = books.initiate_threads() parsed_books = books.initiate_threads()
database.DatabaseFunctions(self.database_path).add_to_database(parsed_books) database.DatabaseFunctions(self.database_path).add_to_database(parsed_books)
self.listView.setEnabled(True)
self.viewModel = None self.viewModel = None
self.reload_listview() self.reload_listview()
def delete_books(self): def delete_books(self):
selected_books = self.listView.selectedIndexes() selected_books = self.listView.selectedIndexes()
@@ -239,10 +247,12 @@ class Library:
proxy_model = QtCore.QSortFilterProxyModel() proxy_model = QtCore.QSortFilterProxyModel()
proxy_model.setSourceModel(self.parent_window.viewModel) proxy_model.setSourceModel(self.parent_window.viewModel)
proxy_model.setFilterRole(QtCore.Qt.UserRole + 4) proxy_model.setFilterRole(QtCore.Qt.UserRole + 4)
proxy_model.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive) proxy_model.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)
proxy_model.setFilterWildcard(self.parent_window.libraryFilterEdit.text()) 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 # Sorting according to roles and the drop down in the library
proxy_model.setSortRole( proxy_model.setSortRole(
QtCore.Qt.UserRole + self.parent_window.librarySortingBox.currentIndex()) QtCore.Qt.UserRole + self.parent_window.librarySortingBox.currentIndex())

View File

@@ -56,6 +56,15 @@ class Ui_MainWindow(object):
self.BookToolBar.setFloatable(False) self.BookToolBar.setFloatable(False)
self.BookToolBar.setObjectName("BookToolBar") self.BookToolBar.setObjectName("BookToolBar")
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.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.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(0) self.tabWidget.setCurrentIndex(0)

View File

@@ -119,6 +119,20 @@
<bool>false</bool> <bool>false</bool>
</attribute> </attribute>
</widget> </widget>
<widget class="QStatusBar" name="statusBar">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</widget>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>