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 <renchi@pooh.tam.uiuc.edu>
* Date : 2003-01-23
* Description :
*
* Copyright 2003 by Renchi Raju <renchi@pooh.tam.uiuc.edu>
* 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
|