X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/dbc8874c00c35aaefacdd03f8aef9e4ac4e2be01..d05e966ef46363efc77699c85d51a19b75c89fff:/src/viewpropertiesdialog.cpp diff --git a/src/viewpropertiesdialog.cpp b/src/viewpropertiesdialog.cpp index 36fe0a954..4dbf16eaa 100644 --- a/src/viewpropertiesdialog.cpp +++ b/src/viewpropertiesdialog.cpp @@ -122,14 +122,22 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) : QLabel* additionalInfoLabel = new QLabel(i18nc("@label:listbox", "Additional information:"), propsBox); m_additionalInfo = new QComboBox(propsBox); - m_additionalInfo->addItem(i18nc("@item:inlistbox Additional info", "No Information"), - KFileItemDelegate::NoInformation); - m_additionalInfo->addItem(i18nc("@item:inlistbox Additional info", "Type"), - KFileItemDelegate::FriendlyMimeType); - m_additionalInfo->addItem(i18nc("@item:inlistbox Additional info", "Size"), - KFileItemDelegate::Size); - m_additionalInfo->addItem(i18nc("@item:inlistbox Additional info", "Date"), - KFileItemDelegate::ModificationTime); + m_additionalInfo->addItem(i18nc("@item:inlistbox Additional info", + "No Information"), NoInfo); + m_additionalInfo->addItem(i18nc("@item:inlistbox Additional info", + "Type"), TypeInfo); + m_additionalInfo->addItem(i18nc("@item:inlistbox Additional info", + "Size"), SizeInfo); + m_additionalInfo->addItem(i18nc("@item:inlistbox Additional info", + "Date"), DateInfo); + m_additionalInfo->addItem(i18nc("@item:inlistbox Additional info", + "Type, Size"), TypeInfo | SizeInfo); + m_additionalInfo->addItem(i18nc("@item:inlistbox Additional info", + "Type, Date"), TypeInfo | DateInfo); + m_additionalInfo->addItem(i18nc("@item:inlistbox Additional info", + "Size, Date"), SizeInfo | DateInfo); + m_additionalInfo->addItem(i18nc("@item:inlistbox Additional info", + "Type, Size, Date"),TypeInfo | SizeInfo | DateInfo); m_showPreview = new QCheckBox(i18nc("@option:check", "Show preview"), propsBox); m_showInGroups = new QCheckBox(i18nc("@option:check", "Show in Groups"), propsBox); @@ -223,7 +231,7 @@ ViewPropertiesDialog::~ViewPropertiesDialog() KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "ViewPropertiesDialog"); - saveDialogSize(dialogConfig, KConfigFlags::Persistent); + saveDialogSize(dialogConfig, KConfigBase::Persistent); } void ViewPropertiesDialog::slotOk() @@ -269,14 +277,20 @@ void ViewPropertiesDialog::slotCategorizedSortingChanged() void ViewPropertiesDialog::slotAdditionalInfoChanged(int index) { - KFileItemDelegate::InformationList info; - switch (index) { - case 1: info << KFileItemDelegate::FriendlyMimeType; break; - case 2: info << KFileItemDelegate::Size; break; - case 3: info << KFileItemDelegate::ModificationTime; break; - default: break; + const int info = m_additionalInfo->itemData(index).toInt(); + + KFileItemDelegate::InformationList list; + if (info & TypeInfo) { + list.append(KFileItemDelegate::FriendlyMimeType); + } + if (info & SizeInfo) { + list.append(KFileItemDelegate::Size); } - m_viewProps->setAdditionalInfo(info); + if (info & DateInfo) { + list.append(KFileItemDelegate::ModificationTime); + } + + m_viewProps->setAdditionalInfo(list); m_isDirty = true; } @@ -376,8 +390,25 @@ void ViewPropertiesDialog::loadSettings() m_sorting->setCurrentIndex(m_viewProps->sorting()); // load additional info - KFileItemDelegate::InformationList info = m_viewProps->additionalInfo(); - const int addInfoIndex = m_additionalInfo->findData(info.isEmpty() ? KFileItemDelegate::NoInformation : info.first()); + const KFileItemDelegate::InformationList list = m_viewProps->additionalInfo(); + int info = NoInfo; + foreach (KFileItemDelegate::Information currentInfo, list) { + switch (currentInfo) { + case KFileItemDelegate::FriendlyMimeType: + info = info | TypeInfo; + break; + case KFileItemDelegate::Size: + info = info | SizeInfo; + break; + case KFileItemDelegate::ModificationTime: + info = info | DateInfo; + break; + default: + break; + } + } + + const int addInfoIndex = m_additionalInfo->findData(info); m_additionalInfo->setCurrentIndex(addInfoIndex); m_additionalInfo->setEnabled(iconsViewEnabled);