diff -r 5da693c51f10 -r e95081c21da2 file.cpp --- a/file.cpp Thu Mar 23 12:38:54 2006 +0000 +++ b/file.cpp Tue Sep 05 09:47:14 2006 +0000 @@ -1,5 +1,9 @@ #include #include +//Added by qt3to4: +#include +#include +#include #include #include "file.h" @@ -45,8 +49,8 @@ } // Now take care of paths where we have to go back first - int srcsep=s.contains("/"); - int dstsep=d.contains("/"); + int srcsep=s.count("/"); + int dstsep=d.count("/"); if (srcsep <= dstsep ) { // find path to go up first and then back to dst @@ -61,11 +65,12 @@ return d; } -QString makeUniqueDir (QString s) +QString makeUniqueDir (bool &ok,QString s) { // Create unique directory e.g. s="/tmp/vym-XXXXXX" // Convert QString to string first + ok=true; char *p; int bytes=s.length(); p=(char*) malloc (bytes+1); @@ -74,6 +79,7 @@ p[i]=s.at(i).latin1(); p[bytes]=0; QString r=mkdtemp (p); + if (r.isEmpty()) ok=false; free (p); return r; } @@ -89,16 +95,16 @@ // Traverse directories d.setFilter( QDir::Dirs| QDir::Hidden | QDir::NoSymLinks ); - const QFileInfoList *dirlist = d.entryInfoList(); - QFileInfoListIterator itdir( *dirlist ); - QFileInfo *fi; + QFileInfoList list = d.entryInfoList(); + QFileInfo fi; - while ( (fi = itdir.current()) != 0 ) + for (int i = 0; i < list.size(); ++i) { - if (fi->fileName() != "." && fi->fileName() != ".." ) + fi=list.at(i); + if (fi.fileName() != "." && fi.fileName() != ".." ) { - if ( !d.cd(fi->fileName()) ) - qWarning ("removeDir() cannot find the directory "+fi->fileName()); + if ( !d.cd(fi.fileName()) ) + qWarning ("removeDir() cannot find the directory "+fi.fileName()); else { // Recursively remove subdirs @@ -106,18 +112,16 @@ d.cdUp(); } } - ++itdir; - } + } + // Traverse files d.setFilter( QDir::Files| QDir::Hidden | QDir::NoSymLinks ); - const QFileInfoList *filelist = d.entryInfoList(); - QFileInfoListIterator itfile( *filelist ); + list = d.entryInfoList(); - while ( (fi = itfile.current()) != 0 ) + for (int i = 0; i < list.size(); ++i) { - QFile (fi->filePath()).remove(); - - ++itfile; + fi=list.at(i); + QFile (fi.filePath()).remove(); } if (!d.rmdir(d.path())) @@ -228,7 +232,7 @@ { s=""; QFile file ( fname); - if ( !file.open( IO_ReadOnly ) ) return false; + if ( !file.open( QIODevice::ReadOnly ) ) return false; QTextStream ts( &file ); ts.setEncoding (QTextStream::UnicodeUTF8); @@ -243,7 +247,7 @@ QFile file( fname); file.setName ( fname); - if ( !file.open( IO_WriteOnly ) ) + if ( !file.open( QIODevice::WriteOnly ) ) { file.close(); return false; @@ -260,10 +264,10 @@ ImagePreview::ImagePreview (QWidget *par=0): QLabel (par) { - fdia=(QFileDialog*)par; + fdia=(Q3FileDialog*)par; } -void ImagePreview::previewUrl( const QUrl &u ) +void ImagePreview::previewUrl( const Q3Url &u ) { QString path = u.path(); QPixmap pix( path ); @@ -301,3 +305,39 @@ } } +ImageIO::ImageIO () +{ + // Create list with supported image types + // foreach (QByteArray format, QImageWriter::supportedImageFormats()) + // imageTypes.append( tr("%1...").arg(QString(format).toUpper())); + imageFilters.append ("Images (*.png *.jpg *.jpeg *.bmp *.bmp *.ppm *.xpm *.xbm)"); + imageTypes.append ("PNG"); + imageFilters.append ("Portable Network Graphics (*.png)"); + imageTypes.append ("PNG"); + imageFilters.append ("Joint Photographic Experts Group (*.jpg)"); + imageTypes.append ("JPG"); + imageFilters.append ("Joint Photographic Experts Group (*.jpeg)"); + imageTypes.append ("JPG"); + imageFilters.append ("Windows Bitmap (*.bmp)"); + imageTypes.append ("BMP"); + imageFilters.append ("Portable Pixmap (*.ppm)"); + imageTypes.append ("PPM"); + imageFilters.append ("X11 Bitmap (*.xpm)"); + imageTypes.append ("XPM"); + imageFilters.append ("X11 Bitmap (*.xbm)"); + imageTypes.append ("XBM"); +} + +QStringList ImageIO::getFilters() +{ + return imageFilters; +} + +QString ImageIO::getType(QString filter) +{ + for (int i=0;i