~neon/kdeplasma-addons/trunk

« back to all changes in this revision

Viewing changes to runners/events/collection_selector.cpp

  • Committer: asouza
  • Date: 2011-02-01 19:41:58 UTC
  • Revision ID: svn-v4:283d02a7-25f6-0310-bc7c-ecb5cbfe19da:trunk/KDE/kdeplasma-addons:1218275
Move kdeplasma-addons to git

- You can find information about the project in the link below:

https://projects.kde.org/projects/kde/kdeplasma-addons/repository

- And you can clone the repository using:

git clone git://anongit.kde.org/kdeplasma-addons


Thanks eean and all the sysadmins for the help.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 *   Copyright (C) 2010 Alexey Noskov <alexey.noskov@gmail.com>
3
 
 *
4
 
 *   This program is free software; you can redistribute it and/or
5
 
 *   modify it under the terms of the GNU General Public License as
6
 
 *   published by the Free Software Foundation; either version 2 of
7
 
 *   the License or (at your option) version 3 or any later version
8
 
 *   accepted by the membership of KDE e.V. (or its successor approved
9
 
 *   by the membership of KDE e.V.), which shall act as a proxy
10
 
 *   defined in Section 14 of version 3 of the license.
11
 
 *
12
 
 *   This program is distributed in the hope that it will be useful,
13
 
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 
 *   GNU General Public License for more details.
16
 
 *
17
 
 *   You should have received a copy of the GNU General Public License
18
 
 *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
 
 */
20
 
 
21
 
//Project-Includes
22
 
#include "collection_selector.h"
23
 
 
24
 
//KDE-Includes
25
 
#include <Akonadi/CollectionFetchJob>
26
 
 
27
 
//Qt-Includes
28
 
#include <QStringList>
29
 
 
30
 
using Akonadi::Collection;
31
 
using Akonadi::CollectionFetchJob;
32
 
 
33
 
CollectionSelector::CollectionSelector( QObject* parent ): QObject( parent ) {
34
 
}
35
 
 
36
 
void CollectionSelector::receiveCollections() {
37
 
    CollectionFetchJob *job = new CollectionFetchJob( Collection::root(), CollectionFetchJob::Recursive, this );
38
 
 
39
 
    connect( job, SIGNAL( collectionsReceived(Akonadi::Collection::List) ), this, SLOT( akonadiCollectionsReceived(Akonadi::Collection::List) ) );
40
 
}
41
 
 
42
 
void CollectionSelector::akonadiCollectionsReceived( const Collection::List& collections ) {
43
 
    foreach ( const Collection & collection, collections ) {
44
 
        if ( collection.contentMimeTypes().contains( eventMimeType ) )
45
 
            eventCollections.append( collection );
46
 
 
47
 
        if ( collection.contentMimeTypes().contains( todoMimeType ) )
48
 
            todoCollections.append( collection );
49
 
    }
50
 
 
51
 
    emit collectionsReceived( *this );
52
 
}
53
 
 
54
 
Collection CollectionSelector::selectCollectionById( const Collection::List& collections, Akonadi::Entity::Id id ) {
55
 
    foreach ( const Collection & collection, collections )
56
 
        if ( collection.id() == id )
57
 
            return collection;
58
 
 
59
 
    if ( !collections.isEmpty() )
60
 
        return collections.first();
61
 
 
62
 
    return Collection();
63
 
}