/*************************************************************************** kmymoneytitlelabel.cpp ------------------- begin : Sun Feb 05 2005 copyright : (C) 2005 by Ace Jones email : acejones@users.sourceforge.net ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ // ---------------------------------------------------------------------------- // QT Includes #include #include #include #include // ---------------------------------------------------------------------------- // KDE Includes #include #include #include #include // ---------------------------------------------------------------------------- // Project Includes #include "kmymoneytitlelabel.h" KMyMoneyTitleLabel::KMyMoneyTitleLabel(TQWidget *parent, const char *name) : TQLabel(parent, name), m_bgColor( KGlobalSettings::highlightColor() ), m_textColor( KGlobalSettings::highlightedTextColor() ) { setFont(KGlobalSettings::windowTitleFont()); } KMyMoneyTitleLabel::~KMyMoneyTitleLabel() { } void KMyMoneyTitleLabel::setLeftImageFile(const TQString& _file) { m_leftImageFile = _file; TQString lfullpath = KGlobal::dirs()->findResource("appdata", m_leftImageFile); m_leftImage.load(lfullpath); m_leftImage.setAlphaBuffer(true); } void KMyMoneyTitleLabel::setRightImageFile(const TQString& _file) { m_rightImageFile = _file; TQString rfullpath = KGlobal::dirs()->findResource("appdata", m_rightImageFile); m_rightImage.load(rfullpath); m_rightImage.setAlphaBuffer(true); if(m_rightImage.height() < 30) setMinimumHeight(30); else { setMinimumHeight( m_rightImage.height() ); setMaximumHeight( m_rightImage.height() ); } } void KMyMoneyTitleLabel::resizeEvent ( TQResizeEvent * ) { TQRect cr = contentsRect(); TQImage output( cr.width(), cr.height(), 32 ); output.fill( m_bgColor.rgb() ); bitBlt ( &output, cr.width() - m_rightImage.width(), 0, &m_rightImage, 0, 0, m_rightImage.width(), m_rightImage.height(), 0 ); bitBlt ( &output, 0, 0, &m_leftImage, 0, 0, m_leftImage.width(), m_leftImage.height(), 0 ); TQPixmap pix; pix.convertFromImage(output); setPixmap(pix); setMinimumWidth( m_rightImage.width() ); } void KMyMoneyTitleLabel::drawContents(TQPainter *p) { // first draw pixmap TQLabel::drawContents(p); // then draw text on top tqstyle().drawItem( p, contentsRect(), tqalignment(), colorGroup(), isEnabled(), 0, TQString(" ")+m_text, -1, &m_textColor ); } void KMyMoneyTitleLabel::setText(const TQString& txt) { m_text = txt; update(); } #include "kmymoneytitlelabel.moc"