summaryrefslogtreecommitdiffabout
path: root/kaddressbook/imagewidget.cpp
Side-by-side diff
Diffstat (limited to 'kaddressbook/imagewidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/imagewidget.cpp7
1 files changed, 1 insertions, 6 deletions
diff --git a/kaddressbook/imagewidget.cpp b/kaddressbook/imagewidget.cpp
index 49d456b..48370e3 100644
--- a/kaddressbook/imagewidget.cpp
+++ b/kaddressbook/imagewidget.cpp
@@ -70,230 +70,225 @@ ImageWidget::ImageWidget( QWidget *parent, const char *name )
mPhotoUrl->setFilter( KImageIO::pattern() );
#else //KAB_EMBEDDED
//US qDebug("ImageWidget::ImageWidget KImageIO not defined. Does this harm ???");
#endif //KAB_EMBEDDED
boxLayout->addWidget( mPhotoUrl, 0, 1 );
mUsePhotoUrl = new QCheckBox( i18n( "Store as URL" ), photoBox );
mUsePhotoUrl->setEnabled( false );
boxLayout->addWidget( mUsePhotoUrl, 1, 1 );
topLayout->addWidget( photoBox, 0, 0 );
QGroupBox *logoBox = new QGroupBox( 0, Qt::Vertical, i18n( "Logo" ), this );
boxLayout = new QGridLayout( logoBox->layout(), 3, 2, KDialog::spacingHint() );
boxLayout->setRowStretch( 2, 1 );
mLogoLabel = new QLabel( logoBox );
mLogoLabel->setFixedSize( 50*9/fac, 70*9/fac );
mLogoLabel->setScaledContents( true );
mLogoLabel->setFrameStyle( QFrame::Panel | QFrame::Sunken );
boxLayout->addMultiCellWidget( mLogoLabel, 0, 2, 0, 0 );
mLogoUrl = new KURLRequester( logoBox );
#ifndef KAB_EMBEDDED
mLogoUrl->setFilter( KImageIO::pattern() );
#else //KAB_EMBEDDED
//US qDebug("ImageWidget::ImageWidget KImageIO not defined 2");
#endif //KAB_EMBEDDED
boxLayout->addWidget( mLogoUrl, 0, 1 );
mUseLogoUrl = new QCheckBox( i18n( "Store as URL" ), logoBox );
mUseLogoUrl->setEnabled( false );
boxLayout->addWidget( mUseLogoUrl, 1, 1 );
topLayout->addWidget( logoBox, 1, 0 );
connect( mPhotoUrl, SIGNAL( textChanged( const QString& ) ),
SIGNAL( changed() ) );
connect( mPhotoUrl, SIGNAL( urlSelected( const QString& ) ),
SLOT( loadPhoto() ) );
connect( mPhotoUrl, SIGNAL( urlSelected( const QString& ) ),
SIGNAL( changed() ) );
connect( mPhotoUrl, SIGNAL( urlSelected( const QString& ) ),
SLOT( updateGUI() ) );
connect( mUsePhotoUrl, SIGNAL( toggled( bool ) ),
SIGNAL( changed() ) );
connect( mLogoUrl, SIGNAL( textChanged( const QString& ) ),
SIGNAL( changed() ) );
connect( mLogoUrl, SIGNAL( urlSelected( const QString& ) ),
SLOT( loadLogo() ) );
connect( mLogoUrl, SIGNAL( urlSelected( const QString& ) ),
SIGNAL( changed() ) );
connect( mLogoUrl, SIGNAL( urlSelected( const QString& ) ),
SLOT( updateGUI() ) );
connect( mUseLogoUrl, SIGNAL( toggled( bool ) ),
SIGNAL( changed() ) );
#ifndef KAB_EMBEDDED
KAcceleratorManager::manage( this );
#endif //KAB_EMBEDDED
-#ifndef DESKTOP_VERSION
- mUsePhotoUrl->setChecked( true );
- mUseLogoUrl->setChecked( true );
-#endif
}
ImageWidget::~ImageWidget()
{
}
void ImageWidget::setPhoto( const KABC::Picture &photo )
{
bool blocked = signalsBlocked();
blockSignals( true );
if ( photo.isIntern() ) {
//US
//US mPhotoLabel->setPixmap( photo.data() );
if (photo.data().isNull() != true)
{
QPixmap pm;
pm.convertFromImage(photo.data());
mPhotoLabel->setPixmap( pm );
}
mUsePhotoUrl->setChecked( false );
} else {
mPhotoUrl->setURL( photo.url() );
if ( !photo.url().isEmpty() )
mUsePhotoUrl->setChecked( true );
loadPhoto();
}
blockSignals( blocked );
}
KABC::Picture ImageWidget::photo() const
{
KABC::Picture photo;
if ( mUsePhotoUrl->isChecked() )
photo.setUrl( mPhotoUrl->url() );
else {
QPixmap *px = mPhotoLabel->pixmap();
if ( px ) {
#ifndef KAB_EMBEDDED
if ( px->height() > px->width() )
photo.setData( px->convertToImage().scaleHeight( 140 ) );
else
photo.setData( px->convertToImage().scaleWidth( 100 ) );
#else //KAB_EMBEDDED
//US add teh nullcheck
if (px->isNull() != true )
photo.setData( px->convertToImage() );
#endif //KAB_EMBEDDED
photo.setType( "PNG" );
}
}
return photo;
}
void ImageWidget::setLogo( const KABC::Picture &logo )
{
bool blocked = signalsBlocked();
blockSignals( true );
if ( logo.isIntern() ) {
//US
//US mLogoLabel->setPixmap( logo.data() );
if (logo.data().isNull() != true)
{
QPixmap pm;
pm.convertFromImage(logo.data());
mLogoLabel->setPixmap( pm );
}
mUseLogoUrl->setChecked( false );
} else {
mLogoUrl->setURL( logo.url() );
if ( !logo.url().isEmpty() )
mUseLogoUrl->setChecked( true );
loadLogo();
}
blockSignals( blocked );
}
KABC::Picture ImageWidget::logo() const
{
KABC::Picture logo;
if ( mUseLogoUrl->isChecked() )
logo.setUrl( mLogoUrl->url() );
else {
QPixmap *px = mLogoLabel->pixmap();
if ( px ) {
#ifndef KAB_EMBEDDED
if ( px->height() > px->width() )
logo.setData( px->convertToImage().scaleHeight( 140 ) );
else
logo.setData( px->convertToImage().scaleWidth( 100 ) );
#else //KAB_EMBEDDED
logo.setData( px->convertToImage() );
#endif //KAB_EMBEDDED
logo.setType( "PNG" );
}
}
return logo;
}
void ImageWidget::loadPhoto()
{
mPhotoLabel->setPixmap( loadPixmap( mPhotoUrl->url() ) );
}
void ImageWidget::loadLogo()
{
mLogoLabel->setPixmap( loadPixmap( mLogoUrl->url() ) );
}
void ImageWidget::updateGUI()
{
KURLRequester *ptr = (KURLRequester*)sender();
-#ifdef DESKTOP_VERSION
+
if ( ptr == mPhotoUrl )
mUsePhotoUrl->setEnabled( true );
else if ( ptr == mLogoUrl )
mUseLogoUrl->setEnabled( true );
-#endif
}
QPixmap ImageWidget::loadPixmap( const KURL &url )
{
QString tempFile;
QPixmap pixmap;
if ( url.isEmpty() )
return pixmap;
if ( url.isLocalFile() )
pixmap = QPixmap( url.path() );
else
{
#ifndef KAB_EMBEDDED
if ( KIO::NetAccess::download( url, tempFile ) ) {
pixmap = QPixmap( tempFile );
KIO::NetAccess::removeTempFile( tempFile );
}
#else //KAB_EMBEDDED
qDebug("ImageWidget::loadPixmap : only local pixmaps are allowed");
#endif //KAB_EMBEDDED
}
return pixmap;
}
#ifndef KAB_EMBEDDED
#include "imagewidget.moc"
#endif //KAB_EMBEDDED