[Digikam-devel] [Bug 103645] zoom in with rectangle tool selection
Gilles Caulier
caulier.gilles at gmail.com
Fri Mar 30 12:00:33 BST 2007
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=103645
------- Additional Comments From caulier.gilles gmail com 2007-03-30 13:00 -------
SVN commit 648043 by cgilles:
digikam from trunk : Image Editor canvas :
- button from bottom/left corner of editor canvas used to handle pan icon widget, is now a toogle button. it show and hide pan icon view. No need to select a regio to pan to hide pan view. Just press again on the button.
- pan icon view is just more larger (90*60) ==> (120*80). More adapted to large screen.
CCBUGS: 103645
M +21 -8 canvas.cpp
M +1 -1 canvas.h
--- trunk/extragear/graphics/digikam/utilities/imageeditor/canvas/canvas.cpp #648042:648043
@ -164,6 +164,7 @
d->cornerButton = new QToolButton(this);
d->cornerButton->setIconSet(SmallIcon("move"));
+ d->cornerButton->setToggleButton(true);
d->cornerButton->hide();
setCornerWidget(d->cornerButton);
@ -176,8 +177,8 @
connect(this, SIGNAL(signalZoomChanged(float)),
this, SLOT(slotZoomChanged(float)));
- connect(d->cornerButton, SIGNAL(clicked()),
- this, SLOT(slotCornerButtonClicked()));
+ connect(d->cornerButton, SIGNAL(toggled(bool)),
+ this, SLOT(slotCornerButtonToggled(bool)));
connect(d->im, SIGNAL(signalColorManagementTool()),
this, SIGNAL(signalColorManagementTool()));
@ -1208,16 +1209,26 @
emit signalChanged();
}
-void Canvas::slotCornerButtonClicked()
+void Canvas::slotCornerButtonToggled(bool on)
{
+ if (!on)
+ {
+ if (d->panIconPopup)
+ {
+ d->panIconPopup->hide();
+ delete d->panIconPopup;
+ d->panIconPopup = 0;
+ }
+ return;
+ }
+
if (!d->panIconPopup)
{
- d->panIconPopup = new KPopupFrame(this);
-
- ImagePanIconWidget *pan = new ImagePanIconWidget(90, 60, d->panIconPopup);
+ d->panIconPopup = new KPopupFrame(this);
+ ImagePanIconWidget *pan = new ImagePanIconWidget(120, 80, d->panIconPopup);
d->panIconPopup->setMainWidget(pan);
- QRect r((int)(contentsX() / d->zoom), (int)(contentsY() / d->zoom),
+ QRect r((int)(contentsX() / d->zoom), (int)(contentsY() / d->zoom),
(int)(visibleWidth() / d->zoom), (int)(visibleHeight() / d->zoom));
pan->setRegionSelection(r);
@ -1228,7 +1239,8 @
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()));
+ d->panIconPopup->popup(QPoint(g.x() - d->panIconPopup->width(),
+ g.y() - d->panIconPopup->height()));
}
void Canvas::slotPanIconSelectionMoved(QRect r, bool b)
@ -1240,6 +1252,7 @
d->panIconPopup->hide();
delete d->panIconPopup;
d->panIconPopup = 0;
+ d->cornerButton->setOn(false);
}
}
--- trunk/extragear/graphics/digikam/utilities/imageeditor/canvas/canvas.h #648042:648043
@ -155,7 +155,7 @
void slotModified();
void slotImageLoaded(const QString& filePath, bool success);
void slotImageSaved(const QString& filePath, bool success);
- void slotCornerButtonClicked();
+ void slotCornerButtonToggled(bool);
void slotPanIconSelectionMoved(QRect, bool);
void slotZoomChanged(float);
More information about the Digikam-devel
mailing list