Commit ab3516ef authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Qt4: fix opening directory with special characters

(manually backported from commit a6817becf30b9e7c4d682e42128a374c8ba49ffc)
parent 60a1c148
...@@ -497,22 +497,34 @@ static void openDirectory( intf_thread_t *p_intf, bool pl, bool go ) ...@@ -497,22 +497,34 @@ static void openDirectory( intf_thread_t *p_intf, bool pl, bool go )
{ {
QString dir = QFileDialog::getExistingDirectory( NULL, qtr( I_OP_DIR_WINTITLE ), p_intf->p_sys->filepath ); QString dir = QFileDialog::getExistingDirectory( NULL, qtr( I_OP_DIR_WINTITLE ), p_intf->p_sys->filepath );
if (!dir.isEmpty() ) if( dir.isEmpty() )
return;
QString mrl;
if( dir.endsWith( "/VIDEO_TS", Qt::CaseInsensitive ) )
mrl = qfu("dvd://") + toNativeSeparators( dir );
else
{ {
QString mrl = (dir.endsWith( "VIDEO_TS", Qt::CaseInsensitive ) ? char *uri = make_URI( qtu( dir ) );
"dvd://" : "directory://") if( unlikely(uri == NULL) )
+ toNativeSeparators( dir ); return;
input_item_t *p_input = input_item_New( THEPL, qtu( mrl ), NULL ); mrl = qfu(uri);
free( uri );
}
/* FIXME: playlist_AddInput() can fail */ input_item_t *p_input = input_item_New( THEPL, qtu( mrl ), NULL );
playlist_AddInput( THEPL, p_input, if( unlikely( p_input == NULL ) )
go ? ( PLAYLIST_APPEND | PLAYLIST_GO ) : PLAYLIST_APPEND, return;
/* FIXME: playlist_AddInput() can fail */
playlist_AddInput( THEPL, p_input,
go ? ( PLAYLIST_APPEND | PLAYLIST_GO ) : PLAYLIST_APPEND,
PLAYLIST_END, pl, pl_Unlocked ); PLAYLIST_END, pl, pl_Unlocked );
RecentsMRL::getInstance( p_intf )->addRecent( mrl ); RecentsMRL::getInstance( p_intf )->addRecent( mrl );
if( !go ) if( !go )
input_Read( THEPL, p_input ); input_Read( THEPL, p_input );
vlc_gc_decref( p_input ); vlc_gc_decref( p_input );
}
} }
void DialogsProvider::PLOpenDir() void DialogsProvider::PLOpenDir()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment