From: Karai C. <ck...@us...> - 2005-02-09 15:18:47
|
Update of /cvsroot/krusader/krusader_kde3/krusader/KViewer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27108/krusader_kde3/krusader/KViewer Modified Files: krviewer.cpp krviewer.h Log Message: FIXED: [ 1107141 ] view throws error at editing new files on remote fs Index: krviewer.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/KViewer/krviewer.cpp,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** krviewer.cpp 3 Feb 2005 17:49:41 -0000 1.28 --- krviewer.cpp 9 Feb 2005 15:18:34 -0000 1.29 *************** *** 29,32 **** --- 29,34 ---- #include <ktrader.h> #include <kio/netaccess.h> + #include <kio/jobclasses.h> + #include <kio/job.h> #include <kstatusbar.h> #include <kdebug.h> *************** *** 113,116 **** --- 115,124 ---- } + void KrViewer::slotStatResult( KIO::Job* job ) { + if( !job || job->error() ) entry = KIO::UDSEntry(); + else entry = static_cast<KIO::StatJob*>(job)->statResult(); + busy = false; + } + KParts::Part* KrViewer::getPart(KURL url, QString mimetype ,bool readOnly, bool create){ KParts::Part *part = 0L; *************** *** 121,127 **** if( create ) { ! KFileItem file( KFileItem::Unknown, KFileItem::Unknown, url ); ! if( file.isReadable() ) ! create = false; } --- 129,142 ---- if( create ) { ! KIO::StatJob* statJob = KIO::stat( url, false ); ! connect( statJob, SIGNAL( result( KIO::Job* ) ), this, SLOT( slotStatResult( KIO::Job* ) ) ); ! busy = true; ! while ( busy ) qApp->processEvents(); ! if( !entry.isEmpty() ) ! { ! KFileItem file( entry, url ); ! if( file.isReadable() ) ! create = false; ! } } Index: krviewer.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/KViewer/krviewer.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** krviewer.h 3 Feb 2005 17:02:03 -0000 1.9 --- krviewer.h 9 Feb 2005 15:18:35 -0000 1.10 *************** *** 55,58 **** --- 55,61 ---- virtual bool queryExit(); + protected slots: + void slotStatResult( KIO::Job* job ); + private: KrViewer(QWidget *parent=0, const char *name=0); *************** *** 71,74 **** --- 74,80 ---- KTempFile tmpFile; + + bool busy; + KIO::UDSEntry entry; }; |