[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.1/kdelibs/kfile
From:       Aurélien Gâteau <aurelien.gateau () free ! fr>
Date:       2008-09-29 13:13:21
Message-ID: 1222694001.582525.3454.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 865925 by gateau:

currentMimeFilter() sometimes returns wrong value
This is because d->mimetypes does not always contain the same mimetype
list as d->filterWidget. This can happen if a mimetype got filtered out
in KFileFilterCombo::setMimeFilter()
Backported https://svn.kde.org/home/kde/trunk/KDE/kdelibs@865842


 M  +3 -9      kfilewidget.cpp  


--- branches/KDE/4.1/kdelibs/kfile/kfilewidget.cpp #865924:865925
@@ -185,8 +185,6 @@
 
     KUrl::List urlList; //the list of selected urls
 
-    QStringList mimetypes; //the list of possible mimetypes to save as
-
     // caches the speed bar width. This value will be updated when the splitter
     // is moved. This allows us to properly set a value when the dialog itself
     // is resized
@@ -558,7 +556,6 @@
 void KFileWidget::setMimeFilter( const QStringList& mimeTypes,
                                  const QString& defaultType )
 {
-    d->mimetypes = mimeTypes;
     d->filterWidget->setMimeFilter( mimeTypes, defaultType );
 
     QStringList types = d->filterWidget->currentFilter().split(" \
",QString::SkipEmptyParts); //QStringList::split(" ", \
d->filterWidget->currentFilter()); @@ -574,7 +571,6 @@
 
 void KFileWidget::clearFilter()
 {
-    d->mimetypes.clear();
     d->filterWidget->setFilter( QString() );
     d->ops->clearFilter();
     d->hasDefaultFilter = false;
@@ -586,12 +582,10 @@
 QString KFileWidget::currentMimeFilter() const
 {
     int i = d->filterWidget->currentIndex();
-    if (d->filterWidget->showsAllTypes())
-        i--;
+    if (d->filterWidget->showsAllTypes() && i == 0)
+        return QString(); // The "all types" item has no mimetype
 
-    if ((i >= 0) && (i < (int) d->mimetypes.count()))
-        return d->mimetypes[i];
-    return QString(); // The "all types" item has no mimetype
+    return d->filterWidget->filters()[i];
 }
 
 KMimeType::Ptr KFileWidget::currentFilterMimeType()


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic