Status indicator label
This commit is contained in:
14
__main__.py
14
__main__.py
@@ -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())
|
||||||
|
@@ -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)
|
||||||
|
@@ -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/>
|
||||||
|
Reference in New Issue
Block a user