You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kipi-plugins/kipi-plugins/kameraklient/cameraiconitem.cpp

101 lines
2.5 KiB

/* ============================================================
* 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.
*
* ============================================================ */
// TQt
#include <tqstring.h>
#include <tqpixmap.h>
#include <tqimage.h>
#include <tqpainter.h>
#include <tqpalette.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",
" . ",
" . .+. . ",
" @#@ .$. .#. ",
" @$@#$#@$. ",
" @$%&%$@ ",
" ..#%&&&%#.. ",
".+$$&&&&&$$+@",
" ..#%&&&%#@@ ",
" @$%&%$@ ",
" .$@#$#@$. ",
" @#. @$@ @#. ",
" . @+@ . ",
" @ "};
TQPixmap* CameraIconItem::newEmblem = 0;
CameraIconItem::CameraIconItem(ThumbView* parent, const GPFileItemInfo* fileInfo, const TQPixmap& 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 TQPixmap(new_xpm);
}
}
void CameraIconItem::setPixmap(const TQImage& thumb) {
int size = pixmap()->width();
pixWidth_ = thumb.width();
pixHeight_ = thumb.height();
TQPainter painter;
painter.begin(pixmap());
painter.fillRect(0, 0, size, size, TQBrush(iconView()->colorGroup().base()));
painter.drawImage((size-thumb.width())/2, (size-thumb.height())/2, thumb);
painter.end();
repaint();
}
} // NameSpace KIPIKameraKlientPlugin