diff options
author | Michele Calgaro <[email protected]> | 2014-11-15 23:55:01 +0900 |
---|---|---|
committer | Michele Calgaro <[email protected]> | 2014-11-15 23:55:01 +0900 |
commit | 8a6ce15a94e441d514ed4076ea787c0b33b37194 (patch) | |
tree | a132de80669ec6214146a3b6e24c879b2eee3eb6 /libkonq/tdefileivi.cc | |
parent | 0a2adc65fa82ffdf5cfa3f7e669614b5474da42b (diff) | |
parent | f07158cd9dcb61b32e7dba5674e8ed0f7c8c6fe2 (diff) | |
download | tdebase-8a6ce15a94e441d514ed4076ea787c0b33b37194.tar.gz tdebase-8a6ce15a94e441d514ed4076ea787c0b33b37194.zip |
Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/tdebase
Diffstat (limited to 'libkonq/tdefileivi.cc')
-rw-r--r-- | libkonq/tdefileivi.cc | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/libkonq/tdefileivi.cc b/libkonq/tdefileivi.cc index 08bd240ba..2e23cfbf7 100644 --- a/libkonq/tdefileivi.cc +++ b/libkonq/tdefileivi.cc @@ -570,10 +570,42 @@ void KFileIVI::updatePixmapSize() KonqIconViewWidget* view = static_cast<KonqIconViewWidget*>( iconView() ); - TQSize pixSize = TQSize( size, size ); - if ( pixSize != pixmapSize() ) { - setPixmapSize( pixSize ); + bool mimeDetermined = false; + if ( m_fileitem->isMimeTypeKnown() ) { + 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: */ |