|
| PreviewLoadThread (QObject *const parent=nullptr) |
| Creates a preview load thread.
|
|
void | load (const LoadingDescription &description) override |
| Load a preview.
|
|
void | load (const QString &filePath, const PreviewSettings &settings, int size=0) |
| Load a preview.
|
|
void | loadFast (const QString &filePath, int size) |
| Load a preview that is optimized for fast loading.
|
|
void | loadFastButLarge (const QString &filePath, int minimumSize) |
| Load a preview that is as large as possible without sacrificing speed for performance.
|
|
void | loadHighQuality (const QString &filePath, PreviewSettings::RawLoading rawLoadingMode=PreviewSettings::RawPreviewAutomatic) |
| Load a preview with higher resolution, trading more quality for less speed.
|
|
void | setDisplayingWidget (QWidget *const widget) |
| Optionally, set the displaying widget for color management.
|
|
| ManagedLoadSaveThread (QObject *const parent=nullptr) |
|
void | load (const LoadingDescription &description, LoadingPolicy policy) |
|
LoadingPolicy | loadingPolicy () const |
|
virtual void | save (const DImg &image, const QString &filePath, const QString &format) override |
| Append a task to save the image to the task list.
|
|
void | setLoadingPolicy (LoadingPolicy policy) |
| Set the loading policy.
|
|
void | setTerminationPolicy (TerminationPolicy terminationPolicy) |
|
void | stopAllTasks () |
|
void | stopLoading (const LoadingDescription &desc, LoadingTaskFilter filter=LoadingTaskFilterAll) |
| Same than previous method, but Stop and remove tasks filtered by LoadingDescription.
|
|
void | stopLoading (const QString &filePath=QString(), LoadingTaskFilter filter=LoadingTaskFilterAll) |
| Stop and remove tasks filtered by filePath and policy.
|
|
void | stopSaving (const QString &filePath=QString()) |
| Stop and remove saving tasks filtered by filePath.
|
|
TerminationPolicy | terminationPolicy () const |
|
| LoadSaveThread (QObject *const parent=nullptr) |
|
| ~LoadSaveThread () override |
| Destructor: The thread will execute all pending tasks and wait for this upon destruction.
|
|
void | imageLoaded (const LoadingDescription &loadingDescription, const DImg &img) override |
|
void | imageSaved (const QString &filePath, bool success) override |
|
void | imageStartedLoading (const LoadingDescription &loadingDescription) override |
|
void | imageStartedSaving (const QString &filePath) override |
|
void | loadingProgress (const LoadingDescription &loadingDescription, float progress) override |
|
void | moreCompleteLoadingAvailable (const LoadingDescription &oldLoadingDescription, const LoadingDescription &newLoadingDescription) override |
|
virtual bool | querySendNotifyEvent () const |
|
void | savingProgress (const QString &filePath, float progress) override |
|
void | setNotificationPolicy (NotificationPolicy notificationPolicy) |
|
virtual void | taskHasFinished () |
|
void | thumbnailLoaded (const LoadingDescription &loadingDescription, const QImage &img) override |
|
| DynamicThread (QObject *const parent=nullptr) |
| This class extends QRunnable, so you have to reimplement virtual void run().
|
|
| ~DynamicThread () override |
| The destructor calls stop() and wait(), but if you, in your destructor, delete any data that is accessed by your run() method, you must call stop() and wait() before yourself.
|
|
bool | isFinished () const |
|
bool | isRunning () const |
|
QThread::Priority | priority () const |
|
void | setEmitSignals (bool emitThem) |
|
void | setPriority (QThread::Priority priority) |
| Sets the priority for this dynamic thread.
|
|
State | state () const |
|
|
static DImg | loadFastButLargeSynchronously (const QString &filePath, int minimumSize, const IccProfile &profile=IccProfile()) |
|
static DImg | loadFastSynchronously (const QString &filePath, int size, const IccProfile &profile=IccProfile()) |
| Synchronous versions of the above methods.
|
|
static DImg | loadHighQualitySynchronously (const QString &filePath, PreviewSettings::RawLoading rawLoadingMode=PreviewSettings::RawPreviewAutomatic, const IccProfile &profile=IccProfile()) |
|
static DImg | loadSynchronously (const LoadingDescription &description) |
|
static DImg | loadSynchronously (const QString &filePath, const PreviewSettings &previewSettings, int size, const IccProfile &profile=IccProfile()) |
|
static int | exifOrientation (const QString &filePath, const DMetadata &metadata, bool isRaw, bool fromRawEmbeddedPreview) |
| Retrieves the Exif orientation, either from the info provider if available, or from the metadata.
|
|
static LoadSaveFileInfoProvider * | infoProvider () |
|
static void | setInfoProvider (LoadSaveFileInfoProvider *const infoProvider) |
|
|
LoadingDescription | createLoadingDescription (const QString &filePath, const PreviewSettings &settings, int size) |
|
void | load (const LoadingDescription &description, LoadingMode loadingMode, AccessMode mode=AccessModeReadWrite) |
|
void | load (const LoadingDescription &description, LoadingMode loadingMode, LoadingPolicy policy, AccessMode mode=AccessModeReadWrite) |
|
void | loadPreview (const LoadingDescription &description, LoadingPolicy policy) |
|
void | loadThumbnail (const LoadingDescription &description) |
|
void | preloadThumbnail (const LoadingDescription &description) |
|
void | preloadThumbnailGroup (const QList< LoadingDescription > &descriptions) |
|
void | prependThumbnailGroup (const QList< LoadingDescription > &descriptions) |
|
void | shutDown () override |
| If you are deleting data in your destructor which is accessed from the thread, do one of the following from your destructor to guarantee a safe shutdown: 1) Call this method 2) Call stop() and wait(), knowing that nothing will call start() anymore after this 3) Be sure the thread will never be running at destruction.
|
|
void | notificationReceived () |
|
void | run () override |
| Implement this pure virtual function in your subclass.
|
|
bool | runningFlag () const volatile |
| In you run() method, you shall regularly check for runningFlag() and cleanup and return if false.
|
|
void | start (QMutexLocker< QMutex > &locker) |
| Doing the same as start(), stop() and wait above, provide it with a locked QMutexLocker on mutex().
|
|
void | stop (const QMutexLocker< QMutex > &locker) |
|
QMutex * | threadMutex () const |
| This is the non-recursive mutex used to protect state variables and waiting in this class.
|
|
void | wait (QMutexLocker< QMutex > &locker) |
|
|
enum | LoadingMode { LoadingModeNormal
, LoadingModeShared
} |
| used by SharedLoadSaveThread only More...
|
|
enum | LoadingPolicy {
LoadingPolicyFirstRemovePrevious
, LoadingPolicyPrepend
, LoadingPolicySimplePrepend
, LoadingPolicyAppend
,
LoadingPolicySimpleAppend
, LoadingPolicyPreload
} |
|
enum | LoadingTaskFilter { LoadingTaskFilterAll
, LoadingTaskFilterPreloading
} |
|
enum | TerminationPolicy { TerminationPolicyTerminateLoading
, TerminationPolicyTerminatePreloading
, TerminationPolicyWait
, TerminationPolicyTerminateAll
} |
|
enum | AccessMode { AccessModeRead
, AccessModeReadWrite
} |
| used by SharedLoadSaveThread only More...
|
|
enum | NotificationPolicy { NotificationPolicyDirect
, NotificationPolicyTimeLimited
} |
|
enum | State { Inactive
, Scheduled
, Running
, Deactivating
} |
|
void | start () |
|
void | stop () |
| Stop computation, sets the running flag to false.
|
|
void | wait () |
| Waits until the thread finishes.
|
|
void | signalImageLoaded (const LoadingDescription &loadingDescription, const DImg &img) |
| This signal is emitted when the loading process has finished.
|
|
void | signalImageSaved (const QString &filePath, bool success) |
|
void | signalImageStartedLoading (const LoadingDescription &loadingDescription) |
| All signals are delivered to the thread from where the LoadSaveThread object has been created.
|
|
void | signalImageStartedSaving (const QString &filePath) |
|
void | signalLoadingProgress (const LoadingDescription &loadingDescription, float progress) |
| This signal is emitted whenever new progress info is available and the notification policy allows emitting the signal.
|
|
void | signalMoreCompleteLoadingAvailable (const LoadingDescription &oldLoadingDescription, const LoadingDescription &newLoadingDescription) |
| This signal is emitted if.
|
|
void | signalQImageThumbnailLoaded (const LoadingDescription &loadingDescription, const QImage &img) |
|
void | signalSavingProgress (const QString &filePath, float progress) |
|
void | finished () |
|
void | starting () |
| Emitted if emitSignals is enabled.
|
|