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

Method mouseReleaseEvent

launcher/ui/instanceview/InstanceView.cpp:377–439  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

375}
376
377void InstanceView::mouseReleaseEvent(QMouseEvent *event)
378{
379 executeDelayedItemsLayout();
380
381 QPoint visualPos = event->pos();
382 QPoint geometryPos = event->pos() + offset();
383 QPersistentModelIndex index = indexAt(visualPos);
384
385 VisualGroup::HitResults hitresult;
386
387 bool click = (index == m_pressedIndex && index.isValid()) ||
388 (m_pressedCategory && m_pressedCategory == categoryAt(geometryPos, hitresult));
389
390 if (click && m_pressedCategory)
391 {
392 if (state() == ExpandingState)
393 {
394 m_pressedCategory->collapsed = false;
395 emit groupStateChanged(m_pressedCategory->text, false);
396
397 updateGeometries();
398 viewport()->update();
399 event->accept();
400 m_pressedCategory = nullptr;
401 setState(NoState);
402 return;
403 }
404 else if (state() == CollapsingState)
405 {
406 m_pressedCategory->collapsed = true;
407 emit groupStateChanged(m_pressedCategory->text, true);
408
409 updateGeometries();
410 viewport()->update();
411 event->accept();
412 m_pressedCategory = nullptr;
413 setState(NoState);
414 return;
415 }
416 }
417
418 m_ctrlDragSelectionFlag = QItemSelectionModel::NoUpdate;
419
420 setState(NoState);
421
422 if (click)
423 {
424 if (event->button() == Qt::LeftButton)
425 {
426 emit clicked(index);
427 }
428 QStyleOptionViewItem option = viewOptions();
429 if (m_pressedAlreadySelected)
430 {
431 option.state |= QStyle::State_Selected;
432 }
433 if ((model()->flags(index) & Qt::ItemIsEnabled) &&
434 style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick, &option, this))

Callers

nothing calls this directly

Calls 4

isValidMethod · 0.45
updateMethod · 0.45
acceptMethod · 0.45
flagsMethod · 0.45

Tested by

no test coverage detected