00001 /***************************************************************************** 00002 * dirs.hpp : String Directory helpers 00003 **************************************************************************** 00004 * Copyright (C) 2006-2008 the VideoLAN team 00005 * $Id: 08cad1cae7c9d9900bf2f31599268db12cd0250e $ 00006 * 00007 * Authors: Jean-Baptiste Kempf <jb@videolan.org> 00008 * 00009 * This program is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 * GNU General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License 00020 * along with this program; if not, write to the Free Software 00021 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. 00022 *****************************************************************************/ 00023 00024 #ifndef _QT_DIR_H_ 00025 #define _QT_DIR_H_ 00026 00027 #include <QString> 00028 #include <QDir> 00029 00030 #define toNativeSeparators( s ) QDir::toNativeSeparators ( s ) 00031 00032 static inline QString removeTrailingSlash( QString s ) 00033 { 00034 if( ( s.length() > 1 ) && ( s[s.length()-1] == QLatin1Char( '/' ) ) ) 00035 s.remove( s.length() - 1, 1 ); 00036 return s; 00037 } 00038 00039 #define savedirpathFromFile( a ) p_intf->p_sys->filepath = toNativeSeparators( QFileInfo( a ).path() ) 00040 #define toNativeSepNoSlash( a ) toNativeSeparators( removeTrailingSlash( a ) ) 00041 00042 static inline QString colon_escape( QString s ) 00043 { 00044 return s.replace( ":", "\\:" ); 00045 } 00046 static inline QString colon_unescape( QString s ) 00047 { 00048 return s.replace( "\\:", ":" ).trimmed(); 00049 } 00050 #endif 00051
1.5.6