Skip to content

Instantly share code, notes, and snippets.

@ben-hearn-sb
Created January 14, 2021 21:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ben-hearn-sb/61993bf1bf8aa403c6a237d56188667f to your computer and use it in GitHub Desktop.
Save ben-hearn-sb/61993bf1bf8aa403c6a237d56188667f to your computer and use it in GitHub Desktop.
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)
mime_data = QMimeData()
mime_data.setUrls(files[0])
mime_data.setText(files[0])
b = bytearray()
b.extend(map(ord, files[0]))
mime_data.setData('text/plain', QByteArray(b))
return mime_data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment