void LdrViewer::slotPanIconSelectionMoved(QRect gotopos, bool mousereleased) { if (mousereleased) { scrollArea->horizontalScrollBar()->setValue((int)(gotopos.x()*scrollArea->getScaleFactor())); scrollArea->verticalScrollBar()->setValue((int)(gotopos.y()*scrollArea->getScaleFactor())); panIconWidget->close(); slotPanIconHidden(); } }
void GraphicsDImgView::slotPanIconSelectionMoved(const QRect& imageRect, bool b) { QRectF zoomRect = item()->zoomSettings()->mapImageToZoom(imageRect); qCDebug(DIGIKAM_WIDGETS_LOG) << imageRect << zoomRect; centerOn(item()->mapToScene(zoomRect.center())); if (b) { d->panIconPopup->hide(); d->panIconPopup->deleteLater(); d->panIconPopup = 0; slotPanIconHidden(); //slotContentLeaveFocus(); } }
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(); }