[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdegraphics/gwenview
From: Aurélien Gâteau <agateau () kde ! org>
Date: 2010-10-25 23:03:17
Message-ID: 20101025230317.2CE17AC89A () svn ! kde ! org
[Download RAW message or body]
SVN commit 1189793 by gateau:
Zoom thumbnails when holding mouse wheel
BUG:219124
M +2 -0 app/thumbnailviewpanel.cpp
M +4 -3 lib/thumbnailview/thumbnailslider.cpp
M +8 -0 lib/thumbnailview/thumbnailview.cpp
M +4 -0 lib/thumbnailview/thumbnailview.h
--- trunk/KDE/kdegraphics/gwenview/app/thumbnailviewpanel.cpp #1189792:1189793
@@ -100,6 +100,8 @@
// Thumbnail slider
QObject::connect(mThumbnailSlider, SIGNAL(valueChanged(int)),
mThumbnailView, SLOT(setThumbnailSize(int)));
+ QObject::connect(mThumbnailView, SIGNAL(thumbnailSizeChanged(int)),
+ mThumbnailSlider, SLOT(setValue(int)));
}
void setupActions(KActionCollection* actionCollection) {
--- trunk/KDE/kdegraphics/gwenview/lib/thumbnailview/thumbnailslider.cpp #1189792:1189793
@@ -21,14 +21,15 @@
// Self
#include "thumbnailslider.moc"
+// Local
+#include <thumbnailview/thumbnailview.h>
+
// Qt
#include <QSlider>
#include <QToolTip>
// KDE
-// Local
-
namespace Gwenview {
@@ -41,7 +42,7 @@
, d(new ThumbnailSliderPrivate) {
connect(slider(), SIGNAL(actionTriggered(int)),
SLOT(slotActionTriggered(int)) );
- slider()->setRange(48, 256);
+ slider()->setRange(ThumbnailView::MinThumbnailSize, ThumbnailView::MaxThumbnailSize);
}
--- trunk/KDE/kdegraphics/gwenview/lib/thumbnailview/thumbnailview.cpp #1189792:1189793
@@ -66,6 +66,8 @@
const int DRAG_THUMB_SIZE = KIconLoader::SizeHuge;
const int DRAG_THUMB_SPACING = 4;
+const int WHEEL_ZOOM_MULTIPLIER = 4;
+
static KFileItem fileItemForIndex(const QModelIndex& index) {
if (!index.isValid()) {
LOG("Invalid index");
@@ -689,8 +691,14 @@
// For some reason it is necessary to set the step here: setting it in
// setThumbnailSize() does not work
//verticalScrollBar()->setSingleStep(d->mThumbnailSize / 5);
+ if (event->modifiers() == Qt::ControlModifier) {
+ int size = d->mThumbnailSize + (event->delta() > 0 ? 1 : -1) * WHEEL_ZOOM_MULTIPLIER;
+ size = qMax(int(MinThumbnailSize), qMin(size, int(MaxThumbnailSize)));
+ setThumbnailSize(size);
+ } else {
QListView::wheelEvent(event);
}
+}
void ThumbnailView::scrollToSelectedIndex() {
--- trunk/KDE/kdegraphics/gwenview/lib/thumbnailview/thumbnailview.h #1189792:1189793
@@ -43,6 +43,10 @@
class GWENVIEWLIB_EXPORT ThumbnailView : public QListView {
Q_OBJECT
public:
+ enum {
+ MinThumbnailSize = 48,
+ MaxThumbnailSize = 256
+ };
ThumbnailView(QWidget* parent);
~ThumbnailView();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic