void CopyFilterGUIConnectionItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) { QString text = QString("%1").arg(factor); if (isDecibel) text += " dB"; ResizingLineEdit* lineEdit = new ResizingLineEdit(""); connect(lineEdit, SIGNAL(editingFinished()), this, SLOT(lineEditEditingFinished())); QGraphicsProxyWidget* proxyItem = scene()->addWidget(lineEdit); QLineF l = line(); QPointF center = (l.p1() + l.p2()) / 2; QRectF rect; rect.setSize(lineEdit->size()); rect.moveCenter(center); proxyItem->setPos(rect.topLeft()); proxyItem->setZValue(10); lineEdit->setFocus(); }
void MessageTopicComboBox::setEditable(bool editable) { if (editable != QComboBox::isEditable()) { MatchFilterComboBox::setEditable(editable); if (lineEdit()) { blockSignals(true); int index = findText(currentTopic_); if (index < 0) setEditText(currentTopic_); else setCurrentIndex(index); blockSignals(false); connect(lineEdit(), SIGNAL(editingFinished()), this, SLOT(lineEditEditingFinished())); } } }