~ubuntu-branches/ubuntu/feisty/digikam/feisty

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/* ============================================================
 * Authors: Gilles Caulier <caulier dot gilles at kdemail dot net>
 * Date   : 2006-19-06
 * Description : digiKam KIO preview extractor interface
 *
 * Copyright 2006 by Gilles Caulier
 *
 * This program is free software; you can redistribute it
 * and/or modify it under the terms of the GNU General
 * Public License as published by the Free Software Foundation;
 * either version 2, or (at your option)
 * any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * ============================================================ */

#ifndef IMAGEPREVIEWJOB_H
#define IMAGEPREVIEWJOB_H

// KDE includes.

#include <kio/job.h>

class QImage;

class KURL;

namespace Digikam
{

class ImagePreviewJobPriv;

class ImagePreviewJob : public KIO::Job
{
    Q_OBJECT

public:

    ImagePreviewJob(const KURL& url, int size, bool exifRotate=false);
    ~ImagePreviewJob();

signals:

    void signalImagePreview(const KURL& url, const QImage& preview);
    void signalCompleted();
    void signalFailed(const KURL& url);

private:

    void getImagePreview();
    void createShmSeg();

protected slots:

    void slotResult(KIO::Job *job);
    void slotImagePreviewData(KIO::Job *job, const QByteArray &data);

private:

    ImagePreviewJobPriv *d;
};

}  // namespace Digikam

#endif /* IMAGEPREVIEWJOB_H */