digiKam
Loading...
Searching...
No Matches
Digikam::DFileOperations Class Reference

#include <dfileoperations.h>

Public Types

enum  SidecarAction { Rename = 0 , Copy }
 

Static Public Member Functions

static bool copyFile (const QString &srcFile, const QString &dstFile, const bool *const cancel=nullptr)
 
static bool copyFiles (const QStringList &srcPaths, const QString &dstPath)
 
static bool copyFolderRecursively (const QString &srcPath, const QString &dstPath, const QString &itemId=QString(), bool *const cancel=nullptr, bool useDstPath=false)
 
static bool copyModificationTime (const QString &srcFile, const QString &dstFile)
 
static QString findExecutable (const QString &name, const QStringList &hints=QStringList())
 
static QUrl getUniqueFileUrl (const QUrl &orgUrl, bool *const newurl=nullptr)
 
static QUrl getUniqueFolderUrl (const QUrl &orgUrl)
 
static bool localFileRename (const QString &source, const QString &orgPath, const QString &destPath, bool ignoreSettings=false)
 
static void openFilesWithDefaultApplication (const QList< QUrl > &urls)
 
static void openInFileManager (const QList< QUrl > &urls)
 
static bool removeAndCopyFile (const QString &srcFile, const QString &dstFile)
 
static bool renameFile (const QString &srcFile, const QString &dstFile)
 
static bool setModificationTime (const QString &srcFile, const QDateTime &dateTime)
 
static bool sidecarFiles (const QString &srcFile, const QString &dstFile, SidecarAction action)
 

Member Enumeration Documentation

◆ SidecarAction

Enumerator
Rename 
Copy 

Member Function Documentation

◆ copyFile()

bool Digikam::DFileOperations::copyFile ( const QString &  srcFile,
const QString &  dstFile,
const bool *const  cancel = nullptr 
)
static

◆ copyFiles()

bool Digikam::DFileOperations::copyFiles ( const QStringList &  srcPaths,
const QString &  dstPath 
)
static

Copy a list of files to another place.

References copyFile().

◆ copyFolderRecursively()

bool Digikam::DFileOperations::copyFolderRecursively ( const QString &  srcPath,
const QString &  dstPath,
const QString &  itemId = QString(),
bool *const  cancel = nullptr,
bool  useDstPath = false 
)
static

◆ copyModificationTime()

bool Digikam::DFileOperations::copyModificationTime ( const QString &  srcFile,
const QString &  dstFile 
)
static

◆ findExecutable()

QString Digikam::DFileOperations::findExecutable ( const QString &  name,
const QStringList &  hints = QStringList() 
)
static

Returns the path to a program under Windows by searching in the Windows registry. If the path is empty, QStandardPaths::findExecutable() is used as under Linux and macOS.

Referenced by Digikam::DServiceMenu::getIconFromService(), openInFileManager(), Digikam::DServiceMenu::runFiles(), and Digikam::DServiceMenu::servicesForOpen().

◆ getUniqueFileUrl()

QUrl Digikam::DFileOperations::getUniqueFileUrl ( const QUrl &  orgUrl,
bool *const  newurl = nullptr 
)
static

Get unique file url if file exist by appending a counter suffix or return original url.

Referenced by Digikam::CopyOrMoveJob::run(), Digikam::RestoreDTrashItemsJob::run(), Digikam::VidSlideTask::run(), and Digikam::ActionTask::run().

◆ getUniqueFolderUrl()

QUrl Digikam::DFileOperations::getUniqueFolderUrl ( const QUrl &  orgUrl)
static

Get unique folder url if folder exist by appending a counter suffix or return original url.

Referenced by Digikam::CopyOrMoveJob::run().

◆ localFileRename()

bool Digikam::DFileOperations::localFileRename ( const QString &  source,
const QString &  orgPath,
const QString &  destPath,
bool  ignoreSettings = false 
)
static

This method rename a local file 'orgPath' to 'destPath' with all ACL properties restoration taken from 'source' file. Return true if operation is completed.

References copyModificationTime(), Digikam::MetaEngineSettings::instance(), renameFile(), Digikam::MetaEngineSettings::settings(), and Digikam::MetaEngineSettingsContainer::updateFileTimeStamp.

Referenced by Digikam::EditorWindow::moveLocalFile(), and Digikam::ActionTask::run().

◆ openFilesWithDefaultApplication()

void Digikam::DFileOperations::openFilesWithDefaultApplication ( const QList< QUrl > &  urls)
static

Open file urls to default application relevant of file type-mimes desktop configuration.

References Digikam::DServiceMenu::runFiles(), and Digikam::DServiceMenu::servicesForOpenWith().

Referenced by Digikam::ItemViewUtilities::openInfosWithDefaultApplication().

◆ openInFileManager()

void Digikam::DFileOperations::openInFileManager ( const QList< QUrl > &  urls)
static

Open system file manager and select the item.

References findExecutable().

Referenced by Digikam::ItemIconView::slotAlbumOpenInFileManager().

◆ removeAndCopyFile()

bool Digikam::DFileOperations::removeAndCopyFile ( const QString &  srcFile,
const QString &  dstFile 
)
static

If the destination file already exists, it will be removed. Copy file and keep the source file modification time.

References copyFile().

◆ renameFile()

bool Digikam::DFileOperations::renameFile ( const QString &  srcFile,
const QString &  dstFile 
)
static

Rename or move file and keep the source file modification time.

Referenced by localFileRename(), Digikam::CopyOrMoveJob::run(), Digikam::RenameFileJob::run(), and sidecarFiles().

◆ setModificationTime()

bool Digikam::DFileOperations::setModificationTime ( const QString &  srcFile,
const QDateTime &  dateTime 
)
static

Set file modification time from QDateTime. Keep access time from source file.

Referenced by Digikam::GPCamera::downloadItem(), and Digikam::DNGWriter::Private::exportTarget().

◆ sidecarFiles()

bool Digikam::DFileOperations::sidecarFiles ( const QString &  srcFile,
const QString &  dstFile,
SidecarAction  action 
)
static

Rename/move or copy all possible sidecar files and keep the source file modification time.

References Copy, copyFile(), Digikam::MetaEngineSettings::instance(), Rename, renameFile(), Digikam::MetaEngineSettings::settings(), Digikam::MetaEngineSettingsContainer::sidecarExtensions, and suffix.

Referenced by Digikam::CopyOrMoveJob::run().


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