┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2008-12-13 15:39:09 +0000
committerPeter Penz <[email protected]>2008-12-13 15:39:09 +0000
commit7fbc814147ed8d1e5f0b1677fc8808c3c2b6c22c (patch)
tree5b5d776e1b26e48b8842c6d615a60343b73354d7 /src
parentc91c770ef1a60e7966048ece0ebfe861c8b288d1 (diff)
only jump automatically to the current index, if the autoscrolling is not active
svn path=/trunk/KDE/kdebase/apps/; revision=896481
Diffstat (limited to 'src')
-rw-r--r--src/dolphincolumnwidget.cpp5
-rw-r--r--src/dolphincolumnwidget.h2
-rw-r--r--src/dolphindetailsview.cpp5
-rw-r--r--src/dolphindetailsview.h2
-rw-r--r--src/dolphiniconsview.cpp5
-rw-r--r--src/dolphiniconsview.h2
-rw-r--r--src/dolphinviewautoscroller.cpp5
-rw-r--r--src/dolphinviewautoscroller.h1
8 files changed, 21 insertions, 6 deletions
diff --git a/src/dolphincolumnwidget.cpp b/src/dolphincolumnwidget.cpp
index a9b0b8244..41fad2ea7 100644
--- a/src/dolphincolumnwidget.cpp
+++ b/src/dolphincolumnwidget.cpp
@@ -55,6 +55,7 @@ DolphinColumnWidget::DolphinColumnWidget(QWidget* parent,
m_active(true),
m_view(columnView),
m_selectionManager(0),
+ m_autoScroller(0),
m_url(url),
m_childUrl(),
m_font(),
@@ -78,7 +79,7 @@ DolphinColumnWidget::DolphinColumnWidget(QWidget* parent,
setVerticalScrollMode(QListView::ScrollPerPixel);
setHorizontalScrollMode(QListView::ScrollPerPixel);
- new DolphinViewAutoScroller(this);
+ m_autoScroller = new DolphinViewAutoScroller(this);
// apply the column mode settings to the widget
const ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
@@ -450,7 +451,7 @@ void DolphinColumnWidget::selectionChanged(const QItemSelection& selected, const
void DolphinColumnWidget::currentChanged(const QModelIndex& current, const QModelIndex& previous)
{
QListView::currentChanged(current, previous);
- if (current.isValid()) {
+ if (current.isValid() && !m_autoScroller->isActive()) {
scrollTo(current);
}
}
diff --git a/src/dolphincolumnwidget.h b/src/dolphincolumnwidget.h
index c1db48f8d..c1bf6a836 100644
--- a/src/dolphincolumnwidget.h
+++ b/src/dolphincolumnwidget.h
@@ -33,6 +33,7 @@ class DolphinColumnView;
class DolphinModel;
class DolphinSortFilterProxyModel;
class DolphinDirLister;
+class DolphinViewAutoScroller;
class KFilePreviewGenerator;
class KJob;
class KFileItem;
@@ -149,6 +150,7 @@ private:
bool m_active;
DolphinColumnView* m_view;
SelectionManager* m_selectionManager;
+ DolphinViewAutoScroller* m_autoScroller;
KUrl m_url; // URL of the directory that is shown
KUrl m_childUrl; // URL of the next column that is shown
diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp
index f92a28e79..1b651456a 100644
--- a/src/dolphindetailsview.cpp
+++ b/src/dolphindetailsview.cpp
@@ -55,6 +55,7 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr
m_ignoreScrollTo(false),
m_controller(controller),
m_selectionManager(0),
+ m_autoScroller(0),
m_font(),
m_decorationSize(),
m_band()
@@ -76,7 +77,7 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr
setEditTriggers(QAbstractItemView::NoEditTriggers);
setMouseTracking(true);
- new DolphinViewAutoScroller(this);
+ m_autoScroller = new DolphinViewAutoScroller(this);
const ViewProperties props(controller->url());
setSortIndicatorSection(props.sorting());
@@ -424,7 +425,7 @@ void DolphinDetailsView::wheelEvent(QWheelEvent* event)
void DolphinDetailsView::currentChanged(const QModelIndex& current, const QModelIndex& previous)
{
QTreeView::currentChanged(current, previous);
- if (current.isValid()) {
+ if (current.isValid() && !m_autoScroller->isActive()) {
scrollTo(current);
}
diff --git a/src/dolphindetailsview.h b/src/dolphindetailsview.h
index 1c7e0e9ca..8e48e8827 100644
--- a/src/dolphindetailsview.h
+++ b/src/dolphindetailsview.h
@@ -27,6 +27,7 @@
class DolphinController;
class SelectionManager;
+class DolphinViewAutoScroller;
/**
* @brief Represents the details view which shows the name, size,
@@ -181,6 +182,7 @@ private:
DolphinController* m_controller;
SelectionManager* m_selectionManager;
+ DolphinViewAutoScroller* m_autoScroller;
QFont m_font;
QSize m_decorationSize;
diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp
index 2e43656ba..d30ef321e 100644
--- a/src/dolphiniconsview.cpp
+++ b/src/dolphiniconsview.cpp
@@ -43,6 +43,7 @@ DolphinIconsView::DolphinIconsView(QWidget* parent, DolphinController* controlle
m_enableScrollTo(false),
m_controller(controller),
m_selectionManager(0),
+ m_autoScroller(0),
m_categoryDrawer(0),
m_font(),
m_decorationSize(),
@@ -62,7 +63,7 @@ DolphinIconsView::DolphinIconsView(QWidget* parent, DolphinController* controlle
viewport()->setAcceptDrops(true);
setMouseTracking(true);
- new DolphinViewAutoScroller(this);
+ m_autoScroller = new DolphinViewAutoScroller(this);
connect(this, SIGNAL(clicked(const QModelIndex&)),
controller, SLOT(requestTab(const QModelIndex&)));
@@ -317,7 +318,7 @@ void DolphinIconsView::leaveEvent(QEvent* event)
void DolphinIconsView::currentChanged(const QModelIndex& current, const QModelIndex& previous)
{
KCategorizedView::currentChanged(current, previous);
- if (current.isValid()) {
+ if (current.isValid() && !m_autoScroller->isActive()) {
scrollTo(current);
}
}
diff --git a/src/dolphiniconsview.h b/src/dolphiniconsview.h
index 966069641..28d0830fe 100644
--- a/src/dolphiniconsview.h
+++ b/src/dolphiniconsview.h
@@ -34,6 +34,7 @@
class DolphinController;
class SelectionManager;
class DolphinCategoryDrawer;
+class DolphinViewAutoScroller;
/**
* @brief Represents the view, where each item is shown as an icon.
@@ -92,6 +93,7 @@ private:
bool m_enableScrollTo;
DolphinController* m_controller;
SelectionManager* m_selectionManager;
+ DolphinViewAutoScroller* m_autoScroller;
DolphinCategoryDrawer* m_categoryDrawer;
QFont m_font;
diff --git a/src/dolphinviewautoscroller.cpp b/src/dolphinviewautoscroller.cpp
index 767a5b458..2a57cc157 100644
--- a/src/dolphinviewautoscroller.cpp
+++ b/src/dolphinviewautoscroller.cpp
@@ -48,6 +48,11 @@ DolphinViewAutoScroller::~DolphinViewAutoScroller()
{
}
+bool DolphinViewAutoScroller::isActive() const
+{
+ return m_timer->isActive();
+}
+
bool DolphinViewAutoScroller::eventFilter(QObject* watched, QEvent* event)
{
if (watched == m_itemView->viewport()) {
diff --git a/src/dolphinviewautoscroller.h b/src/dolphinviewautoscroller.h
index 6ef6631f7..3827b2326 100644
--- a/src/dolphinviewautoscroller.h
+++ b/src/dolphinviewautoscroller.h
@@ -38,6 +38,7 @@ class DolphinViewAutoScroller : public QObject
public:
DolphinViewAutoScroller(QAbstractItemView* parent);
virtual ~DolphinViewAutoScroller();
+ bool isActive() const;
protected:
virtual bool eventFilter(QObject* watched, QEvent* event);