X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/329aa0c5f7327f71f4727ab9c42d3e8d2005b4aa..0abbaf9e11d166da461bb33bc6abeb5ddfb5fa2c:/src/dolphinview.cpp diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 5d7ab076f..4964010c5 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -28,10 +28,10 @@ #include #include +#include #include #include #include -#include #include #include #include @@ -57,13 +57,12 @@ DolphinView::DolphinView(QWidget* parent, const KUrl& url, KDirLister* dirLister, KDirModel* dirModel, - DolphinSortFilterProxyModel* proxyModel, - Mode mode) : + DolphinSortFilterProxyModel* proxyModel) : QWidget(parent), m_active(true), m_loadingDirectory(false), m_initializeColumnView(false), - m_mode(mode), + m_mode(DolphinView::IconsView), m_topLayout(0), m_controller(0), m_iconsView(0), @@ -107,7 +106,7 @@ DolphinView::DolphinView(QWidget* parent, connect(m_controller, SIGNAL(viewportEntered()), this, SLOT(clearHoverInformation())); - createView(); + applyViewProperties(url); m_topLayout->addWidget(itemView()); } @@ -133,7 +132,7 @@ void DolphinView::setActive(bool active) m_active = active; - QColor color = KGlobalSettings::baseColor(); + QColor color = KColorScheme(KColorScheme::View).background(); if (active) { emit urlChanged(url()); emit selectionChanged(selectedItems()); @@ -416,9 +415,24 @@ void DolphinView::reload() void DolphinView::refresh() { createView(); + applyViewProperties(m_controller->url()); reload(); } +void DolphinView::setUrl(const KUrl& url) +{ + if (m_controller->url() == url) { + return; + } + + m_controller->setUrl(url); + + applyViewProperties(url); + + startDirLister(url); + emit urlChanged(url); +} + void DolphinView::mouseReleaseEvent(QMouseEvent* event) { QWidget::mouseReleaseEvent(event); @@ -582,14 +596,8 @@ void DolphinView::startDirLister(const KUrl& url, bool reload) } } -void DolphinView::setUrl(const KUrl& url) +void DolphinView::applyViewProperties(const KUrl& url) { - if (m_controller->url() == url) { - return; - } - - m_controller->setUrl(url); - const ViewProperties props(url); const Mode mode = props.viewMode(); @@ -615,6 +623,11 @@ void DolphinView::setUrl(const KUrl& url) m_initializeColumnView = true; } } + if (itemView() == 0) { + createView(); + } + Q_ASSERT(itemView() != 0); + Q_ASSERT(m_fileItemDelegate != 0); const bool showHiddenFiles = props.showHiddenFiles(); if (showHiddenFiles != m_dirLister->showingDotFiles()) { @@ -662,9 +675,6 @@ void DolphinView::setUrl(const KUrl& url) m_controller->setShowPreview(showPreview); emit showPreviewChanged(); } - - startDirLister(url); - emit urlChanged(url); } void DolphinView::changeSelection(const KFileItemList& selection)