/*
* headerwidget.cc
*
* Copyright (c) 2002, 2003 Frerich Raabe <raabe@kde.org>
*
* 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. For licensing and distribution details, check the
* accompanying file 'COPYING'.
*/
#include "headerwidget.h"
#include <kdialog.h>
#include <kglobalsettings.h>
#include <krun.h>
#include <kstandarddirs.h>
#include <kurllabel.h>
#include <qlayout.h>
#include <qpixmap.h>
using namespace Barry;
HeaderWidget::HeaderWidget( QWidget *parent ): QWidget( parent, "HeaderWidget" )
{
QHBoxLayout *layout = new QHBoxLayout( this );
layout->setMargin( 0 );
layout->setSpacing( KDialog::spacingHint() );
m_statusIcon = new QLabel( this );
m_statusIcon->setFixedSize( QSize( 48, 48 ) );
layout->addWidget( m_statusIcon );
m_portName = new QLabel( this );
QFont nameFont( QString::fromLatin1( "verdana" ), 20 );
m_portName->setFont( nameFont );
layout->addWidget( m_portName );
m_link = new KURLLabel( this );
connect( m_link, SIGNAL( leftClickedURL( const QString & ) ),
this, SLOT( openURL( const QString & ) ) );
m_link->setFont( KGlobalSettings::fixedFont() );
layout->addWidget( m_link, 0, AlignRight | AlignBottom );
}
void HeaderWidget::setPort( const Port &port )
{
if ( m_port == port )
return;
m_port = port;
QString pixmapName;
if ( port.installed() )
pixmapName = QString::fromLatin1( "port-installed.png" );
else
pixmapName = QString::fromLatin1( "port-not-installed.png" );
pixmapName = ::locate( "appdata", QString::fromLatin1( "%1" )
.arg( pixmapName ) );
m_statusIcon->setPixmap( QPixmap( pixmapName ) );
m_portName->setText( port.name() );
m_link->setText( port.link().stripWhiteSpace() );
m_link->setURL( m_link->text() );
}
void HeaderWidget::openURL( const QString &url )
{
( void )new KRun( url );
}
#include "headerwidget.moc"
// vim:ts=4:sw=4:noet:list
syntax highlighted by Code2HTML, v. 0.9.1