kio Library API Documentation

KIO::CopyJob Class Reference

CopyJob is used to move, copy or symlink files and directories. More...

#include <jobclasses.h>

Inheritance diagram for KIO::CopyJob:

KIO::Job QObject List of all members.

Public Types

enum  CopyMode { Copy, Move, Link }

Signals

void totalFiles (KIO::Job *job, unsigned long files)
void totalDirs (KIO::Job *job, unsigned long dirs)
void aboutToCreate (KIO::Job *job, const QValueList< KIO::CopyInfo > &files)
void processedFiles (KIO::Job *job, unsigned long files)
void processedDirs (KIO::Job *job, unsigned long dirs)
void copying (KIO::Job *job, const KURL &from, const KURL &to)
void linking (KIO::Job *job, const QString &target, const KURL &to)
void moving (KIO::Job *job, const KURL &from, const KURL &to)
void creatingDir (KIO::Job *job, const KURL &dir)
void renamed (KIO::Job *job, const KURL &from, const KURL &to)
void copyingDone (KIO::Job *job, const KURL &from, const KURL &to, bool directory, bool renamed)
void copyingLinkDone (KIO::Job *job, const KURL &from, const QString &target, const KURL &to)

Public Member Functions

 CopyJob (const KURL::List &src, const KURL &dest, CopyMode mode, bool asMethod, bool showProgressInfo)
KURL::List srcURLs () const
KURL destURL () const

Protected Slots

void slotStart ()
void slotEntries (KIO::Job *, const KIO::UDSEntryList &list)
virtual void slotResult (KIO::Job *job)
void slotProcessedSize (KIO::Job *, KIO::filesize_t data_size)
void slotTotalSize (KIO::Job *, KIO::filesize_t size)
void slotReport ()

Protected Member Functions

void statNextSrc ()
void slotResultStating (KIO::Job *job)
void startListing (const KURL &src)
void slotResultCreatingDirs (KIO::Job *job)
void slotResultConflictCreatingDirs (KIO::Job *job)
void createNextDir ()
void slotResultCopyingFiles (KIO::Job *job)
void slotResultConflictCopyingFiles (KIO::Job *job)
void copyNextFile ()
void slotResultDeletingDirs (KIO::Job *job)
void deleteNextDir ()
void skip (const KURL &sourceURL)
virtual void virtual_hook (int id, void *data)

Detailed Description

CopyJob is used to move, copy or symlink files and directories.

Don't create the job directly, but use KIO::copy(), KIO::move(), KIO::link() and friends.

See also:
KIO::copy()

KIO::copyAs()

KIO::move()

KIO::moveAs()

KIO::link()

KIO::linkAs()

Definition at line 1252 of file jobclasses.h.


Member Enumeration Documentation

enum KIO::CopyJob::CopyMode
 

Defines the mode of the operation.

Definition at line 1259 of file jobclasses.h.


Constructor & Destructor Documentation

CopyJob::CopyJob const KURL::List src,
const KURL dest,
CopyMode  mode,
bool  asMethod,
bool  showProgressInfo
 

Do not create a CopyJob directly.

Use KIO::copy(), KIO::move(), KIO::link() and friends instead.

Parameters:
src the list of source URLs
dest the destination URL
mode specifies whether the job should copy, move or link
asMethod if true, behaves like KIO::copyAs(), KIO::moveAs() or KIO::linkAs()
showProgressInfo true to show progress information to the user
See also:
KIO::copy()

KIO::copyAs()

KIO::move()

KIO::moveAs()

KIO::link()

KIO::linkAs()

States: STATE_STATING for the dest STATE_STATING for each src url (statNextSrc) for each: if dir -> STATE_LISTING (filling 'dirs' and 'files') but if direct rename possible: STATE_RENAMING instead. STATE_CREATING_DIRS (createNextDir, iterating over 'dirs') if conflict: STATE_CONFLICT_CREATING_DIRS STATE_COPYING_FILES (copyNextFile, iterating over 'files') if conflict: STATE_CONFLICT_COPYING_FILES STATE_DELETING_DIRS (deleteNextDir) (if moving) done.

Definition at line 1871 of file job.cpp.

References QObject::connect(), QTimer::singleShot(), slotStart(), totalDirs(), and totalFiles().


Member Function Documentation

KURL::List KIO::CopyJob::srcURLs  )  const [inline]
 

Returns the list of source URLs.

Returns:
the list of source URLs.

Definition at line 1284 of file jobclasses.h.

KURL KIO::CopyJob::destURL  )  const [inline]
 

Returns the destination URL.

Returns:
the destination URL

Definition at line 1290 of file jobclasses.h.

void KIO::CopyJob::totalFiles KIO::Job job,
unsigned long  files
[signal]
 

Emitted when the total number of files is known.

Parameters:
job the job that emitted this signal
files the total number of files

Referenced by CopyJob().

void KIO::CopyJob::totalDirs KIO::Job job,
unsigned long  dirs
[signal]
 

Emitted when the toal number of direcotries is known.

Parameters:
job the job that emitted this signal
dirs the total number of directories

Referenced by CopyJob().

void KIO::CopyJob::aboutToCreate KIO::Job job,
const QValueList< KIO::CopyInfo > &  files
[signal]
 

Emitted when it is known which files / directories are going to be created.

Note that this may still change e.g. when existing files with the same name are discovered.

Parameters:
job the job that emitted this signal
files a list of items that are about to be created.

void KIO::CopyJob::processedFiles KIO::Job job,
unsigned long  files
[signal]
 

Sends the number of processed files.

Parameters:
job the job that emitted this signal
files the number of processed files

void KIO::CopyJob::processedDirs KIO::Job job,
unsigned long  dirs
[signal]
 

Sends the number of processed directories.

Parameters:
job the job that emitted this signal
dirs the number of processed dirs

void KIO::CopyJob::copying KIO::Job job,
const KURL from,
const KURL to
[signal]
 

The job is copying a file or directory.

Parameters:
job the job that emitted this signal
from the URl of the file or directory that is currently being copied
to the destination of the current operation

void KIO::CopyJob::linking KIO::Job job,
const QString target,
const KURL to
[signal]
 

The job is creating a symbolic link.

Parameters:
job the job that emitted this signal
target the URl of the file or directory that is currently being linked
to the destination of the current operation

void KIO::CopyJob::moving KIO::Job job,
const KURL from,
const KURL to
[signal]
 

The job is moving a file or directory.

Parameters:
job the job that emitted this signal
from the URl of the file or directory that is currently being moved
to the destination of the current operation

void KIO::CopyJob::creatingDir KIO::Job job,
const KURL dir
[signal]
 

The job is creating the directory dir.

Parameters:
job the job that emitted this signal
dir the directory that is currently being created

void KIO::CopyJob::renamed KIO::Job job,
const KURL from,
const KURL to
[signal]
 

The user chose to rename from to to.

Parameters:
job the job that emitted this signal
from the original name
to the new name

void KIO::CopyJob::copyingDone KIO::Job job,
const KURL from,
const KURL to,
bool  directory,
bool  renamed
[signal]
 

The job emits this signal when copying or moving a file or directory successfully finished.

This signal is mainly for the Undo feature.

Parameters:
job the job that emitted this signal
from the source URL
to the destination URL
directory indicates whether a file or directory was successfully copied/moved. true for a directoy, false for file
renamed indicates that the destination URL was created using a rename operation (i.e. fast directory moving). true if is has been renamed

Referenced by slotResult().

void KIO::CopyJob::copyingLinkDone KIO::Job job,
const KURL from,
const QString target,
const KURL to
[signal]
 

The job is copying or moving a symbolic link, that points to target.

The new link is created in to. The existing one is/was in from. This signal is mainly for the Undo feature.

Parameters:
job the job that emitted this signal
from the source URL
target the target
to the destination URL

void CopyJob::slotStart  )  [protected, slot]
 

Definition at line 1904 of file job.cpp.

References KIO::Job::addSubjob(), QObject::connect(), QTimer::start(), and KIO::stat().

Referenced by CopyJob().

void CopyJob::slotResult KIO::Job job  )  [protected, virtual, slot]
 

Called whenever a subjob finishes.

Default implementation checks for errors and propagates to parent job, then calls removeSubjob. Override if you don't want subjobs errors to be propagated.

Parameters:
job the subjob
See also:
result()

Reimplemented from KIO::Job.

Definition at line 3030 of file job.cpp.

References KURL::addPath(), KIO::Job::addSubjob(), copyingDone(), KURL::directory(), KIO::Job::emitResult(), KIO::Job::error(), QFile::exists(), KURL::fileName(), QPtrList< Job >::isEmpty(), KURL::isLocalFile(), kdDebug(), kdError(), QString::lower(), KTempFile::name(), Observer::open_RenameDlg(), KURL::path(), KURL::prettyURL(), QPtrList< Job >::remove(), KIO::RenameDlg_Result, Observer::self(), KURL::setPath(), KIO::Job::slotResult(), QTimer::start(), KIO::stat(), KTempFile::status(), QTimer::stop(), KTempFile::unlink(), and KURL::url().

void CopyJob::slotProcessedSize KIO::Job ,
KIO::filesize_t  data_size
[protected, slot]
 

Forward signal from subjob.

Definition at line 2986 of file job.cpp.

References KIO::Job::emitPercent(), KIO::filesize_t, KIO::Job::processedSize(), KIO::Job::setProcessedSize(), and KIO::Job::totalSize().

void CopyJob::slotTotalSize KIO::Job ,
KIO::filesize_t  size
[protected, slot]
 

Forward signal from subjob.

Parameters:
size the total size

Definition at line 3003 of file job.cpp.

References KIO::filesize_t, and KIO::Job::totalSize().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kio Library Version 3.2.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Mar 4 22:44:35 2004 by doxygen 1.3.6-20040222 written by Dimitri van Heesch, © 1997-2003