~ubuntu-branches/ubuntu/natty/digikam/natty

« back to all changes in this revision

Viewing changes to libs/widgets/metadata/metadatalistview.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Felix Geyer
  • Date: 2010-08-26 19:25:16 UTC
  • mfrom: (1.2.30 upstream)
  • Revision ID: james.westby@ubuntu.com-20100826192516-mkbdww0h5v2x4yoy
Tags: 2:1.4.0-0ubuntu1
* New upstream bugfix release (LP: #626751)
* Install the file NEWS as upstream changelog because "ChangeLog" is
  too verbose.
* Don't copy the desktop .pot file to imageplugins, not needed anymore.

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
 * Description : a generic list view widget to
8
8
 *               display metadata
9
9
 *
10
 
 * Copyright (c) 2006-2009 by Gilles Caulier <caulier dot gilles at gmail dot com>
 
10
 * Copyright (c) 2006-2010 by Gilles Caulier <caulier dot gilles at gmail dot com>
11
11
 *
12
12
 * This program is free software; you can redistribute it
13
13
 * and/or modify it under the terms of the GNU General
59
59
    labels.append( "Value" );       // no i18n here: hidden header
60
60
    setHeaderLabels(labels);
61
61
 
62
 
    m_parent = dynamic_cast<MetadataWidget *>(parent);
 
62
    m_parent = dynamic_cast<MetadataWidget*>(parent);
63
63
 
64
64
    connect(this, SIGNAL(itemClicked(QTreeWidgetItem*, int)),
65
65
            this, SLOT(slotSelectionChanged(QTreeWidgetItem*, int)));
73
73
{
74
74
    if (currentItem() && currentItem()->flags() & Qt::ItemIsSelectable)
75
75
    {
76
 
        MetadataListViewItem *item = static_cast<MetadataListViewItem *>(currentItem());
 
76
        MetadataListViewItem* item = static_cast<MetadataListViewItem*>(currentItem());
77
77
        return item->getKey();
78
78
    }
79
79
 
86
86
        return;
87
87
 
88
88
    int i                 = 0;
89
 
    QTreeWidgetItem *item = 0;
 
89
    QTreeWidgetItem* item = 0;
90
90
    do
91
91
    {
92
92
        item = topLevelItem(i);
109
109
    while (item);
110
110
}
111
111
 
112
 
void MetadataListView::slotSelectionChanged(QTreeWidgetItem *item, int)
 
112
void MetadataListView::slotSelectionChanged(QTreeWidgetItem* item, int)
113
113
{
114
114
    if (!item)
115
115
        return;
116
116
 
117
 
    MetadataListViewItem* viewItem = static_cast<MetadataListViewItem *>(item);
118
 
    m_selectedItemKey = viewItem->getKey();
119
 
    QString tagValue  = viewItem->getValue().simplified();
120
 
    QString tagTitle  = m_parent->getTagTitle(m_selectedItemKey);
121
 
    QString tagDesc   = m_parent->getTagDescription(m_selectedItemKey);
 
117
    MetadataListViewItem* viewItem = static_cast<MetadataListViewItem*>(item);
 
118
    m_selectedItemKey              = viewItem->getKey();
 
119
    QString tagValue               = viewItem->getValue().simplified();
 
120
    QString tagTitle               = m_parent->getTagTitle(m_selectedItemKey);
 
121
    QString tagDesc                = m_parent->getTagDescription(m_selectedItemKey);
122
122
    if (tagValue.length() > 128)
123
123
    {
124
124
        tagValue.truncate(128);
136
136
    clear();
137
137
 
138
138
    uint               subItems      = 0;
139
 
    MdKeyListViewItem *parentifDItem = 0;
 
139
    MdKeyListViewItem* parentifDItem = 0;
140
140
    QStringList        filters       = tagsFilter;
141
141
    QString            ifDItemName;
142
142
 
154
154
                delete parentifDItem;
155
155
 
156
156
            parentifDItem = new MdKeyListViewItem(this, currentIfDName);
157
 
            subItems = 0;
 
157
            subItems      = 0;
158
158
        }
159
159
 
160
160
        // We ignore all unknown tags if necessary.
200
200
    {
201
201
        foreach(const QString& key, filters)
202
202
        {
203
 
            MdKeyListViewItem *pitem = findMdKeyItem(key);
 
203
            MdKeyListViewItem* pitem = findMdKeyItem(key);
204
204
            if (!pitem)
205
205
                pitem = new MdKeyListViewItem(this, key.section('.', 1, 1));
206
206
 
220
220
 
221
221
    QStringList        filters       = tagsFilter;
222
222
    uint               subItems      = 0;
223
 
    MdKeyListViewItem *parentifDItem = 0;
 
223
    MdKeyListViewItem* parentifDItem = 0;
224
224
    if (ifds.count() == 0) return;
225
225
 
226
226
    for (QStringList::const_iterator itKeysFilter = keysFilter.constBegin();
227
227
         itKeysFilter != keysFilter.constEnd();
228
228
         ++itKeysFilter)
229
229
    {
230
 
        subItems = 0;
231
 
 
 
230
        subItems      = 0;
232
231
        parentifDItem = new MdKeyListViewItem(this, *itKeysFilter);
233
232
 
234
233
        DMetadata::MetaDataMap::const_iterator it = ifds.constEnd();
283
282
    {
284
283
        foreach(const QString &key, filters)
285
284
        {
286
 
            MdKeyListViewItem *pitem = findMdKeyItem(key);
 
285
            MdKeyListViewItem* pitem = findMdKeyItem(key);
287
286
            if (!pitem)
288
287
                pitem = new MdKeyListViewItem(this, key.section('.', 1, 1));
289
288
 
305
304
    QTreeWidgetItemIterator it2(this);
306
305
    while (*it2)
307
306
    {
308
 
        MdKeyListViewItem *item = dynamic_cast<MdKeyListViewItem*>(*it2);
 
307
        MdKeyListViewItem* item = dynamic_cast<MdKeyListViewItem*>(*it2);
309
308
        if (item)
310
309
            item->setHidden(false);
311
310
        ++it2;
314
313
    QTreeWidgetItemIterator it(this);
315
314
    while (*it)
316
315
    {
317
 
        MetadataListViewItem *item = dynamic_cast<MetadataListViewItem*>(*it);
 
316
        MetadataListViewItem* item = dynamic_cast<MetadataListViewItem*>(*it);
318
317
        if (item)
319
318
        {
320
319
            if (item->text(0).contains(search, settings.caseSensitive) ||
342
341
    QTreeWidgetItemIterator it(this);
343
342
    while (*it)
344
343
    {
345
 
        MdKeyListViewItem *item = dynamic_cast<MdKeyListViewItem*>(*it);
 
344
        MdKeyListViewItem* item = dynamic_cast<MdKeyListViewItem*>(*it);
346
345
        if (item)
347
346
        {
348
 
            int children   = item->childCount();
 
347
            int children = item->childCount();
349
348
            int visibles = 0;
350
349
            for (int i = 0 ; i < children; ++i)
351
350
            {
365
364
    QTreeWidgetItemIterator it(this);
366
365
    while (*it)
367
366
    {
368
 
        MdKeyListViewItem *item = dynamic_cast<MdKeyListViewItem*>(*it);
 
367
        MdKeyListViewItem* item = dynamic_cast<MdKeyListViewItem*>(*it);
369
368
        if (item)
370
369
        {
371
370
            if (key.section('.', 1, 1) == item->getKey())