Settings dialog - Add paths and remember values, Fix table model for 0 entries

This commit is contained in:
BasioMeusPuga
2017-11-29 12:27:39 +05:30
parent ded810890d
commit 5064398481
8 changed files with 140 additions and 32 deletions

View File

@@ -12,7 +12,7 @@ class LibraryItemModel(QtGui.QStandardItemModel, QtCore.QAbstractItemModel):
super(LibraryItemModel, self).__init__(parent)
class LibraryTableModel(QtCore.QAbstractTableModel):
class MostExcellentTableModel(QtCore.QAbstractTableModel):
# Sorting is taken care of by the QSortFilterProxy model
# which has an inbuilt sort method
@@ -21,13 +21,16 @@ class LibraryTableModel(QtCore.QAbstractTableModel):
# In this case, that's self.data_list
def __init__(self, header_data, display_data, temp_dir=None, parent=None):
super(LibraryTableModel, self).__init__(parent)
super(MostExcellentTableModel, self).__init__(parent)
self.header_data = header_data
self.display_data = display_data
self.temp_dir = temp_dir
def rowCount(self, parent):
return len(self.display_data)
if self.display_data:
return len(self.display_data)
else:
return 0
def columnCount(self, parent):
return len(self.header_data)
@@ -53,7 +56,8 @@ class LibraryTableModel(QtCore.QAbstractTableModel):
total_chapters = position['total_chapters']
return_pixmap = pie_chart.pixmapper(
current_chapter, total_chapters, self.temp_dir, QtCore.Qt.SizeHintRole + 10)
current_chapter, total_chapters, self.temp_dir,
QtCore.Qt.SizeHintRole + 10)
return return_pixmap
@@ -79,6 +83,14 @@ class LibraryTableModel(QtCore.QAbstractTableModel):
return self.header_data[col]
return None
def flags(self, index):
# In case of the settings model, model column index 1+ are editable
if not self.temp_dir and index.column() != 0:
return QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEditable
else:
# These are standard select but don't edit values
return QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable
class TableProxyModel(QtCore.QSortFilterProxyModel):
def __init__(self, parent=None):