From e3ed05b37249e487c46ab3e0512b43a8bd9316fc Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sat, 5 Jan 2008 22:09:07 +0000 Subject: Remember the additional-info property (size, date, type, ...) for each view mode (icons view, details view, column view) individually. BUG: 154434 CCMAIL: hein@kde.org svn path=/trunk/KDE/kdebase/apps/; revision=757791 --- src/dolphindetailsview.cpp | 32 +------------------------------- 1 file changed, 1 insertion(+), 31 deletions(-) (limited to 'src/dolphindetailsview.cpp') diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index 886f3f9a6..4fdb76e1a 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -46,7 +46,6 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr m_controller(controller), m_font(), m_decorationSize(), - m_clearAdditionalInfo(false), m_dragging(false), m_showElasticBand(false), m_elasticBandOrigin(), @@ -357,20 +356,6 @@ void DolphinDetailsView::resizeEvent(QResizeEvent* event) } } -void DolphinDetailsView::closeEvent(QCloseEvent* event) -{ - if (m_clearAdditionalInfo) { - disconnect(m_controller->dolphinView(), SIGNAL(additionalInfoChanged(const KFileItemDelegate::InformationList&)), - this, SLOT(updateColumnVisibility())); - - KFileItemDelegate::InformationList info; - info.append(KFileItemDelegate::NoInformation); - m_controller->indicateAdditionalInfoChange(info); - m_clearAdditionalInfo = false; - } - QTreeView::closeEvent(event); -} - void DolphinDetailsView::setSortIndicatorSection(DolphinView::Sorting sorting) { QHeaderView* headerView = header(); @@ -497,27 +482,12 @@ void DolphinDetailsView::configureColumns(const QPoint& pos) void DolphinDetailsView::updateColumnVisibility() { - KFileItemDelegate::InformationList list = m_controller->dolphinView()->additionalInfo(); - const bool useDefaultColumns = !isVisible() && - (list.isEmpty() || - list.contains(KFileItemDelegate::NoInformation)); - if (useDefaultColumns) { - // Using the details view without any additional information (-> additional column) - // makes no sense and leads to a usability problem as no viewport area is available - // anymore. Hence as fallback provide at least a size and date column. - list.clear(); - list.append(KFileItemDelegate::Size); - list.append(KFileItemDelegate::ModificationTime); - m_controller->indicateAdditionalInfoChange(list); - m_clearAdditionalInfo = true; - } - + const KFileItemDelegate::InformationList list = m_controller->dolphinView()->additionalInfo(); for (int i = DolphinModel::Size; i <= DolphinModel::Type; ++i) { const KFileItemDelegate::Information info = infoForColumn(i); const bool hide = !list.contains(info); if (isColumnHidden(i) != hide) { setColumnHidden(i, hide); - m_clearAdditionalInfo = false; } } -- cgit v1.3