--- /dev/null
+This file is intended to keep notes about general coding stuff, code
+conventions or how to best interact with certain parts of Qt.
+
+
+
+Regarding QSortFilterProxyModel:
+========================================
+When subclassing QSortFilterProxyModel avoid the use of the following
+calls on QModelIndex and use their equivalents of QAbstractItemModel:
+
+inline QModelIndex QModelIndex::parent() const
+inline QModelIndex QModelIndex::sibling(int arow, int acolumn) const
+inline QModelIndex QModelIndex::child(int arow, int acolumn) const
+inline QVariant QModelIndex::data(int arole) const
+inline Qt::ItemFlags QModelIndex::flags() const
+
+For Example when reimplementing QSortFilterProxyModel::data(const
+QModelIndex &idx, int role):
+
+Avoid:
+ idx.data(role);
+
+Instead:
+ QModelIndex source_index = mapToSource(idx);
+ sourceModel()->data(idx, role);
+