summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@suse.cz>2010-08-25 17:50:37 +0200
committerJan Holesovsky <kendy@suse.cz>2010-08-26 12:54:53 +0200
commit613b5e45f5c2418fc7ea3b1faeda783929ad0a4e (patch)
tree8c6602f775c5b1c9abbf5fa4da38658af7308660
parent921dd08d56c131a34a6bb7989a24cefb73e66427 (diff)
fpicker-kde-local-media.diff: Handle media:/ files locally.
-rw-r--r--fpicker/source/unx/kde/kdefilepicker.cxx16
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 );