MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / onVersionFilterChanged

Method onVersionFilterChanged

launcher/ui/widgets/ModFilterWidget.cpp:114–159  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

112}
113
114void ModFilterWidget::onVersionFilterChanged(int id)
115{
116 //ui->lowerVersionComboBox->setEnabled(id == VersionButtonID::Between);
117 //ui->upperVersionComboBox->setEnabled(id == VersionButtonID::Between);
118
119 int index = 1;
120
121 auto cast_id = (VersionButtonID) id;
122 if (cast_id != m_version_id) {
123 m_version_id = cast_id;
124 } else {
125 return;
126 }
127
128 m_filter->versions.clear();
129
130 switch(cast_id){
131 case(VersionButtonID::Strict):
132 m_filter->versions.push_front(mcVersion());
133 break;
134 case(VersionButtonID::Major): {
135 auto versionSplit = mcVersionStr().split(".");
136
137 auto major_version = QString("%1.%2").arg(versionSplit[0], versionSplit[1]);
138 QString version_str = major_version;
139
140 while (m_version_list->hasVersion(version_str)) {
141 m_filter->versions.emplace_back(version_str);
142 version_str = QString("%1.%2").arg(major_version, QString::number(index++));
143 }
144
145 break;
146 }
147 case(VersionButtonID::All):
148 // Empty list to avoid enumerating all versions :P
149 break;
150 case(VersionButtonID::Between):
151 // TODO
152 break;
153 }
154
155 if(changed())
156 emit filterChanged();
157 else
158 emit filterUnchanged();
159}
160
161ModFilterWidget::~ModFilterWidget()
162{

Callers

nothing calls this directly

Calls 3

QStringClass · 0.85
hasVersionMethod · 0.80
clearMethod · 0.45

Tested by

no test coverage detected