void GeneralCardItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { if (Config.FreeChoose && Qt::RightButton == event->button()) { FreeChooseDialog *general_changer = new FreeChooseDialog(QApplication::focusWidget()); connect(general_changer, SIGNAL(general_chosen(QString)), this, SLOT(changeGeneral(QString))); general_changer->exec(); general_changer->deleteLater(); return; } if (frozen) return; QPointF totalMove = mapToParent(event->pos()) - _m_lastMousePressScenePos; if (totalMove.x() * totalMove.x() + totalMove.y() * totalMove.y() < _S_MOVE_JITTER_TOLERANCE) emit clicked(); else emit released(); if (auto_back) { goBack(true, false); } }
CardItem::CardItem(const QString &general_name) :card(NULL), filtered_card(NULL), auto_back(true), frozen(false) { changeGeneral(general_name); }