KIO::CopyJob Class Reference

`#include <jobclasses.h>`

Inheritance diagram for KIO::CopyJob:

## 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)
Signals inherited from KIO::Job
void | result (KIO::Job *job)
void | canceled (KIO::Job *job)
void | infoMessage (KIO::Job *job, const QString &msg)
void | warning (KIO::Job *job, const QString &msg)
void | connected (KIO::Job *job)
void | percent (KIO::Job *job, unsigned long percent)
void | totalSize (KIO::Job *job, KIO::filesize_t size)
void | processedSize (KIO::Job *job, KIO::filesize_t size)
void | speed (KIO::Job *job, unsigned long speed)

## 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)
Public Member Functions inherited from KIO::Job
virtual void | kill (bool quietly=true)
int | error () const
int | progressId () const
const QString & | errorText () const
QString | errorString () const
QStringList | detailedErrorStrings (const KURL *reqUrl=0L, int method=-1) const
void | showErrorDialog (QWidget *parent=0L)
void | setAutoErrorHandlingEnabled (bool enable, QWidget *parentWidget=0)
bool | isAutoErrorHandlingEnabled () const
void | setAutoWarningHandlingEnabled (bool enable)
bool | isAutoWarningHandlingEnabled () const
void | setInteractive (bool enable)
bool | isInteractive () const
void | setWindow (QWidget *window)
QWidget * | window () const
void | updateUserTimestamp (unsigned long time)
void | setParentJob (Job *parentJob)
Job * | parentJob () const
void | setMetaData (const KIO::MetaData &metaData)
void | addMetaData (const QString &key, const QString &value)
void | addMetaData (const QMap< QString, QString > &values)
void | mergeMetaData (const QMap< QString, QString > &values)
MetaData | outgoingMetaData () const
MetaData | metaData () const
QString | queryMetaData (const QString &key)
KIO::filesize_t | getProcessedSize ()

## 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 Slots inherited from KIO::Job
virtual void | slotResult (KIO::Job *job)
void | slotSpeed (KIO::Job *job, unsigned long speed)
void | slotInfoMessage (KIO::Job *job, const QString &msg)
void | slotSpeedTimeout ()

## 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)
void | setNextDirAttribute ()
virtual void | virtual_hook (int id, void *data)
Protected Member Functions inherited from KIO::Job
| Job (bool showProgressInfo)
virtual void | addSubjob (Job *job, bool inheritMetaData=true)
virtual void | removeSubjob (Job *job)
void | removeSubjob (Job *job, bool mergeMetaData, bool emitResultIfLast)
void | emitPercent (KIO::filesize_t processedSize, KIO::filesize_t totalSize)
void | emitSpeed (unsigned long speed)
void | emitResult ()
void | setProcessedSize (KIO::filesize_t size)
unsigned long | userTimestamp () const
int & | extraFlags ()

## Friends

class | CopyJobPrivate

## Additional Inherited Members

Protected Types inherited from KIO::Job
enum | { EF_TransferJobAsync = (1 << 0), EF_TransferJobNeedData = (1 << 1), EF_TransferJobDataSent = (1 << 2), EF_ListJobUnrestricted = (1 << 3) }
Protected Attributes inherited from KIO::Job
QPtrList< Job > | subjobs
int | m_error
QString | m_errorText
unsigned long | m_percent
int | m_progressId
QTimer * | m_speedTimer
QGuardedPtr< QWidget > | m_window
MetaData | m_outgoingMetaData
MetaData | m_incomingMetaData

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

## Member Enumeration Documentation

enum KIO::CopyJob::CopyMode

Defines the mode of the operation.

Definition at line 1515 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) STATE_SETTING_DIR_ATTRIBUTES (setNextDirAttribute, iterating over d->m_directoriesCopied) done.

Definition at line 2214 of file job.cpp.

## Member Function Documentation

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::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::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

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

KURL KIO::CopyJob::destURL | ( |  | ) | const

inline

Returns the destination URL.

Returns
  the destination URL

Definition at line 1548 of file jobclasses.h.

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::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::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::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::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 3875 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

Definition at line 3881 of file job.cpp.

void CopyJob::slotProcessedSize | ( | KIO::Job * | ,
|  | KIO::filesize_t | data_size
| ) |  |

protected slot

Forward signal from subjob.

Definition at line 3573 of file job.cpp.

void CopyJob::slotStart | ( |  | ) |

protected slot

We call the functions directly instead of using signals. Calling a function via a signal takes approx. 65 times the time compared to calling it directly (at least on my machine). aleXXX

Definition at line 2257 of file job.cpp.

void CopyJob::slotTotalSize | ( | KIO::Job * | ,
|  | KIO::filesize_t | size
| ) |  |

protected slot

Forward signal from subjob.

Parameters

  size | the total size

Definition at line 3590 of file job.cpp.

KURL::List KIO::CopyJob::srcURLs | ( |  | ) | const

inline

Returns the list of source URLs.

Returns
  the list of source URLs.

Definition at line 1542 of file jobclasses.h.

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::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

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

- jobclasses.h
- job.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys