79 PluginRunner(
const QHash<QString, PluginHandle>& plugins,
80 QObject* parent =
nullptr);
82 void setLatestRequestId(RequestId
id) { m_latestRequest.storeRelaxed(
id); }
84 bool setActivePlugin(
const QString& pluginName);
85 void clearActivePlugin();
87 const QString& pluginName,
const QMap<QString, QVariant>& settings);
88 QMap<QString, QVariant> getPluginSettings(
const QString& pluginName)
const;
89 QString getPluginSettingsString(
const QString& pluginName)
const;
90 void enableCuda(
bool useCuda);
91 void onInputLoaded(
Reader* reader);
92 void resetSelectionCancelFlag();
93 void cancelSelectionDirect();
97 void onIndexChanged(uint index);
98 void onSelectedImagesChanged(
const std::vector<uint>& selectedImages);
102 void cancelSelection();
105 void previewStarted(
const RequestId&
id);
109 void activePluginUpdatePreview(
bool clearOldPreview);
110 void activePluginUpdateProgress(
int progress,
const QString& message);
111 void activePluginUpdateSelectedImages(
112 const std::vector<uint>& selectedImages);
115 const PluginHandle* findPlugin(
const QString& pluginName)
const;
117 QHash<QString, PluginHandle> m_plugins;
118 QString m_activePluginName;
119 volatile bool m_selectionCancelFlag =
false;
120 QAtomicInteger<RequestId> m_latestRequest{0};
127 PluginThread(
const QHash<QString, PluginHandle>& pluginHandles,
128 QObject* parent =
nullptr);
131 void requestPreview(
const QString& pluginName,
const PLUG::PreviewData& request);
134 void cancelSelection();
136 bool setActivePlugin(
const QString& pluginName);
137 void clearActivePlugin();
140 const QString& pluginName,
const QMap<QString, QVariant>& settings);
141 QMap<QString, QVariant> getPluginSettings(
const QString& pluginName)
const;
142 QString getPluginSettingsString(
const QString& pluginName)
const;
144 void enableCuda(
bool useCuda);
145 void onInputLoaded(
Reader* reader);
149 void onIndexChanged(uint index);
150 void onSelectedImagesChanged(
const std::vector<uint>& selectedImages);
154 void previewStateChanged(
const PreviewState& state);
157 void activePluginUpdatePreview(
bool clearOldPreview);
158 void activePluginUpdateProgress(
int progress,
const QString& message);
159 void activePluginUpdateSelectedImages(
160 const std::vector<uint>& selectedImages);
162 void notifyIndexChanged(uint index);
163 void notifySelectedImagesChanged(
const std::vector<uint>& selectedImages);
166 std::unique_ptr<QThread> m_thread;
167 std::unique_ptr<PluginRunner> m_runner;
168 RequestId m_counter{0};
169 QHash<QString, PluginHandle> m_plugins;
tl::expected< void, Error > ApplySettingsResult
Type alias for the result of applying settings to a plugin, which can be either a successful void res...
Definition ibase.h:51