summaryrefslogtreecommitdiffstats
path: root/konqueror/listview/konq_textviewitem.cc
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2014-09-27 18:49:29 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2014-09-27 18:49:29 -0500
commit3e7ad37f5617f7f571fbd7b4aeba1d492271af33 (patch)
treeb09247fdf9ddd567790acc34471ae6c0d35852e8 /konqueror/listview/konq_textviewitem.cc
parent485ab965cd717c5b94bf2d941e4efa6293b57642 (diff)
downloadtdebase-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.cc30
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