diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-17 00:43:50 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-17 00:43:50 +0000 |
commit | ceea23677c61f20759ae986bd77b0d5c4d673edb (patch) | |
tree | 3fcec1702eaf9c14d1dd736e594f5df08dab4001 /src/kbfxplasmaindexitem.cpp | |
download | kbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.tar.gz kbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.zip |
Added old KDE3 version of kbfx
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kbfx@1091549 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/kbfxplasmaindexitem.cpp')
-rw-r--r-- | src/kbfxplasmaindexitem.cpp | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/src/kbfxplasmaindexitem.cpp b/src/kbfxplasmaindexitem.cpp new file mode 100644 index 0000000..cbbfe91 --- /dev/null +++ b/src/kbfxplasmaindexitem.cpp @@ -0,0 +1,182 @@ +/* + * Copyright (C) 2006 + * Siraj Razick <siraj@kdemail.net> + * PhobosK <phobosk@mail.kbfx.org> + * see Also AUTHORS + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License version 2 as + * published by the Free Software Foundation + * + * 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 + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "kbfxplasmaindexitem.h" +#include <kdesktopfile.h> +#include <kapplication.h> +#include <kbfxconfig.h> + +KbfxPlasmaIndexItem::KbfxPlasmaIndexItem ( QCanvasPixmapArray * a, QCanvas * canvas ) :KbfxPlasmaCanvasAbstractItem ( a,canvas ) +{ +//this->setItemMode (1); + setAnimated ( false ); + setCurrent ( false ); + m_isSelected = false; + QPixmap * _img = this->image ( 0 ); + m_height =_img->height(); + m_width= _img->width(); + +} + + + +KbfxPlasmaIndexItem::~KbfxPlasmaIndexItem() +{} + +void +KbfxPlasmaIndexItem::setIcon ( QString str ) +{ + KIconLoader *iconload = KGlobal::iconLoader (); + m_iconPath = iconload->iconPath ( str, KIcon::Desktop, false ); + + m_icon.load ( m_iconPath ); +} + +void +KbfxPlasmaIndexItem::setText ( QString text ) +{ + m_text = text; +} + +void +KbfxPlasmaIndexItem::setSelected ( bool stat ) +{ + m_isSelected = stat; + +} + +bool +KbfxPlasmaIndexItem::selected() +{ + return m_isSelected; +} + + +void +KbfxPlasmaIndexItem::drawContent ( QPainter * pe ) +{ + + if ( this->isCurrent() || m_isSelected ) + { + this->setFrame ( 1 ); + } + else + { + this->setFrame ( 0 ); + } + + QCanvasPixmap *cp = this->image ( this->frame () ); + m_height = cp->height(); + m_width = cp->width(); + + pe->drawPixmap ( this->boundingRect (), *cp ); + + QRect r ( ( int ) x(), ( int ) y(), m_width, m_height ); + QRect textRect ( m_height+1, ( int ) y(), m_width,m_height ); + + QFont * _font_plugin = new QFont ( ConfigInit().m_pluginNameFont ); + QFont * _font_index = new QFont ( ConfigInit().m_fontIndexFont ); + + if ( this->type() != KbfxPlasmaIndexItem::SEPARATOR ) + { + pe->setFont ( *_font_index ); + pe->setPen ( ConfigInit().m_fontIndexColor ); + } + else + { + pe->setFont ( *_font_plugin ); + pe->setPen ( ConfigInit().m_pluginNameColor); + } + + pe->drawText ( textRect, Qt::AlignVCenter | Qt::AlignLeft ,QString ( m_text ), -1, &r,0 ); + pe->drawPixmap ( QRect ( ( int ) x() +5 , ( int ) y() +6,m_height-12,m_height-12 ),m_icon ); + + delete _font_plugin; + delete _font_index; + +} + +int +KbfxPlasmaIndexItem::height() +{ + return m_height; +} + +void +KbfxPlasmaIndexItem::setId ( int id ) +{ + m_id = id; +} + + +void +KbfxPlasmaIndexItem::draw ( QPainter & p ) +{ + drawContent ( &p ); +} + +void +KbfxPlasmaIndexItem::setLabelText ( QString str ) +{ + QFont * _font = new QFont(ConfigInit().m_fontIndexFont); + + QFontMetrics fm ( *_font ); + + int _commentWidth = fm.width ( str+"..." ); + int _strLen = str.length(); + int _margin = height();; + if ( _commentWidth > ( m_width -_margin ) ) + { + + for ( int i = 0; i < _strLen /*&& ( fm.width(str+"...") < width()-40 )*/ ;i++ ) + { + str.truncate ( str.length()-2 ); + if ( fm.width ( str+"..." ) < m_width-_margin ) + break; + + } + str+="..."; + } + + setText ( str ); +} + + +QString +KbfxPlasmaIndexItem::belongsTo() +{ + + return m_parent; +} + +void +KbfxPlasmaIndexItem::setBelongsTo ( QString parent ) +{ + m_parent = parent; +} + + +void KbfxPlasmaIndexItem::mousePressEvent ( QMouseEvent * e ) +{ + e = e; +} + +#include "kbfxplasmaindexitem.moc" |