~ubuntu-branches/ubuntu/trusty/gwenview/trusty

« back to all changes in this revision

Viewing changes to importer/documentdirfinder.h

  • Committer: Bazaar Package Importer
  • Author(s): Rohan Garg
  • Date: 2011-07-20 13:46:34 UTC
  • Revision ID: james.westby@ubuntu.com-20110720134634-92930fdjeed4gdc9
Tags: upstream-4.6.90+repack
Import upstream version 4.6.90+repack

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// vim: set tabstop=4 shiftwidth=4 noexpandtab:
 
2
/*
 
3
Gwenview: an image viewer
 
4
Copyright 2009 Aurélien Gâteau <agateau@kde.org>
 
5
 
 
6
This program is free software; you can redistribute it and/or
 
7
modify it under the terms of the GNU General Public License
 
8
as published by the Free Software Foundation; either version 2
 
9
of the License, or (at your option) any later version.
 
10
 
 
11
This program is distributed in the hope that it will be useful,
 
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
GNU General Public License for more details.
 
15
 
 
16
You should have received a copy of the GNU General Public License
 
17
along with this program; if not, write to the Free Software
 
18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA.
 
19
 
 
20
*/
 
21
#ifndef DOCUMENTDIRFINDER_H
 
22
#define DOCUMENTDIRFINDER_H
 
23
 
 
24
// Qt
 
25
#include <QObject>
 
26
 
 
27
// KDE
 
28
#include <kfileitem.h>
 
29
 
 
30
// Local
 
31
 
 
32
namespace Gwenview {
 
33
 
 
34
 
 
35
class DocumentDirFinderPrivate;
 
36
 
 
37
/**
 
38
 * This class is a worker which tries to find the document dir given a root
 
39
 * url. This is useful for digital camera cards, which often have a dir
 
40
 * hierarchy like this:
 
41
 * /DCIM
 
42
 *   /FOOBAR
 
43
 *     /PICT0001.JPG
 
44
 *     /PICT0002.JPG
 
45
 *     ...
 
46
 *     /PICTnnnn.JPG
 
47
 */
 
48
class DocumentDirFinder : public QObject {
 
49
        Q_OBJECT
 
50
public:
 
51
        enum Status {
 
52
                NoDocumentFound,
 
53
                DocumentDirFound,
 
54
                MultipleDirsFound
 
55
        };
 
56
 
 
57
        DocumentDirFinder(const KUrl& rootUrl);
 
58
        ~DocumentDirFinder();
 
59
 
 
60
        void start();
 
61
 
 
62
Q_SIGNALS:
 
63
        void done(const KUrl&, DocumentDirFinder::Status);
 
64
 
 
65
private Q_SLOTS:
 
66
        void slotItemsAdded(const KUrl&, const KFileItemList&);
 
67
        void slotCompleted();
 
68
 
 
69
private:
 
70
        DocumentDirFinderPrivate* const d;
 
71
        void finish(const KUrl&, Status);
 
72
};
 
73
 
 
74
 
 
75
} // namespace
 
76
 
 
77
#endif /* DOCUMENTDIRFINDER_H */