You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
piklab/src/common/gui/purl_ext.cpp

112 lines
3.7 KiB

/***************************************************************************
* Copyright (C) 2005-2006 Nicolas Hadacek <hadacek@kde.org> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
#include "common/global/purl.h"
#include <tqfile.h>
#include <tqapplication.h>
#include <tdeio/netaccess.h>
#include <tdefileitem.h>
#include <ktempfile.h>
#include <tdeconfigbackend.h>
#include "common/global/pfile.h"
bool PURL::Url::copyTo(const Url &destination, Log::Generic &log) const
{
//#if defined(NO_KDE)
// Synchronous sync;
// if ( sync.op().copy(_url.filepath(), destination.filepath()) && sync.execute() ) {
// if ( show==Log::Show ) ConsoleView::sorry(i18n("Could not copy file"), sync.error());
// return false;
// }
//#else
// do not overwrite
bool ok = TDEIO::NetAccess::file_copy(_url, destination._url, -1, false, false, tqApp->mainWidget());
if ( !ok ) log.sorry(i18n("Could not copy file"), TDEIO::NetAccess::lastErrorString());
return ok;
//#endif
}
bool PURL::Url::create(Log::Generic &log) const
{
//#if defined(NO_KDE)
// TQByteArray a;
// Synchronous sync;
// if ( sync.op().put(a, _url.filepath()) && sync.execute() ) {
// if ( show==Log::Show ) ConsoleView::sorry(i18n("Could not create file"), sync.error());
// return false;
// }
//#else
// assume file do no exist if ioslave cannot tell...
if ( TDEIO::NetAccess::exists(_url, false, tqApp->mainWidget()) ) return true;
KTempFile tmp;
tmp.setAutoDelete(true);
// do not overwrite
bool ok = TDEIO::NetAccess::file_copy(tmp.name(), _url, -1, false, false, tqApp->mainWidget());
if ( !ok ) log.sorry(i18n("Could not create file"), TDEIO::NetAccess::lastErrorString());
//#endif
return ok;
}
bool PURL::Url::write(const TQString &text, Log::Generic &log) const
{
File file(*this, log);
if ( !file.openForWrite() ) return false;
file.stream() << text;
return file.close();
}
bool PURL::Url::del(Log::Generic &log) const
{
//#if defined(NO_KDE)
// Synchronous sync;
// if ( sync.op().remove(_url.filepath()) && sync.execute() ) {
// if ( show==Log::Show ) ConsoleView::sorry(i18n("Could not delete file"), sync.error());
// return false;
// }
//#else
bool ok = TDEIO::NetAccess::del(_url, tqApp->mainWidget());
if ( !ok ) log.sorry(i18n("Could not delete file."), TDEIO::NetAccess::lastErrorString());
return ok;
//#endif
}
bool PURL::Url::isDosFile() const
{
Log::Base log;
File file(*this, log);
if( !file.openForRead() ) return false;
int oldc = 0;
for (;;) {
int c = file.qfile()->getch();
if ( c==-1 ) break;
if( c=='\n' && oldc=='\r' ) return true;
oldc = c;
}
return false;
}
//-----------------------------------------------------------------------------
bool PURL::Directory::create(Log::Generic &log) const
{
//#if defined(NO_KDE)
// Synchronous sync;
// if ( sync.op().mkdir(_url.filepath()) && sync.execute() ) {
// if ( show==Log::Show ) ConsoleView::sorry(i18n("Could not create directory"), sync.error());
// return false;
// }
//#else
// assume dir do no exist if ioslave cannot tell...
if ( TDEIO::NetAccess::exists(_url, false, tqApp->mainWidget()) ) return true;
bool ok = TDEIO::NetAccess::mkdir(_url, tqApp->mainWidget());
if ( !ok ) log.sorry(i18n("Could not create directory"), TDEIO::NetAccess::lastErrorString());
//#endif
return ok;
}