Diffstat (limited to 'noncore/multimedia/showimg/ImageFileSelector.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/showimg/ImageFileSelector.cpp | 72 |
1 files changed, 33 insertions, 39 deletions
diff --git a/noncore/multimedia/showimg/ImageFileSelector.cpp b/noncore/multimedia/showimg/ImageFileSelector.cpp index 347300f..7872c09 100644 --- a/noncore/multimedia/showimg/ImageFileSelector.cpp +++ b/noncore/multimedia/showimg/ImageFileSelector.cpp @@ -16,74 +16,73 @@ #include <qlabel.h> #include <qfileinfo.h> #include <qpainter.h> #include <qscrollview.h> #include "ImageFileSelector.h" - - - -ThumbWidget::ThumbWidget(QPixmap p,QString text,const DocLnk& f,QWidget *parent,int w) : QWidget( parent ),fl(f) +ThumbWidget::ThumbWidget(QPixmap p,QString text,const DocLnk& f,QWidget *parent,int w) + : QWidget( parent ),fl(f) { setBackgroundMode(NoBackground); if ( w!=-1 ) setMinimumSize(w,p.height()+24); else setMinimumSize(p.width(),p.height()+24); description=new QLabel(text,this); description->setBackgroundColor(colorGroup().base()); description->setAlignment(AlignCenter); description->setGeometry(0,height()-24,width(),24); pixmap=p; } -void ThumbWidget::resizeEvent(QResizeEvent *e) +void ThumbWidget::resizeEvent(QResizeEvent *) { description->setGeometry(0,height()-24,width(),24); } void ThumbWidget::paintEvent( QPaintEvent *e ) { QPainter painter(this); painter.setClipRect(e->rect()); painter.fillRect(0,0,width(),height(),QColor(255,255,255)); painter.drawPixmap((width() - pixmap.width()) / 2,0, pixmap); } -void ThumbWidget::mouseReleaseEvent(QMouseEvent* event) +void ThumbWidget::mouseReleaseEvent(QMouseEvent* ) { emit clicked(fl); } - -ImageFileSelectorItem::ImageFileSelectorItem( QListView *parent, const DocLnk &f): QListViewItem( parent ), fl( f ) +ImageFileSelectorItem::ImageFileSelectorItem( QListView *parent, const DocLnk &f) + : QListViewItem( parent ), fl( f ) { setText( 0, f.name() ); QFileInfo fi(f.file()); setText( 1, (fi.extension()).upper() ); setPixmap( 0, f.pixmap() ); } ImageFileSelectorItem::~ImageFileSelectorItem() { } -ImageFileSelector::ImageFileSelector( CURRENT_VIEW scv,QWidget *parent,const char *name ):QWidgetStack(parent) +ImageFileSelector::ImageFileSelector( CURRENT_VIEW scv,QWidget *parent,const char * ) + : QWidgetStack(parent) { detailed=new QListView(this); detailed->addColumn (tr("Title")); detailed->addColumn (tr("Type")); detailed->setAllColumnsShowFocus( true ); @@ -160,90 +159,85 @@ void ImageFileSelector::updateSizes() int ww=(detailed->width()-detailed->frameWidth()*2); double w=(double)ww*0.70; detailed->setColumnWidth(0,(int)w); detailed->setColumnWidth(1,ww-(int)w); background->setMinimumWidth(thumb->visibleWidth()); thumb->updateScrollBars(); } -void ImageFileSelector::reread(bool purgeCache) +void ImageFileSelector::reread(bool) { +// qDebug("reread"); ImageFileSelectorItem *item = (ImageFileSelectorItem *)detailed->selectedItem(); QString oldFile; if ( item ) oldFile = item->file().file(); detailed->clear(); tList.clear(); DocLnkSet files; Global::findDocuments(&files, "image/*"); count = files.children().count(); QListIterator<DocLnk> dit( files.children() ); - int y=0; - int x=4; - int totalHeight=4; +// int y=0; +// int x=4; +// int totalHeight=4; ThumbWidget *l=0; int width=80; gl->expand(dit.count()/2,2); - int i,j; - i=j=0; - detailed->setUpdatesEnabled(false); thumb->setUpdatesEnabled(false); - for ( ; dit.current(); ++dit ) - { + + for ( ; dit.current(); ++dit ) { item = new ImageFileSelectorItem( detailed, **dit ); if ( item->file().file() == oldFile ) detailed->setCurrentItem( item ); } QListViewItemIterator it( detailed ); ImageFileSelectorItem *ii; - // iterate through all items of the listview - for ( ; it.current(); ++it ) - { + // iterate through all items of the listview + for ( ; it.current(); ++it ) { ii=(ImageFileSelectorItem *)it.current(); - QImage img(ii->file().file()); - img=img.smoothScale(64,64); - QPixmap pix; - pix.convertFromImage(img); - l=new ThumbWidget(pix,ii->file().name(),ii->file(),background,width); - l->setBackgroundColor(colorGroup().base()); - gl->addWidget(l,j,i); - i++; - if ( i==2 ) - { - i=0; - j++; + QImage img( ii->file().file() ); + if( !img.isNull()) { + img=img.smoothScale(64,64); + QPixmap pix; + pix.convertFromImage(img); + l=new ThumbWidget(pix,ii->file().name(),ii->file(),background,width); + l->setBackgroundColor(colorGroup().base()); + gl->addWidget(l,j,i); + i++; + if ( i==2 ) { + i=0; + j++; + } + tList.append(l); + connect(l,SIGNAL(clicked(const DocLnk &)),this,SLOT(thumbClicked(const DocLnk &))); } - tList.append(l); - connect(l,SIGNAL(clicked(const DocLnk &)),this,SLOT(thumbClicked(const DocLnk &))); - } - - if ( !detailed->selectedItem() ) detailed->setCurrentItem( detailed->firstChild() ); detailed->setUpdatesEnabled(true); thumb->setUpdatesEnabled(true); detailed->update(); thumb->update(); - } int ImageFileSelector::fileCount() { return count; } const DocLnk * ImageFileSelector::selected() { + qDebug("image selected"); ImageFileSelectorItem *item = (ImageFileSelectorItem *) detailed->selectedItem(); if ( item ) return new DocLnk( item->file() ); return 0; } |