-rw-r--r-- | noncore/graphics/opie-eye/gui/imageinfoui.cpp | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/noncore/graphics/opie-eye/gui/imageinfoui.cpp b/noncore/graphics/opie-eye/gui/imageinfoui.cpp index 177df77..2580215 100644 --- a/noncore/graphics/opie-eye/gui/imageinfoui.cpp +++ b/noncore/graphics/opie-eye/gui/imageinfoui.cpp @@ -6,72 +6,81 @@ #include <qtextview.h> #include <qlayout.h> #include <qvariant.h> #include <qtooltip.h> #include <qwhatsthis.h> #include <qimage.h> #include <qpixmap.h> #include <qstring.h> +#include <qfileinfo.h> #include <lib/slavemaster.h> #include <lib/imagecache.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/resource.h> +#define THUMBSIZE 128 + imageinfo::imageinfo(const QString&_path, QWidget* parent, const char* name, WFlags fl ) : QWidget( parent, name, fl ),currentFile(_path) { { QCopEnvelope( "QPE/Application/opie-eye_slave", "refUp()" ); } if ( !name ) setName( "imageinfo" ); resize( 289, 335 ); setCaption( tr( "Image info" ) ); imageinfoLayout = new QVBoxLayout( this ); imageinfoLayout->setSpacing(2); - imageinfoLayout->setMargin(2); + imageinfoLayout->setMargin(4); PixmapLabel1 = new QLabel( this, "PixmapLabel1" ); - PixmapLabel1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, PixmapLabel1->sizePolicy().hasHeightForWidth() ) ); - PixmapLabel1->setScaledContents( TRUE ); + PixmapLabel1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)5, PixmapLabel1->sizePolicy().hasHeightForWidth() ) ); + QWhatsThis::add( PixmapLabel1, tr("Displays an thumbnail of the image") ); + imageinfoLayout->addWidget( PixmapLabel1 ); Line1 = new QFrame( this, "Line1" ); Line1->setFrameStyle( QFrame::HLine | QFrame::Sunken ); imageinfoLayout->addWidget( Line1 ); fnameLabel = new QLabel( this, "FnameLabel" ); imageinfoLayout->addWidget( fnameLabel); TextView1 = new QTextView( this, "TextView1" ); - TextView1->setFrameShadow( QTextView::Plain ); - QToolTip::add( TextView1, tr( "Displays info of selected image" ) ); - QWhatsThis::add( TextView1, tr( "Displays info of selected image" ) ); + TextView1->setFrameShadow( QTextView::Sunken ); + TextView1->setResizePolicy( QTextView::AutoOneFit ); + TextView1->setBackgroundOrigin( QTextView::ParentOrigin ); + TextView1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)3, (QSizePolicy::SizeType)3, TextView1->sizePolicy().hasHeightForWidth() ) ); +// TextView1->setVScrollBarMode(QScrollView::AlwaysOn); + QWhatsThis::add( TextView1, tr("Displays info of selected image") ); imageinfoLayout->addWidget( TextView1 ); SlaveMaster* master = SlaveMaster::self(); connect( master, SIGNAL(sig_fullInfo(const QString&, const QString&)), this, SLOT(slot_fullInfo(const QString&, const QString&)) ); connect(master, SIGNAL( sig_thumbNail(const QString&, const QPixmap&)), this, SLOT(slotThumbNail(const QString&, const QPixmap&))); slotChangeName(_path); } void imageinfo::slotChangeName(const QString&_path) { currentFile=_path; - fnameLabel->setText("<qt><center><b>"+currentFile+"</b></center></qt>"); + QFileInfo fi(_path); + fnameLabel->setText("<qt><center><b>"+fi.fileName()+"</b></center></qt>"); SlaveMaster::self()->imageInfo( currentFile ); - QPixmap*m_pix = PPixmapCache::self()->cachedImage( _path, 64, 64 ); + QPixmap*m_pix = PPixmapCache::self()->cachedImage( _path, THUMBSIZE,THUMBSIZE ); if (!m_pix) { PixmapLabel1->setPixmap(QPixmap( Resource::loadPixmap( "UnknownDocument" ))); + SlaveMaster::self()->thumbNail(currentFile,THUMBSIZE,THUMBSIZE); } else { PixmapLabel1->setPixmap(*m_pix); } } imageinfo::~imageinfo() { { @@ -80,26 +89,30 @@ imageinfo::~imageinfo() } void imageinfo::slot_fullInfo(const QString&_path, const QString&_t) { if (_path == currentFile) { qDebug(_t); QString t = _t; t.replace(QRegExp("\n"),"<br>"); +/* t.replace(QRegeExp("<qt>",""); + t.replace(QRegeExp("</qt>","");*/ TextView1->setText(t); } } void imageinfo::slotThumbNail(const QString&_path, const QPixmap&_pix) { - if (_pix.width()>0) - PPixmapCache::self()->insertImage( _path, _pix, 64, 64 ); if (_path == currentFile) { - PixmapLabel1->setPixmap( _pix ); + if (_pix.width()>0) { + PPixmapCache::self()->insertImage( _path, _pix, THUMBSIZE, THUMBSIZE ); + PixmapLabel1->setPixmap( _pix ); + PixmapLabel1->resize(QSize(_pix.width(),_pix.height())); + } } } /* for testing */ infoDlg::infoDlg(const QString&fname,QWidget * parent, const char * name) :QDialog(parent,name,true,WStyle_ContextHelp) { QVBoxLayout*dlglayout = new QVBoxLayout(this); |