diff options
author | Timothy Pearson <[email protected]> | 2014-09-27 18:49:29 -0500 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2014-09-27 18:49:29 -0500 |
commit | 3e7ad37f5617f7f571fbd7b4aeba1d492271af33 (patch) | |
tree | b09247fdf9ddd567790acc34471ae6c0d35852e8 /konqueror/listview/konq_textviewitem.cc | |
parent | 485ab965cd717c5b94bf2d941e4efa6293b57642 (diff) | |
download | tdebase-3e7ad37f5617f7f571fbd7b4aeba1d492271af33.tar.gz tdebase-3e7ad37f5617f7f571fbd7b4aeba1d492271af33.zip |
Repair all known Konqueror performance regressions caused by early calls to expensive mimetype operations
These accidental errors span most TDE releases and many KDE 3.x releases
This resolves Bug 699
Diffstat (limited to 'konqueror/listview/konq_textviewitem.cc')
-rw-r--r-- | konqueror/listview/konq_textviewitem.cc | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/konqueror/listview/konq_textviewitem.cc b/konqueror/listview/konq_textviewitem.cc index 3919d6c82..1076e10af 100644 --- a/konqueror/listview/konq_textviewitem.cc +++ b/konqueror/listview/konq_textviewitem.cc @@ -161,10 +161,14 @@ void KonqTextViewItem::updateContents() setText(tmpColumn->displayInColumn,m_fileitem->linkDest()); break; case TDEIO::UDS_FILE_TYPE: - setText(tmpColumn->displayInColumn,m_fileitem->mimeComment()); + if (m_fileitem->isMimeTypeKnown()) { + setText(tmpColumn->displayInColumn,m_fileitem->mimeComment()); + } break; case TDEIO::UDS_MIME_TYPE: - setText(tmpColumn->displayInColumn,m_fileitem->mimetype()); + if (m_fileitem->isMimeTypeKnown()) { + setText(tmpColumn->displayInColumn,m_fileitem->mimetype()); + } break; case TDEIO::UDS_URL: setText(tmpColumn->displayInColumn,m_fileitem->url().prettyURL()); @@ -230,3 +234,25 @@ void KonqTextViewItem::setup() if ( h % 2 > 0 ) h++; setHeight(h); } + +void KonqTextViewItem::mimetypeFound() +{ + // Update icon + setDisabled( m_bDisabled ); + uint done = 0; + KonqBaseListViewWidget * lv = m_pListViewWidget; + for (unsigned int i=0; i<m_pListViewWidget->NumberOfAtoms && done < 2; i++) + { + ColumnInfo *tmpColumn=&lv->columnConfigInfo()[i]; + if (lv->columnConfigInfo()[i].udsId==TDEIO::UDS_FILE_TYPE && tmpColumn->displayThisOne) + { + setText(tmpColumn->displayInColumn, m_fileitem->mimeComment()); + done++; + } + if (lv->columnConfigInfo()[i].udsId==TDEIO::UDS_MIME_TYPE && tmpColumn->displayThisOne) + { + setText(tmpColumn->displayInColumn, m_fileitem->mimetype()); + done++; + } + } +}
\ No newline at end of file |