diff options
| author | Peter Penz <[email protected]> | 2007-03-11 16:47:12 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-03-11 16:47:12 +0000 |
| commit | 25349096ae7fe344613d35e5548cac1a91b60fd1 (patch) | |
| tree | 92ab776bc1a02653858148321b3defe80fe74063 /src/viewpropertiesdialog.cpp | |
| parent | 66efe4d7061344dcd2070979dbe6ec4cb50df44b (diff) | |
Allow to set the 'AdditionalInformation' property from KFileItemDelegate for each folder. Use case:
- Icons view for images: set 'Size' as additional property
- Icons view for media: show 'MIME type' as additional property
- Default Icons view: don't show any addtional property for a clean layout.
TODO: KFileItemDelagate::AdditionalInformation intersects with KDirModel::Columns when used in combination with the details view. Assure that the user does not get confronted with such implementation details in the user interface.
svn path=/trunk/KDE/kdebase/apps/; revision=641525
Diffstat (limited to 'src/viewpropertiesdialog.cpp')
| -rw-r--r-- | src/viewpropertiesdialog.cpp | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/src/viewpropertiesdialog.cpp b/src/viewpropertiesdialog.cpp index 81a1f7413..76a45061e 100644 --- a/src/viewpropertiesdialog.cpp +++ b/src/viewpropertiesdialog.cpp @@ -53,6 +53,7 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) : m_viewMode(0), m_sorting(0), m_sortOrder(0), + m_additionalInfo(0), m_showPreview(0), m_showHiddenFiles(0), m_applyToCurrentFolder(0), @@ -102,6 +103,15 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) : const int sortOrderIdx = (m_viewProps->sortOrder() == Qt::Ascending) ? 0 : 1; m_sortOrder->setCurrentIndex(sortOrderIdx); + QLabel* additionalInfoLabel = new QLabel(i18n("Additional information:"), propsBox); + m_additionalInfo = new QComboBox(propsBox); + m_additionalInfo->addItem(i18n("No Information"), KFileItemDelegate::NoInformation); + m_additionalInfo->addItem(i18n("MIME Type"), KFileItemDelegate::FriendlyMimeType); + m_additionalInfo->addItem(i18n("Size"), KFileItemDelegate::Size); + m_additionalInfo->addItem(i18n("Date"), KFileItemDelegate::ModificationTime); + const int addInfoIndex = m_additionalInfo->findData(m_viewProps->additionalInfo()); + m_additionalInfo->setCurrentIndex(addInfoIndex); + m_showPreview = new QCheckBox(i18n("Show preview"), propsBox); m_showPreview->setChecked(m_viewProps->showPreview()); @@ -116,8 +126,10 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) : propsBoxLayout->addWidget(m_sorting, 1, 1); propsBoxLayout->addWidget(sortOrderLabel, 2, 0); propsBoxLayout->addWidget(m_sortOrder, 2, 1); - propsBoxLayout->addWidget(m_showPreview, 3, 0); - propsBoxLayout->addWidget(m_showHiddenFiles, 4, 0); + propsBoxLayout->addWidget(additionalInfoLabel, 3, 0); + propsBoxLayout->addWidget(m_additionalInfo, 3, 1); + propsBoxLayout->addWidget(m_showPreview, 4, 0); + propsBoxLayout->addWidget(m_showHiddenFiles, 5, 0); topLayout->addWidget(propsBox); @@ -127,6 +139,8 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) : this, SLOT(slotSortingChanged(int))); connect(m_sortOrder, SIGNAL(activated(int)), this, SLOT(slotSortOrderChanged(int))); + connect(m_additionalInfo, SIGNAL(activated(int)), + this, SLOT(slotAdditionalInfoChanged(int))); connect(m_showPreview, SIGNAL(clicked()), this, SLOT(slotShowPreviewChanged())); connect(m_showHiddenFiles, SIGNAL(clicked()), @@ -214,6 +228,19 @@ void ViewPropertiesDialog::slotSortOrderChanged(int index) m_isDirty = true; } +void ViewPropertiesDialog::slotAdditionalInfoChanged(int index) +{ + KFileItemDelegate::AdditionalInformation info = KFileItemDelegate::NoInformation; + switch (index) { + case 1: info = KFileItemDelegate::FriendlyMimeType; break; + case 2: info = KFileItemDelegate::Size; break; + case 3: info = KFileItemDelegate::ModificationTime; break; + default: break; + } + m_viewProps->setAdditionalInfo(info); + m_isDirty = true; +} + void ViewPropertiesDialog::slotShowPreviewChanged() { const bool show = m_showPreview->isChecked(); |
