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
This commit is contained in:
Peter Penz 2007-05-10 18:27:32 +00:00
parent a333c0d744
commit 6ab84fbd61
3 changed files with 16 additions and 30 deletions

View file

@ -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();
Q_ASSERT(m_view[PrimaryIdx] != 0);
m_view[PrimaryIdx]->refresh();
// delete view instance...
m_view[i]->close();
m_view[i]->deleteLater();
m_view[i] = 0;
}
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)

View file

@ -617,6 +617,11 @@ void DolphinView::reload()
startDirLister(url, true);
}
void DolphinView::refresh()
{
createView();
}
void DolphinView::mouseReleaseEvent(QMouseEvent* event)
{
QWidget::mouseReleaseEvent(event);

View file

@ -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.