-
-
Save ben-hearn-sb/038da0d75d6887205e7333147ae9f0d9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Sql_Table_Model(QSqlTableModel): | |
def __init__(self, parent=None, db=None): | |
QSqlTableModel.__init__(self, parent, db) | |
'''Qt::ItemFlags flags(const QModelIndex &index) const override {return QSqlTableModel::flags(index) | Qt::ItemIsDragEnabled;}''' | |
self.setTable(db.connectionName()) | |
self.select() | |
self.removeColumn(0) # Remove the ID column | |
self.rename_headers() | |
self.fetch_all_rows() | |
self.setEditStrategy(QSqlTableModel.OnManualSubmit) | |
#self.rekordbox_compare = False | |
def flags(self, index): | |
"""Reimplemented to set editable and movable status.""" | |
flags = (Qt.ItemIsSelectable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled) | |
return flags | |
def mimeData(self, indexes): | |
if not indexes: | |
return None | |
files = set() | |
for idx in indexes: | |
row = idx.row() | |
fpath = self.index(row, _COL_PATH).data() | |
files.add(fpath) | |
files = list(files) | |
data = QMimeData() | |
data.setUrls(files) | |
return data | |
def fetch_all_rows(self): | |
""" Fetches all the rows that the database has access to. SQLite only displays 256 rows as default """ | |
while self.canFetchMore(): | |
self.fetchMore() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment