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.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,13 +92,16 @@ 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()
@@ -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())

View File

@@ -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)

View File

@@ -119,6 +119,20 @@
<bool>false</bool>
</attribute>
</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>
<resources/>
<connections/>