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