summaryrefslogtreecommitdiffstats
path: root/src/kbfxplasmaindexitem.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-17 00:43:50 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-17 00:43:50 +0000
commitceea23677c61f20759ae986bd77b0d5c4d673edb (patch)
tree3fcec1702eaf9c14d1dd736e594f5df08dab4001 /src/kbfxplasmaindexitem.cpp
downloadkbfx-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.cpp182
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"