From df0b892f8ec86ae6d21351a8ce1677d904dcdb2a Mon Sep 17 00:00:00 2001 From: alwin Date: Sun, 04 Apr 2004 02:44:21 +0000 Subject: first shot of an image info widget (this moment encapsulated just in a test dlg which will removed later) --- (limited to 'noncore/graphics/opie-eye/gui') diff --git a/noncore/graphics/opie-eye/gui/iconview.cpp b/noncore/graphics/opie-eye/gui/iconview.cpp index f415d39..ac4b899 100644 --- a/noncore/graphics/opie-eye/gui/iconview.cpp +++ b/noncore/graphics/opie-eye/gui/iconview.cpp @@ -6,6 +6,7 @@ #include "iconview.h" #include +#include #include #include @@ -18,7 +19,7 @@ #include #include #include - +#include #include #include @@ -376,8 +377,14 @@ void PIconView::slotShowImage( const QString& ) { } void PIconView::slotImageInfo() { - + qDebug("image info"); + bool isDir = false; + QString name = currentFileName(isDir); + if (isDir) return; + infoDlg dlg(name); + QPEApplication::execDialog(&dlg); } -void PIconView::slotImageInfo( const QString& ) { +void PIconView::slotImageInfo( const QString& ) { + } diff --git a/noncore/graphics/opie-eye/gui/imageinfoui.cpp b/noncore/graphics/opie-eye/gui/imageinfoui.cpp new file mode 100644 index 0000000..177df77 --- a/dev/null +++ b/noncore/graphics/opie-eye/gui/imageinfoui.cpp @@ -0,0 +1,114 @@ +#include "imageinfoui.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +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); + + PixmapLabel1 = new QLabel( this, "PixmapLabel1" ); + PixmapLabel1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, PixmapLabel1->sizePolicy().hasHeightForWidth() ) ); + PixmapLabel1->setScaledContents( TRUE ); + 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" ) ); + 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("
"+currentFile+"
"); + SlaveMaster::self()->imageInfo( currentFile ); + + QPixmap*m_pix = PPixmapCache::self()->cachedImage( _path, 64, 64 ); + if (!m_pix) { + PixmapLabel1->setPixmap(QPixmap( Resource::loadPixmap( "UnknownDocument" ))); + } else { + PixmapLabel1->setPixmap(*m_pix); + } +} + +imageinfo::~imageinfo() +{ + { + QCopEnvelope( "QPE/Application/opie-eye_slave", "refDown()" ); + } +} + +void imageinfo::slot_fullInfo(const QString&_path, const QString&_t) +{ + if (_path == currentFile) { + qDebug(_t); + QString t = _t; + t.replace(QRegExp("\n"),"
"); + 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 ); + } +} + +/* for testing */ +infoDlg::infoDlg(const QString&fname,QWidget * parent, const char * name) + :QDialog(parent,name,true,WStyle_ContextHelp) +{ + QVBoxLayout*dlglayout = new QVBoxLayout(this); + dlglayout->setSpacing(2); + dlglayout->setMargin(1); + imageinfo*inf = new imageinfo(fname,this); + dlglayout->addWidget(inf); +} + +infoDlg::~infoDlg() +{ +} diff --git a/noncore/graphics/opie-eye/gui/imageinfoui.h b/noncore/graphics/opie-eye/gui/imageinfoui.h new file mode 100644 index 0000000..34ec937 --- a/dev/null +++ b/noncore/graphics/opie-eye/gui/imageinfoui.h @@ -0,0 +1,48 @@ +#ifndef IMAGEINFO_H +#define IMAGEINFO_H + +#include +#include +#include + +class QVBoxLayout; +class QHBoxLayout; +class QGridLayout; +class QFrame; +class QLabel; +class QTextView; + +class imageinfo : public QWidget +{ + Q_OBJECT + +public: + imageinfo(const QString&_path, QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); + ~imageinfo(); + + QLabel* PixmapLabel1; + QLabel* fnameLabel; + QFrame* Line1; + QTextView* TextView1; + +protected: + QVBoxLayout* imageinfoLayout; + QString currentFile; + +protected slots: + virtual void slot_fullInfo(const QString&, const QString&); + virtual void slotThumbNail(const QString&, const QPixmap&); + + virtual void slotChangeName(const QString&); +}; + +/* for testing purpose */ +class infoDlg:public QDialog +{ + Q_OBJECT +public: + infoDlg(const QString&,QWidget * parent=0, const char * name=0); + virtual ~infoDlg(); +}; + +#endif // IMAGEINFO_H -- cgit v0.9.0.2