From 2ba5c2cfc2cea534cccd860f94a7198530b83594 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sun, 11 Mar 2012 19:02:45 +0100 Subject: First step to introduce dynamic roles Currently Dolphin is only capable of showing a fixed number of roles (e.g. name, size, date, owner, ...). Dolphin 2.1 should support also other roles like rating, tags, comments or other meta-information of images or audio-files. To support this the sorting-type and additional-type from DolphinView has been replaced by a role-type represented as QByteArray. --- src/settings/additionalinfodialog.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'src/settings/additionalinfodialog.cpp') diff --git a/src/settings/additionalinfodialog.cpp b/src/settings/additionalinfodialog.cpp index 9b47e928f..6bcee4a1b 100644 --- a/src/settings/additionalinfodialog.cpp +++ b/src/settings/additionalinfodialog.cpp @@ -25,12 +25,12 @@ #include #include -#include "views/additionalinfoaccessor.h" +#include "views/rolesaccessor.h" AdditionalInfoDialog::AdditionalInfoDialog(QWidget* parent, - const QList& infoList) : + const QList& visibleRoles) : KDialog(parent), - m_infoList(infoList), + m_visibleRoles(visibleRoles), m_checkBoxes() { setCaption(i18nc("@title:window", "Additional Information")); @@ -48,11 +48,11 @@ AdditionalInfoDialog::AdditionalInfoDialog(QWidget* parent, layout->addWidget(header); // Add checkboxes - const AdditionalInfoAccessor& infoAccessor = AdditionalInfoAccessor::instance(); - const QList keys = infoAccessor.keys(); - foreach (DolphinView::AdditionalInfo info, keys) { - QCheckBox* checkBox = new QCheckBox(infoAccessor.translation(info), mainWidget); - checkBox->setChecked(infoList.contains(info)); + const RolesAccessor& rolesAccessor = RolesAccessor::instance(); + const QList roles = rolesAccessor.roles(); + foreach (const QByteArray& role, roles) { + QCheckBox* checkBox = new QCheckBox(rolesAccessor.translation(role), mainWidget); + checkBox->setChecked(visibleRoles.contains(role)); layout->addWidget(checkBox); m_checkBoxes.append(checkBox); } @@ -75,20 +75,20 @@ AdditionalInfoDialog::~AdditionalInfoDialog() saveDialogSize(dialogConfig, KConfigBase::Persistent); } -QList AdditionalInfoDialog::informationList() const +QList AdditionalInfoDialog::visibleRoles() const { - return m_infoList; + return m_visibleRoles; } void AdditionalInfoDialog::slotOk() { - m_infoList.clear(); + m_visibleRoles.clear(); - const QList keys = AdditionalInfoAccessor::instance().keys(); + const QList roles = RolesAccessor::instance().roles(); int index = 0; - foreach (DolphinView::AdditionalInfo info, keys) { + foreach (const QByteArray& role, roles) { if (m_checkBoxes[index]->isChecked()) { - m_infoList.append(info); + m_visibleRoles.append(role); } ++index; } -- cgit v1.3