| 71 | }; |
| 72 | |
| 73 | class AllVersionProxyModel : public QSortFilterProxyModel { |
| 74 | Q_OBJECT |
| 75 | |
| 76 | public: |
| 77 | AllVersionProxyModel(QObject* parent = nullptr) : QSortFilterProxyModel(parent) {} |
| 78 | |
| 79 | int rowCount(const QModelIndex& parent = QModelIndex()) const override { return QSortFilterProxyModel::rowCount(parent) + 1; } |
| 80 | |
| 81 | QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override |
| 82 | { |
| 83 | if (!index.isValid()) { |
| 84 | return {}; |
| 85 | } |
| 86 | |
| 87 | if (index.row() == 0) { |
| 88 | if (role == Qt::DisplayRole) { |
| 89 | return tr("All Versions"); |
| 90 | } |
| 91 | if (role == Qt::UserRole) { |
| 92 | return "all"; |
| 93 | } |
| 94 | return {}; |
| 95 | } |
| 96 | |
| 97 | QModelIndex newIndex = QSortFilterProxyModel::index(index.row() - 1, index.column()); |
| 98 | return QSortFilterProxyModel::data(newIndex, role); |
| 99 | } |
| 100 | |
| 101 | Qt::ItemFlags flags(const QModelIndex& index) const override |
| 102 | { |
| 103 | if (index.row() == 0) { |
| 104 | return Qt::ItemIsSelectable | Qt::ItemIsEnabled; |
| 105 | } |
| 106 | return QSortFilterProxyModel::flags(index); |
| 107 | } |
| 108 | }; |
| 109 | |
| 110 | ModFilterWidget::ModFilterWidget(MinecraftInstance* instance, bool extended, QWidget* parent) |
| 111 | : QTabWidget(parent), ui(new Ui::ModFilterWidget), m_instance(instance), m_filter(new Filter()) |
nothing calls this directly
no test coverage detected