┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-10-03 22:33:47 +0000
committerPeter Penz <[email protected]>2007-10-03 22:33:47 +0000
commit7ac3ed4e749789ae348a80638cc18906c697b306 (patch)
tree1e18ca10d7b56fe0a7a7624cb3885be10ba13cd5
parent65853e44faa9100522d8ed4c1224a60a43598736 (diff)
there is no need anymore to check whether the KDirLister is currently loading before invoking KDirModel::expandToUrl()
svn path=/trunk/KDE/kdebase/apps/; revision=720870
-rw-r--r--src/dolphincolumnview.cpp17
-rw-r--r--src/dolphincolumnview.h12
-rw-r--r--src/treeviewsidebarpage.cpp31
-rw-r--r--src/treeviewsidebarpage.h21
4 files changed, 24 insertions, 57 deletions
diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp
index 7cb87e654..d7fc15fc8 100644
--- a/src/dolphincolumnview.cpp
+++ b/src/dolphincolumnview.cpp
@@ -389,7 +389,6 @@ DolphinColumnView::DolphinColumnView(QWidget* parent, DolphinController* control
QAbstractItemView(parent),
m_controller(controller),
m_restoreActiveColumnFocus(false),
- m_dirListerCompleted(false),
m_index(-1),
m_contentX(0),
m_columns(),
@@ -477,10 +476,8 @@ void DolphinColumnView::setModel(QAbstractItemModel* model)
this, SLOT(triggerReloadColumns(const QModelIndex&)));
KDirLister* dirLister = m_dolphinModel->dirLister();
- connect(dirLister, SIGNAL(started(const KUrl&)),
- this, SLOT(slotDirListerStarted(const KUrl&)));
connect(dirLister, SIGNAL(completed()),
- this, SLOT(slotDirListerCompleted()));
+ this, SLOT(triggerExpandToActiveUrl()));
activeColumn()->setModel(model);
QAbstractItemView::setModel(model);
@@ -786,8 +783,7 @@ void DolphinColumnView::expandToActiveUrl()
Q_ASSERT(lastIndex >= 0);
const KUrl& activeUrl = m_columns[lastIndex]->url();
const KUrl rootUrl = m_dolphinModel->dirLister()->url();
- const bool expand = m_dirListerCompleted
- && rootUrl.isParentOf(activeUrl)
+ const bool expand = rootUrl.isParentOf(activeUrl)
&& !rootUrl.equals(activeUrl, KUrl::CompareWithoutTrailingSlash);
if (expand) {
m_dolphinModel->expandToUrl(activeUrl);
@@ -825,15 +821,8 @@ void DolphinColumnView::updateColumns()
}
}
-void DolphinColumnView::slotDirListerStarted(const KUrl& url)
+void DolphinColumnView::triggerExpandToActiveUrl()
{
- Q_UNUSED(url);
- m_dirListerCompleted = false;
-}
-
-void DolphinColumnView::slotDirListerCompleted()
-{
- m_dirListerCompleted = true;
QMetaObject::invokeMethod(this, "expandToActiveUrl", Qt::QueuedConnection);
}
diff --git a/src/dolphincolumnview.h b/src/dolphincolumnview.h
index 1a59e3919..4a6e6140c 100644
--- a/src/dolphincolumnview.h
+++ b/src/dolphincolumnview.h
@@ -119,17 +119,10 @@ private slots:
void updateColumns();
/**
- * Is invoked when the directory lister has started the loading
- * of the URL \a url and sets the internal m_dirListerCompleted
- * state to false.
- */
- void slotDirListerStarted(const KUrl& url);
-
- /**
* Is invoked when the directory lister has completed the loading
- * and sets the internal m_dirListerCompleted state to true.
+ * and invokes expandToActiveUrl() asynchronously.
*/
- void slotDirListerCompleted();
+ void triggerExpandToActiveUrl();
private:
bool isZoomInPossible() const;
@@ -164,7 +157,6 @@ private:
private:
DolphinController* m_controller;
bool m_restoreActiveColumnFocus;
- bool m_dirListerCompleted;
int m_index;
int m_contentX;
QList<ColumnWidget*> m_columns;
diff --git a/src/treeviewsidebarpage.cpp b/src/treeviewsidebarpage.cpp
index 27d8eddb8..d3ad163c9 100644
--- a/src/treeviewsidebarpage.cpp
+++ b/src/treeviewsidebarpage.cpp
@@ -38,7 +38,6 @@
TreeViewSidebarPage::TreeViewSidebarPage(QWidget* parent) :
SidebarPage(parent),
- m_dirListerCompleted(false),
m_dirLister(0),
m_dolphinModel(0),
m_proxyModel(0),
@@ -90,18 +89,17 @@ void TreeViewSidebarPage::showEvent(QShowEvent* event)
m_dirLister->setDelayedMimeTypes(true);
m_dirLister->setAutoErrorHandlingEnabled(false, this);
- m_dirListerCompleted = true;
connect(m_dirLister, SIGNAL(started(const KUrl&)),
this, SLOT(slotDirListerStarted(const KUrl&)));
connect(m_dirLister, SIGNAL(completed()),
- this, SLOT(slotDirListerCompleted()));
+ this, SLOT(triggerLoadSubTree()));
Q_ASSERT(m_dolphinModel == 0);
m_dolphinModel = new DolphinModel(this);
m_dolphinModel->setDirLister(m_dirLister);
m_dolphinModel->setDropsAllowed(DolphinModel::DropOnDirectory);
connect(m_dolphinModel, SIGNAL(expand(const QModelIndex&)),
- this, SLOT(triggerExpanding(const QModelIndex&)));
+ this, SLOT(triggerExpanding()));
Q_ASSERT(m_proxyModel == 0);
m_proxyModel = new DolphinSortFilterProxyModel(this);
@@ -167,14 +165,20 @@ void TreeViewSidebarPage::dropUrls(const KUrl::List& urls,
}
}
-void TreeViewSidebarPage::triggerExpanding(const QModelIndex& index)
+void TreeViewSidebarPage::triggerExpanding()
{
- Q_UNUSED(index);
// the expanding of the folders may not be done in the context
// of this slot
QMetaObject::invokeMethod(this, "expandToLeafDir", Qt::QueuedConnection);
}
+void TreeViewSidebarPage::triggerLoadSubTree()
+{
+ // the loading of the sub tree may not be done in the context
+ // of this slot
+ QMetaObject::invokeMethod(this, "loadSubTree", Qt::QueuedConnection);
+}
+
void TreeViewSidebarPage::expandToLeafDir()
{
// expand all directories until the parent directory of m_leafDir
@@ -192,6 +196,7 @@ void TreeViewSidebarPage::expandToLeafDir()
selModel->setCurrentIndex(proxyIndex, QItemSelectionModel::Select);
}
+
void TreeViewSidebarPage::loadSubTree()
{
QItemSelectionModel* selModel = m_treeView->selectionModel();
@@ -209,7 +214,7 @@ void TreeViewSidebarPage::loadSubTree()
const QModelIndex proxyIndex = m_proxyModel->mapFromSource(index);
m_treeView->scrollTo(proxyIndex);
selModel->setCurrentIndex(proxyIndex, QItemSelectionModel::Select);
- } else if (m_dirListerCompleted) {
+ } else {
// Load all sub directories that need to get expanded for making
// the leaf directory visible. The slot triggerExpanding() will
// get invoked if the expanding has been finished.
@@ -217,18 +222,6 @@ void TreeViewSidebarPage::loadSubTree()
}
}
-void TreeViewSidebarPage::slotDirListerStarted(const KUrl& url)
-{
- Q_UNUSED(url);
- m_dirListerCompleted = false;
-}
-
-void TreeViewSidebarPage::slotDirListerCompleted()
-{
- m_dirListerCompleted = true;
- QMetaObject::invokeMethod(this, "loadSubTree", Qt::QueuedConnection);
-}
-
void TreeViewSidebarPage::loadTree(const KUrl& url)
{
Q_ASSERT(m_dirLister != 0);
diff --git a/src/treeviewsidebarpage.h b/src/treeviewsidebarpage.h
index 524e18322..978323f40 100644
--- a/src/treeviewsidebarpage.h
+++ b/src/treeviewsidebarpage.h
@@ -78,7 +78,13 @@ private slots:
* Invokes expandToLeafDir() asynchronously (the expanding
* may not be done in the context of this slot).
*/
- void triggerExpanding(const QModelIndex& index);
+ void triggerExpanding();
+
+ /**
+ * Invokes loadSubTree() asynchronously (the loading
+ * may not be done in the context of this slot).
+ */
+ void triggerLoadSubTree();
/**
* Expands all directories to make m_leafDir visible and
@@ -93,19 +99,6 @@ private slots:
*/
void loadSubTree();
- /**
- * Is invoked when the directory lister has started the loading
- * of the URL \a url and sets the internal m_dirListerCompleted
- * state to false.
- */
- void slotDirListerStarted(const KUrl& url);
-
- /**
- * Is invoked when the directory lister has completed the loading
- * and sets the internal m_dirListerCompleted state to true.
- */
- void slotDirListerCompleted();
-
private:
/**
* Initializes the base URL of the tree and expands all