┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/viewpropertiesdialog.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-03-11 16:47:12 +0000
committerPeter Penz <[email protected]>2007-03-11 16:47:12 +0000
commit25349096ae7fe344613d35e5548cac1a91b60fd1 (patch)
tree92ab776bc1a02653858148321b3defe80fe74063 /src/viewpropertiesdialog.cpp
parent66efe4d7061344dcd2070979dbe6ec4cb50df44b (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.cpp31
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();