diff options
author | Jan Holesovsky <kendy@suse.cz> | 2010-08-25 17:50:37 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2010-08-26 12:54:53 +0200 |
commit | 613b5e45f5c2418fc7ea3b1faeda783929ad0a4e (patch) | |
tree | 8c6602f775c5b1c9abbf5fa4da38658af7308660 /fpicker | |
parent | 921dd08d56c131a34a6bb7989a24cefb73e66427 (diff) |
fpicker-kde-local-media.diff: Handle media:/ files locally.
Diffstat (limited to 'fpicker')
-rw-r--r-- | fpicker/source/unx/kde/kdefilepicker.cxx | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/fpicker/source/unx/kde/kdefilepicker.cxx b/fpicker/source/unx/kde/kdefilepicker.cxx index a597b5edfd70..7ebd79c1981f 100644 --- a/fpicker/source/unx/kde/kdefilepicker.cxx +++ b/fpicker/source/unx/kde/kdefilepicker.cxx @@ -42,6 +42,7 @@ #define emit #endif +#include <kdeversion.h> #include <kdiroperator.h> #include <kfiledialog.h> #include <kfilefiltercombo.h> @@ -310,8 +311,13 @@ void FileDialog::customEvent( QCustomEvent *pEvent ) setCanNotifySelection( true ); exec(); - qSelectedURL = addExtension( selectedURL().url() ); - QString qProtocol( selectedURL().protocol() ); +#if KDE_IS_VERSION(3,5,0) + KURL qLocalSelectedURL = KIO::NetAccess::mostLocalURL( selectedURL(), this ); +#else + KURL qLocalSelectedURL( selectedURL() ); +#endif + qSelectedURL = addExtension( qLocalSelectedURL.url() ); + QString qProtocol( qLocalSelectedURL.protocol() ); if ( isSave() && result() == QDialog::Accepted ) { @@ -599,6 +605,12 @@ bool FileDialog::isSupportedProtocol( const QString &rProtocol ) const QString FileDialog::localCopy( const QString &rFileName ) const { +#if KDE_IS_VERSION(3,5,0) + KURL qLocalURL = KIO::NetAccess::mostLocalURL( KURL( rFileName ), const_cast<FileDialog*>( this ) ); + if ( qLocalURL.isLocalFile() ) + return qLocalURL.url(); +#endif + int nExtensionPos = rFileName.findRev( '/' ); if ( nExtensionPos >= 0 ) nExtensionPos = rFileName.find( '.', nExtensionPos ); |