diff options
| author | Peter Penz <[email protected]> | 2010-10-29 15:12:59 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2010-10-29 15:12:59 +0000 |
| commit | 2f1051d1b41d0cf087099e71b9449a44b103e3ac (patch) | |
| tree | 1d6deb7916c1b58882fbe0446898f5108145cf54 /src/panels/folders/folderspanel.cpp | |
| parent | b1e69cae00a708aa50dbd03eca944e83a639d861 (diff) | |
Don't do an automatic horizontal scrolling, if the user has adjusted the horizontal scrollbar. The autoscrolling gets reactivated again if the vertical scrollbar has been moved by the user.
svn path=/trunk/KDE/kdebase/apps/; revision=1191098
Diffstat (limited to 'src/panels/folders/folderspanel.cpp')
| -rw-r--r-- | src/panels/folders/folderspanel.cpp | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp index 1b75f36bc..b825cb1fa 100644 --- a/src/panels/folders/folderspanel.cpp +++ b/src/panels/folders/folderspanel.cpp @@ -167,6 +167,7 @@ void FoldersPanel::showEvent(QShowEvent* event) m_treeView->setModel(m_proxyModel); m_proxyModel->setSorting(DolphinView::SortByName); m_proxyModel->setSortOrder(Qt::AscendingOrder); + m_treeView->setAutoHorizontalScroll(FoldersPanelSettings::autoScrolling()); new FolderExpander(m_treeView, m_proxyModel); @@ -177,12 +178,14 @@ void FoldersPanel::showEvent(QShowEvent* event) connect(m_treeView, SIGNAL(pressed(const QModelIndex&)), this, SLOT(updateMouseButtons())); + connect(m_treeView->horizontalScrollBar(), SIGNAL(sliderMoved(int)), + this, SLOT(slotHorizontalScrollBarMoved(int))); + connect(m_treeView->verticalScrollBar(), SIGNAL(sliderMoved(int)), + this, SLOT(slotVerticalScrollBarMoved(int))); + QVBoxLayout* layout = new QVBoxLayout(this); layout->setMargin(0); layout->addWidget(m_treeView); - - setAutoScrolling(FoldersPanelSettings::autoScrolling()); - setShowHiddenFiles(FoldersPanelSettings::showHiddenFiles()); } loadTree(url()); @@ -270,6 +273,22 @@ void FoldersPanel::slotDirListerCompleted() } } +void FoldersPanel::slotHorizontalScrollBarMoved(int value) +{ + Q_UNUSED(value); + // Disable the auto-scrolling until the vertical scrollbar has + // been moved by the user. + m_treeView->setAutoHorizontalScroll(false); +} + +void FoldersPanel::slotVerticalScrollBarMoved(int value) +{ + Q_UNUSED(value); + // Enable the auto-scrolling again (it might have been disabled by + // moving the horizontal scrollbar). + m_treeView->setAutoHorizontalScroll(FoldersPanelSettings::autoScrolling()); +} + void FoldersPanel::loadTree(const KUrl& url) { Q_ASSERT(m_dirLister != 0); |
