Fix large file previews that were broken in GIT hash 3e7ad37f

pull/2/head
Timothy Pearson 10 years ago
parent f943ed4a58
commit f07158cd9d

@ -1108,8 +1108,6 @@ void KonqKfmIconView::showDirectoryOverlay(KFileIVI* item)
void KonqKfmIconView::showFreeSpaceOverlay(KFileIVI* item) void KonqKfmIconView::showFreeSpaceOverlay(KFileIVI* item)
{ {
KFileItem* fileItem = item->item();
m_paOutstandingFreeSpaceOverlays.append(item); m_paOutstandingFreeSpaceOverlays.append(item);
if (m_paOutstandingFreeSpaceOverlays.count() == 1) if (m_paOutstandingFreeSpaceOverlays.count() == 1)
{ {
@ -1296,6 +1294,10 @@ void KonqKfmIconView::determineIcon( KFileIVI * item )
(void) item->item()->determineMimeType(); (void) item->item()->determineMimeType();
if (item->item()->isMimeTypeKnown()) {
item->mimeTypeAndIconDetermined();
}
item->setIcon( iconSize(), item->state(), true, true ); item->setIcon( iconSize(), item->state(), true, true );
item->setMouseOverAnimation( item->item()->iconName() ); item->setMouseOverAnimation( item->item()->iconName() );
} }

@ -709,14 +709,16 @@ void KonqIconViewWidget::setItemTextPos( ItemTextPos pos )
// can't call gridXValue() because this already would need the new itemTextPos() // can't call gridXValue() because this already would need the new itemTextPos()
int sz = m_size ? m_size : TDEGlobal::iconLoader()->currentSize( TDEIcon::Desktop ); int sz = m_size ? m_size : TDEGlobal::iconLoader()->currentSize( TDEIcon::Desktop );
if ( m_bSetGridX ) if ( m_bSetGridX ) {
if ( pos == TQIconView::Bottom ) if ( pos == TQIconView::Bottom ) {
setGridX( TQMAX( sz + 50, previewIconSize( sz ) + 13 ) ); setGridX( TQMAX( sz + 50, previewIconSize( sz ) + 13 ) );
}
else else
{ {
setMaxItemWidth( TQMAX( sz, previewIconSize( sz ) ) + m_pSettings->iconTextWidth() ); setMaxItemWidth( TQMAX( sz, previewIconSize( sz ) ) + m_pSettings->iconTextWidth() );
setGridX( -1 ); setGridX( -1 );
} }
}
TDEIconView::setItemTextPos( pos ); TDEIconView::setItemTextPos( pos );
} }
@ -773,14 +775,16 @@ void KonqIconViewWidget::gridValues( int* x, int* y, int* dx, int* dy,
void KonqIconViewWidget::calculateGridX() void KonqIconViewWidget::calculateGridX()
{ {
if ( m_bSetGridX ) if ( m_bSetGridX ) {
if ( itemTextPos() == TQIconView::Bottom ) if ( itemTextPos() == TQIconView::Bottom ) {
setGridX( gridXValue() ); setGridX( gridXValue() );
}
else else
{ {
setMaxItemWidth( gridXValue() ); setMaxItemWidth( gridXValue() );
setGridX( -1 ); setGridX( -1 );
} }
}
} }
int KonqIconViewWidget::gridXValue() const int KonqIconViewWidget::gridXValue() const

@ -570,10 +570,42 @@ void KFileIVI::updatePixmapSize()
KonqIconViewWidget* view = static_cast<KonqIconViewWidget*>( iconView() ); KonqIconViewWidget* view = static_cast<KonqIconViewWidget*>( iconView() );
TQSize pixSize = TQSize( size, size ); bool mimeDetermined = false;
if ( pixSize != pixmapSize() ) { if ( m_fileitem->isMimeTypeKnown() ) {
setPixmapSize( pixSize ); mimeDetermined = true;
} }
if (mimeDetermined) {
bool changed = false;
if ( view && view->canPreview( item() ) ) {
int previewSize = view->previewIconSize( size );
if (previewSize != size) {
setPixmapSize( TQSize( previewSize, previewSize ) );
changed = true;
}
}
else {
TQSize pixSize = TQSize( size, size );
if ( pixSize != pixmapSize() ) {
setPixmapSize( pixSize );
changed = true;
}
}
if (changed) {
view->adjustItems();
}
}
else {
TQSize pixSize = TQSize( size, size );
if ( pixSize != pixmapSize() ) {
setPixmapSize( pixSize );
}
}
}
void KFileIVI::mimeTypeAndIconDetermined()
{
updatePixmapSize();
} }
/* vim: set noet sw=4 ts=8 softtabstop=4: */ /* vim: set noet sw=4 ts=8 softtabstop=4: */

@ -208,6 +208,8 @@ public:
virtual int compare( TQIconViewItem *i ) const; virtual int compare( TQIconViewItem *i ) const;
void mimeTypeAndIconDetermined();
protected: protected:
virtual void dropped( TQDropEvent *e, const TQValueList<TQIconDragItem> & ); virtual void dropped( TQDropEvent *e, const TQValueList<TQIconDragItem> & );

Loading…
Cancel
Save