┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-05-10 18:27:32 +0000
committerPeter Penz <[email protected]>2007-05-10 18:27:32 +0000
commit6ab84fbd6129422dfa59c095087c7ceb1a9e1e50 (patch)
tree09c72fe1ac08c21fc8b1701ac742cc8abbb9f162
parenta333c0d7446e38c3ec93f41c6761a64dbf6f6b0d (diff)
don't lose the history of the URL navigator if the settings of the Icons View, Details View or Columns View have been changed
svn path=/trunk/KDE/kdebase/apps/; revision=663282
-rw-r--r--src/dolphinmainwindow.cpp34
-rw-r--r--src/dolphinview.cpp5
-rw-r--r--src/dolphinview.h7
3 files changed, 16 insertions, 30 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index d84775d59..12d864bd7 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -206,38 +206,12 @@ void DolphinMainWindow::rename(const KUrl& oldUrl, const KUrl& newUrl)
void DolphinMainWindow::refreshViews()
{
- const bool split = DolphinSettings::instance().generalSettings()->splitView();
- const bool isPrimaryViewActive = (m_activeView == m_view[PrimaryIdx]);
- KUrl url;
- for (int i = PrimaryIdx; i <= SecondaryIdx; ++i) {
- if (m_view[i] != 0) {
- url = m_view[i]->url();
-
- // delete view instance...
- m_view[i]->close();
- m_view[i]->deleteLater();
- m_view[i] = 0;
- }
+ Q_ASSERT(m_view[PrimaryIdx] != 0);
+ m_view[PrimaryIdx]->refresh();
- if (split || (i == PrimaryIdx)) {
- // ... and recreate it
- ViewProperties props(url);
- m_view[i] = new DolphinView(this,
- m_splitter,
- url,
- props.viewMode(),
- props.showHiddenFiles());
- connectViewSignals(i);
- m_view[i]->reload();
- m_view[i]->show();
- }
+ if (m_view[SecondaryIdx] != 0) {
+ m_view[SecondaryIdx]->refresh();
}
-
- m_activeView = isPrimaryViewActive ? m_view[PrimaryIdx] : m_view[SecondaryIdx];
- Q_ASSERT(m_activeView != 0);
-
- updateViewActions();
- emit activeViewChanged();
}
void DolphinMainWindow::changeUrl(const KUrl& url)
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp
index c51dbb464..84b765d4d 100644
--- a/src/dolphinview.cpp
+++ b/src/dolphinview.cpp
@@ -617,6 +617,11 @@ void DolphinView::reload()
startDirLister(url, true);
}
+void DolphinView::refresh()
+{
+ createView();
+}
+
void DolphinView::mouseReleaseEvent(QMouseEvent* event)
{
QWidget::mouseReleaseEvent(event);
diff --git a/src/dolphinview.h b/src/dolphinview.h
index 9581f6601..b3b206002 100644
--- a/src/dolphinview.h
+++ b/src/dolphinview.h
@@ -350,6 +350,13 @@ public:
/** Reloads the current directory. */
void reload();
+ /**
+ * Refreshs the view to get synchronized with the (updated) Dolphin settings.
+ * This method only needs to get invoked if the view settings for the Icons View,
+ * Details View or Columns View have been changed.
+ */
+ void refresh();
+
public slots:
/**
* Popups the filter bar above the status bar if \a show is true.