┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
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 /src
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
Diffstat (limited to 'src')
-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.