Use the magic QFlags I love so much.

svn path=/trunk/KDE/kdebase/apps/; revision=1036578
This commit is contained in:
Sebastian Trueg 2009-10-17 13:16:45 +00:00
parent 59c430bb3f
commit e1dde0669f
3 changed files with 15 additions and 12 deletions

View file

@ -254,7 +254,7 @@ void MetaDataConfigurationDialog::slotButtonClicked(int button)
if (button == KDialog::Ok) {
KConfig config("kmetainformationrc", KConfig::NoGlobals);
KConfigGroup showGroup = config.group("Show");
const int count = d->m_metaDataList->count();
for (int i = 0; i < count; ++i) {
QListWidgetItem* item = d->m_metaDataList->item(i);
@ -262,13 +262,12 @@ void MetaDataConfigurationDialog::slotButtonClicked(int button)
const QString key = item->data(Qt::UserRole).toString();
showGroup.writeEntry(key, show);
}
showGroup.sync();
if (d->m_metaDataWidget != 0) {
// trigger an update
const int data = d->m_metaDataWidget->hiddenData();
d->m_metaDataWidget->setHiddenData(data);
d->m_metaDataWidget->setHiddenData(d->m_metaDataWidget->hiddenData());
}
accept();
} else {

View file

@ -96,7 +96,7 @@ public:
*/
void startChangeDataJob(KJob* job);
int m_hiddenData;
MetaDataTypes m_hiddenData;
QList<KFileItem> m_fileItems;
QList<Row> m_rows;
@ -169,7 +169,7 @@ private:
};
MetaDataWidget::Private::Private(MetaDataWidget* parent) :
m_hiddenData(0),
m_hiddenData(None),
m_fileItems(),
m_rows(),
m_gridLayout(0),
@ -314,7 +314,7 @@ void MetaDataWidget::Private::initMetaInfoSettings()
}
void MetaDataWidget::Private::updateRowsVisibility()
{
{
KConfig config("kmetainformationrc", KConfig::NoGlobals);
KConfigGroup settings = config.group("Show");
setRowVisible(m_typeInfo,
@ -653,13 +653,13 @@ KFileItemList MetaDataWidget::items() const
return d->m_fileItems;
}
void MetaDataWidget::setHiddenData(int data)
void MetaDataWidget::setHiddenData(MetaDataTypes data)
{
d->m_hiddenData = data;
d->updateRowsVisibility();
}
int MetaDataWidget::hiddenData() const
MetaDataWidget::MetaDataTypes MetaDataWidget::hiddenData() const
{
return d->m_hiddenData;
}

View file

@ -61,8 +61,9 @@ public:
* @see MetaDataWidget::setHiddenData()
* @see MetaDataWidget::hiddenData()
*/
enum Data
enum MetaDataType
{
None = 0,
TypeData = 1,
SizeData= 2,
ModifiedData = 4,
@ -72,6 +73,7 @@ public:
TagsData = 64,
CommentData = 128
};
Q_DECLARE_FLAGS( MetaDataTypes, MetaDataType )
explicit MetaDataWidget(QWidget* parent = 0);
virtual ~MetaDataWidget();
@ -115,13 +117,13 @@ public:
* Example: metaDataWidget->setHiddenData(MetaDataWidget::TypeData | ModifiedData);
* Per default no data is hidden.
*/
void setHiddenData(int data);
void setHiddenData(MetaDataTypes data);
/**
* Returns which kind of data is hidden (@see MetaDataWidget::Data).
* Example: if (metaDataWidget->hiddenData() & MetaDataWidget::TypeData) ...
*/
int hiddenData() const;
MetaDataTypes hiddenData() const;
/**
* Returns the rating for the currently set item(s). It is required
@ -195,4 +197,6 @@ private:
Q_PRIVATE_SLOT(d, void slotMetaDataUpdateDone())
};
Q_DECLARE_OPERATORS_FOR_FLAGS(MetaDataWidget::MetaDataTypes)
#endif