MCPcopy Create free account
hub / github.com/FreesmTeam/FreesmLauncher / AllVersionProxyModel

Class AllVersionProxyModel

launcher/ui/widgets/ModFilterWidget.cpp:73–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

71};
72
73class 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
110ModFilterWidget::ModFilterWidget(MinecraftInstance* instance, bool extended, QWidget* parent)
111 : QTabWidget(parent), ui(new Ui::ModFilterWidget), m_instance(instance), m_filter(new Filter())

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected