summaryrefslogtreecommitdiffstats
path: root/src/libraryitem.cpp
blob: f7ba0134cb3304143c97670f70013f66d690c4a4 (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
/***************************************************************************
 *   Copyright (C) 2003 by David Saxton                                    *
 *   [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 of the License, or     *
 *   (at your option) any later version.                                   *
 ***************************************************************************/

#include "libraryitem.h"

#include <kiconloader.h>
#include <kicontheme.h>
#include <kstandarddirs.h>
#include <qimage.h>

LibraryItem::LibraryItem( QStringList idList, const QString &name, const QString &category, QPixmap icon, Type type, createItemPtr _createItem )
{
	m_idList = idList;
	m_name = name;
	m_category = category;
	m_icon_full = icon;
	m_type = type;
	createItem = _createItem;
	createIcon16();
}


LibraryItem::LibraryItem( QStringList idList, const QString &name, const QString &category, const QString &iconName, Type type, createItemPtr _createItem )
{
	m_idList = idList;
	m_name = name;
	m_category = category;
	m_icon_full.load( locate( "appdata", "icons/"+iconName ) );
	m_type = type;
	createItem = _createItem;
	createIcon16();
}


LibraryItem::LibraryItem( QStringList idList, const QString &name, const QString &category, Type type, createItemPtr _createItem )
{
	m_idList = idList;
	m_name = name;
	m_category = category;
	m_type = type;
	createItem = _createItem;
	createIcon16();
}


LibraryItem::~LibraryItem()
{
}


void LibraryItem::createIcon16()
{
	if ( m_icon_full.isNull() )
		m_icon_full = KGlobal::iconLoader()->loadIcon( "null", KIcon::Small );
	
// 	const int size = KIcon::SizeSmallMedium;
// 	const int size = 22;
	const int size = 16;
	
	if ( m_icon_full.width() == size && m_icon_full.height() == size )
	{
		m_icon_16 = m_icon_full;
		return;
	}
	
	QImage im = m_icon_full.convertToImage();
	im = im.smoothScale( size, size, QImage::ScaleMin );
	m_icon_16.convertFromImage(im);
}

QString LibraryItem::activeID( ) const
{
	return m_idList.isEmpty() ? "" : m_idList[0];
}