# kio Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KIO::CopyJob Class Reference

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

`#include <jobclasses.h>`

Inheritance diagram for KIO::CopyJob:

[legend]
Collaboration diagram for KIO::CopyJob:

[legend]
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
void | setDefaultPermissions (bool b)
void | setInteractive (bool b)

## 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 | statCurrentSrc ()
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)
void | slotResultRenaming (KIO::Job *job)
virtual void | virtual_hook (int id, void *data)

## Friends

class | CopyJobPrivate

## 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 1445 of file jobclasses.h.

## Member Enumeration Documentation

enum KIO::CopyJob::CopyMode

| Defines the mode of the operation. Definition at line 1452 of file jobclasses.h.

## Constructor & Destructor Documentation

KIO::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()

## 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 1479 of file jobclasses.h.

KURL KIO::CopyJob::destURL | ( |  | ) | const`[inline]`

Returns the destination URL.

Returns:
  the destination URL

Definition at line 1485 of file jobclasses.h.

void KIO::CopyJob::setDefaultPermissions | ( | bool | b | ) |

By default the permissions of the copied files will be those of the source files.

But when copying "template" files to "new" files, people prefer the umask to apply, rather than the template's permissions. For that case, call setDefaultPermissions(true)

TODO KDE4: consider adding this as bool to copy/copyAs?

Since:
  3.2.3

Definition at line 3699 of file job.cpp.

void KIO::CopyJob::setInteractive | ( | bool | b | ) |

When an error happens while copying/moving a file, the user will be presented with a dialog for skipping the file that can't be copied/moved.

Or if the error is that the destination file already exists, the standard rename dialog is shown. If the program doesn't want CopyJob to show dialogs, but to simply fail on error, call setInteractive( false ).

KDE4: remove, already in Job

Since:
  3.4

Reimplemented from KIO::Job.

Definition at line 3705 of file job.cpp.

References KIO::Job::setInteractive().

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

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

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

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

virtual void KIO::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.

void KIO::CopyJob::slotProcessedSize | ( | KIO::Job * | ,
|  | KIO::filesize_t | data_size
| ) | `[protected, slot]`

| Forward signal from subjob.

void KIO::CopyJob::slotTotalSize | ( | KIO::Job * | ,
|  | KIO::filesize_t | size
| ) | `[protected, slot]`

Forward signal from subjob.

Parameters:

  | size | the total size

The documentation for this class was generated from the following files:

- jobclasses.h
- job.cpp

This file is part of the documentation for kio Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:26:19 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003