MCPcopy Create free account
hub / github.com/MultiMC/Launcher / setSourceModel

Method setSourceModel

launcher/VersionProxyModel.cpp:302–357  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

300}
301
302void VersionProxyModel::setSourceModel(QAbstractItemModel *replacingRaw)
303{
304 auto replacing = dynamic_cast<BaseVersionList *>(replacingRaw);
305 beginResetModel();
306
307 m_columns.clear();
308 if(!replacing)
309 {
310 roles.clear();
311 filterModel->setSourceModel(replacing);
312 return;
313 }
314
315 roles = replacing->providesRoles();
316 if(roles.contains(BaseVersionList::VersionRole))
317 {
318 m_columns.push_back(Name);
319 }
320 /*
321 if(roles.contains(BaseVersionList::ParentVersionRole))
322 {
323 m_columns.push_back(ParentVersion);
324 }
325 */
326 if(roles.contains(BaseVersionList::ArchitectureRole))
327 {
328 m_columns.push_back(Architecture);
329 }
330 if(roles.contains(BaseVersionList::PathRole))
331 {
332 m_columns.push_back(Path);
333 }
334 if(roles.contains(Meta::VersionList::TimeRole))
335 {
336 m_columns.push_back(Time);
337 }
338 if(roles.contains(BaseVersionList::BranchRole))
339 {
340 m_columns.push_back(Branch);
341 }
342 if(roles.contains(BaseVersionList::TypeRole))
343 {
344 m_columns.push_back(Type);
345 }
346 if(roles.contains(BaseVersionList::RecommendedRole))
347 {
348 hasRecommended = true;
349 }
350 if(roles.contains(BaseVersionList::LatestRole))
351 {
352 hasLatest = true;
353 }
354 filterModel->setSourceModel(replacing);
355
356 endResetModel();
357}
358
359QModelIndex VersionProxyModel::getRecommended() const

Callers 11

MainWindowMethod · 0.80
AtlPageMethod · 0.80
PageMethod · 0.80
ModFolderPageMethod · 0.80
ScreenshotsPageMethod · 0.80
VersionPageMethod · 0.80
WorldListPageMethod · 0.80
PageContainerMethod · 0.80
initializeMethod · 0.80
ExportInstanceDialogMethod · 0.80

Calls 3

clearMethod · 0.45
providesRolesMethod · 0.45
containsMethod · 0.45

Tested by

no test coverage detected