void PanIconWidget::hideEvent(QHideEvent* e) { QWidget::hideEvent(e); d->timer->stop(); if ( d->moveSelection ) { d->moveSelection = false; setCursor( Qt::ArrowCursor ); emit signalHidden(); } }
void GraphicsDImgView::slotCornerButtonPressed() { if (d->panIconPopup) { d->panIconPopup->hide(); d->panIconPopup->deleteLater(); d->panIconPopup = 0; } d->panIconPopup = new PanIconFrame(this); PanIconWidget* const pan = new PanIconWidget(d->panIconPopup); //connect(pan, SIGNAL(signalSelectionTakeFocus()), // this, SIGNAL(signalContentTakeFocus())); connect(pan, SIGNAL(signalSelectionMoved(QRect,bool)), this, SLOT(slotPanIconSelectionMoved(QRect,bool))); connect(pan, SIGNAL(signalHidden()), this, SLOT(slotPanIconHidden())); pan->setImage(180, 120, item()->image()); QRectF sceneRect(mapToScene(viewport()->rect().topLeft()), mapToScene(viewport()->rect().bottomRight())); pan->setRegionSelection(item()->zoomSettings()->sourceRect(sceneRect).toRect()); pan->setMouseFocus(); d->panIconPopup->setMainWidget(pan); //slotContentTakeFocus(); QPoint g = mapToGlobal(viewport()->pos()); g.setX(g.x()+ viewport()->size().width()); g.setY(g.y()+ viewport()->size().height()); d->panIconPopup->popup(QPoint(g.x() - d->panIconPopup->width(), g.y() - d->panIconPopup->height())); pan->setCursorToLocalRegionSelectionCenter(); }