From e536466ac75e7fa3cfdc18728596beac36996128 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Tue, 26 Jan 2010 08:27:42 +0000 Subject: * Assure that the URL navigator is synchronized with the active column. * Removed obsolete triggerUrlChangeRequest() method + signal in the DolphinController. This is not needed anymore because of the refactored column view. svn path=/trunk/KDE/kdebase/apps/; revision=1080351 --- src/dolphincolumnviewcontainer.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'src/dolphincolumnviewcontainer.cpp') diff --git a/src/dolphincolumnviewcontainer.cpp b/src/dolphincolumnviewcontainer.cpp index 3e067d413..839407117 100644 --- a/src/dolphincolumnviewcontainer.cpp +++ b/src/dolphincolumnviewcontainer.cpp @@ -30,6 +30,7 @@ #include #include #include +#include DolphinColumnViewContainer::DolphinColumnViewContainer(QWidget* parent, DolphinController* controller) : @@ -41,7 +42,8 @@ DolphinColumnViewContainer::DolphinColumnViewContainer(QWidget* parent, m_columns(), m_emptyViewport(0), m_animation(0), - m_dragSource(0) + m_dragSource(0), + m_activeUrlTimer(0) { Q_ASSERT(controller != 0); @@ -59,6 +61,12 @@ DolphinColumnViewContainer::DolphinColumnViewContainer(QWidget* parent, m_animation = new QTimeLine(500, this); connect(m_animation, SIGNAL(frameChanged(int)), horizontalScrollBar(), SLOT(setValue(int))); + m_activeUrlTimer = new QTimer(this); + m_activeUrlTimer->setSingleShot(true); + m_activeUrlTimer->setInterval(200); + connect(m_activeUrlTimer, SIGNAL(timeout()), + this, SLOT(updateActiveUrl())); + DolphinColumnView* column = new DolphinColumnView(viewport(), this, m_controller->url()); m_columns.append(column); setActiveColumnIndex(0); @@ -67,6 +75,7 @@ DolphinColumnViewContainer::DolphinColumnViewContainer(QWidget* parent, m_emptyViewport->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); updateColumnsBackground(true); + } DolphinColumnViewContainer::~DolphinColumnViewContainer() @@ -233,6 +242,12 @@ void DolphinColumnViewContainer::updateColumnsBackground(bool active) } } +void DolphinColumnViewContainer::updateActiveUrl() +{ + const KUrl activeUrl = m_columns[m_index]->url(); + m_controller->setUrl(activeUrl); +} + void DolphinColumnViewContainer::setActiveColumnIndex(int index) { if ((m_index == index) || (index < 0) || (index >= m_columns.count())) { @@ -248,6 +263,7 @@ void DolphinColumnViewContainer::setActiveColumnIndex(int index) m_columns[m_index]->setActive(true); assureVisibleActiveColumn(); + m_activeUrlTimer->start(); // calls slot updateActiveUrl() } void DolphinColumnViewContainer::layoutColumns() -- cgit v1.3