diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphinview.cpp | 14 | ||||
| -rw-r--r-- | src/dolphinview.h | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index b1c0bf743..0bd24ecb3 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -87,6 +87,7 @@ DolphinView::DolphinView(QWidget* parent, m_storedCategorizedSorting(false), m_tabsForFiles(false), m_isContextMenuOpen(false), + m_ignoreViewProperties(false), m_mode(DolphinView::IconsView), m_topLayout(0), m_controller(0), @@ -455,6 +456,8 @@ void DolphinView::reload() void DolphinView::refresh() { + m_ignoreViewProperties = false; + const bool oldActivationState = m_active; const int oldZoomLevel = m_controller->zoomLevel(); m_active = true; @@ -1153,6 +1156,10 @@ KUrl DolphinView::viewPropertiesUrl() const void DolphinView::applyViewProperties(const KUrl& url) { + if (m_ignoreViewProperties) { + return; + } + if (isColumnViewActive() && rootUrl().isParentOf(url)) { // The column view is active, hence don't apply the view properties // of sub directories (represented by columns) to the view. The @@ -1222,6 +1229,13 @@ void DolphinView::applyViewProperties(const KUrl& url) // the used zoom level of the controller must be adjusted manually: updateZoomLevel(oldZoomLevel); } + + if (DolphinSettings::instance().generalSettings()->globalViewProps()) { + // During the lifetime of a DolphinView instance the global view properties + // should not be changed. This allows e. g. to split a view and use different + // view properties for each view. + m_ignoreViewProperties = true; + } } void DolphinView::createView() diff --git a/src/dolphinview.h b/src/dolphinview.h index 1852e784a..d558b4c5a 100644 --- a/src/dolphinview.h +++ b/src/dolphinview.h @@ -717,6 +717,7 @@ private: bool m_storedCategorizedSorting : 1; bool m_tabsForFiles : 1; bool m_isContextMenuOpen : 1; // TODO: workaround for Qt-issue 207192 + bool m_ignoreViewProperties : 1; Mode m_mode; |
