summaryrefslogtreecommitdiffstats
path: root/kipi-plugins/kameraklient/cameraiconitem.cpp
blob: 77c4e1b4274da0ee39e57dcbb0135359444dee4a (plain)
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/* ============================================================
 * File  : cameraiconitem.cpp
 * Author: Renchi Raju <[email protected]>
 * Date  : 2003-01-23
 * Description : 
 * 
 * Copyright 2003 by Renchi Raju <[email protected]>

 * 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.
 * 
 * ============================================================ */

// Qt
#include <qstring.h>
#include <qpixmap.h>
#include <qimage.h>
#include <qpainter.h>
#include <qpalette.h>
// Local
#include "gpfileiteminfo.h"
#include "cameraiconview.h"
#include "cameraiconitem.h"

namespace KIPIKameraKlientPlugin
{

const char* CameraIconItem::new_xpm[] = {
"13 13 8 1",
"       c None",
".      c #232300",
"+      c #F6F611",
"@      c #000000",
"#      c #DBDA4D",
"$      c #FFFF00",
"%      c #AAA538",
"&      c #E8E540",
"      .      ",
"  .  .+.  .  ",
" @#@ .$. .#. ",
"  @$@#$#@$.  ",
"   @$%&%$@   ",
" ..#%&&&%#.. ",
".+$$&&&&&$$+@",
" ..#%&&&%#@@ ",
"   @$%&%$@   ",
"  .$@#$#@$.  ",
" @#. @$@ @#. ",
"  .  @+@  .  ",
"      @      "};


QPixmap* CameraIconItem::newEmblem = 0;

CameraIconItem::CameraIconItem(ThumbView* parent, const GPFileItemInfo* fileInfo, const QPixmap& pixmap)
    : ThumbItem(parent, fileInfo->name, pixmap), fileInfo_(fileInfo) {
    pixWidth_  = pixmap.width();
    pixHeight_ = pixmap.height();
    loadNewEmblem();
}

CameraIconItem::~CameraIconItem() {
    if(newEmblem) {
        delete newEmblem;
        newEmblem = 0;
    }
}

const GPFileItemInfo* CameraIconItem::fileInfo() {
    return fileInfo_;    
}

void CameraIconItem::loadNewEmblem() {
    if (!newEmblem) {
        newEmblem = new QPixmap(new_xpm);
    }
}

void CameraIconItem::setPixmap(const QImage& thumb) {
    int size = pixmap()->width();
    pixWidth_  = thumb.width();
    pixHeight_ = thumb.height();
    QPainter painter;
    painter.begin(pixmap());
    painter.fillRect(0, 0, size, size, QBrush(iconView()->colorGroup().base()));
    painter.drawImage((size-thumb.width())/2, (size-thumb.height())/2, thumb);
    painter.end();
    repaint();
}

}  // NameSpace KIPIKameraKlientPlugin