diff options
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); |
