~ubuntu-branches/ubuntu/oneiric/kde4libs/oneiric-security

« back to all changes in this revision

Viewing changes to kfile/kfilewidget.cpp

  • Committer: Package Import Robot
  • Author(s): Michał Zając, Michał Zając, Jonathan Riddell
  • Date: 2011-02-27 14:10:59 UTC
  • mfrom: (1.14.3 upstream)
  • Revision ID: package-import@ubuntu.com-20110227141059-asgzcw48ao08rvkp
Tags: 4:4.6.1-0ubuntu1
[ Michał Zając ]
* New upstream release
* Refreshed kubuntu_06_user_disk_mounting.diff
* Refreshed kubuntu_77_ksambashare.diff
* Refreshed *.install files

[ Jonathan Riddell ]
* Add back kubuntu_77_no_kbookmark_write_error.diff workaround for LP:
  #627815

Show diffs side-by-side

added added

removed removed

Lines of Context:
54
54
#include <krecentdirs.h>
55
55
#include <kdebug.h>
56
56
#include <kio/kfileitemdelegate.h>
 
57
#include <kde_file.h>
57
58
 
58
59
#include <QtGui/QCheckBox>
59
60
#include <QtGui/QDockWidget>
2294
2295
//     kDebug(kfile_area);
2295
2296
 
2296
2297
    if ((operationMode == KFileWidget::Saving) && (ops->mode() & KFile::File) ) {
2297
 
        const QString urlStr = locationEditCurrentText();
 
2298
        QString urlStr = locationEditCurrentText();
2298
2299
        if (urlStr.isEmpty())
2299
2300
            return;
2300
2301
 
2301
 
        KMimeType::Ptr mime = KMimeType::findByPath(urlStr, 0, true);
2302
 
        if (mime && mime->name() != KMimeType::defaultMimeType()) {
2303
 
            if (filterWidget->currentFilter() != mime->name() &&
2304
 
                filterWidget->filters().indexOf(mime->name()) != -1)
2305
 
                filterWidget->setCurrentFilter(mime->name());
 
2302
        if( filterWidget->isMimeFilter()) {
 
2303
            KMimeType::Ptr mime = KMimeType::findByPath(urlStr, 0, true);
 
2304
            if (mime && mime->name() != KMimeType::defaultMimeType()) {
 
2305
                if (filterWidget->currentFilter() != mime->name() &&
 
2306
                    filterWidget->filters().indexOf(mime->name()) != -1)
 
2307
                    filterWidget->setCurrentFilter(mime->name());
 
2308
            }
 
2309
        } else {
 
2310
            QString filename = urlStr.mid( urlStr.lastIndexOf( KDIR_SEPARATOR ) + 1 ); // only filename
 
2311
            foreach( const QString& filter, filterWidget->filters()) {
 
2312
                QString f = filter.left( filter.indexOf( '|' )); // '*.foo|Foo type' -> '*.foo'
 
2313
                if( KMimeType::matchFileName( filename, f )) {
 
2314
                    filterWidget->setCurrentFilter( filter );
 
2315
                    break;
 
2316
                }
 
2317
            }
2306
2318
        }
2307
2319
    }
2308
2320
}