Small refactor
This commit is contained in:
21
__main__.py
21
__main__.py
@@ -6,7 +6,8 @@
|
|||||||
✓ Drop down for SortBy (library view)
|
✓ Drop down for SortBy (library view)
|
||||||
✓ Define every widget in code because you're going to need to create separate tabs
|
✓ Define every widget in code because you're going to need to create separate tabs
|
||||||
✓ Override the keypress event of the textedit
|
✓ Override the keypress event of the textedit
|
||||||
|
✓ Search bar in toolbar
|
||||||
|
|
||||||
Goodreads API: Ratings, Read, Recommendations
|
Goodreads API: Ratings, Read, Recommendations
|
||||||
Get ISBN using python-isbnlib
|
Get ISBN using python-isbnlib
|
||||||
All ebooks should be returned as HTML
|
All ebooks should be returned as HTML
|
||||||
@@ -83,7 +84,7 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
this_tab = Tabs(self, 'TitleText')
|
this_tab = Tabs(self, 'TitleText')
|
||||||
this_tab.create_tab()
|
this_tab.create_tab()
|
||||||
|
|
||||||
def open_file(self):
|
def add_books(self):
|
||||||
# TODO
|
# TODO
|
||||||
# Maybe expand this to traverse directories recursively
|
# Maybe expand this to traverse directories recursively
|
||||||
my_file = QtWidgets.QFileDialog.getOpenFileNames(
|
my_file = QtWidgets.QFileDialog.getOpenFileNames(
|
||||||
@@ -93,6 +94,7 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
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.viewModel = None
|
||||||
self.reload_listview()
|
self.reload_listview()
|
||||||
|
|
||||||
def delete_books(self):
|
def delete_books(self):
|
||||||
@@ -102,7 +104,7 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
if box_button.text() == '&Yes':
|
if box_button.text() == '&Yes':
|
||||||
selected_hashes = []
|
selected_hashes = []
|
||||||
for i in selected_books:
|
for i in selected_books:
|
||||||
book_data = i.data(QtCore.Qt.UserRole+2)
|
book_data = i.data(QtCore.Qt.UserRole + 3)
|
||||||
selected_hashes.append(book_data['book_hash'])
|
selected_hashes.append(book_data['book_hash'])
|
||||||
database.DatabaseFunctions(
|
database.DatabaseFunctions(
|
||||||
self.database_path).delete_from_database(selected_hashes)
|
self.database_path).delete_from_database(selected_hashes)
|
||||||
@@ -226,18 +228,17 @@ class Library:
|
|||||||
item = QtGui.QStandardItem()
|
item = QtGui.QStandardItem()
|
||||||
item.setToolTip(tooltip_string)
|
item.setToolTip(tooltip_string)
|
||||||
item.setData(book_title, QtCore.Qt.UserRole)
|
item.setData(book_title, QtCore.Qt.UserRole)
|
||||||
item.setData(search_workaround, QtCore.Qt.UserRole+1)
|
item.setData(book_author, QtCore.Qt.UserRole + 1)
|
||||||
item.setData(additional_data, QtCore.Qt.UserRole+2)
|
item.setData(book_year, QtCore.Qt.UserRole + 2)
|
||||||
|
item.setData(additional_data, QtCore.Qt.UserRole + 3)
|
||||||
|
item.setData(search_workaround, QtCore.Qt.UserRole + 4)
|
||||||
item.setIcon(QtGui.QIcon(img_pixmap))
|
item.setIcon(QtGui.QIcon(img_pixmap))
|
||||||
self.parent_window.viewModel.appendRow(item)
|
self.parent_window.viewModel.appendRow(item)
|
||||||
|
|
||||||
# mirror_item = QtGui.QStandardItem(book_title)
|
|
||||||
# self.parent_window.viewModel.invisibleRootItem().appendRow(mirror_item)
|
|
||||||
|
|
||||||
def update_listView(self):
|
def update_listView(self):
|
||||||
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+1)
|
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())
|
||||||
@@ -314,7 +315,7 @@ class Toolbars:
|
|||||||
settingsButton = QtWidgets.QAction(
|
settingsButton = QtWidgets.QAction(
|
||||||
QtGui.QIcon.fromTheme('settings'), 'Settings', self.parent_window)
|
QtGui.QIcon.fromTheme('settings'), 'Settings', self.parent_window)
|
||||||
|
|
||||||
addButton.triggered.connect(self.parent_window.open_file)
|
addButton.triggered.connect(self.parent_window.add_books)
|
||||||
settingsButton.triggered.connect(self.parent_window.create_tab_class)
|
settingsButton.triggered.connect(self.parent_window.create_tab_class)
|
||||||
deleteButton.triggered.connect(self.parent_window.delete_books)
|
deleteButton.triggered.connect(self.parent_window.delete_books)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user