29#include <QProgressDialog>
35#include "digikam_config.h"
46class KToolBarPopupAction;
51class DAdjustableLabel;
52class DCategorizedView;
57class ExposureSettingsContainer;
59class ICCSettingsContainer;
62class StatusProgressBar;
64class VersionFileOperation;
85 explicit EditorWindow(
const QString& name, QWidget*
const parent =
nullptr);
88 void registerExtraPluginsActions(QString& dom)
override;
90 bool actionEnabledState()
const;
106 bool m_nonDestructive =
true;
107 bool m_setExifOrientationTag =
true;
108 bool m_editingOriginalImage =
true;
109 bool m_actionEnabledState =
false;
117 QAction* m_openVersionAction =
nullptr;
118 QAction* m_saveAction =
nullptr;
119 QAction* m_saveAsAction =
nullptr;
120 KToolBarPopupAction* m_saveNewVersionAction =
nullptr;
121 QAction* m_saveCurrentVersionAction =
nullptr;
122 QAction* m_saveNewVersionAsAction =
nullptr;
123 QMenu* m_saveNewVersionInFormatAction =
nullptr;
124 QAction* m_exportAction =
nullptr;
125 QAction* m_revertAction =
nullptr;
126 QAction* m_discardChangesAction =
nullptr;
127 QAction* m_fileDeleteAction =
nullptr;
128 QAction* m_forwardAction =
nullptr;
129 QAction* m_backwardAction =
nullptr;
131 QAction* m_lastAction =
nullptr;
132 QAction* m_firstAction =
nullptr;
134 QAction* m_applyToolAction =
nullptr;
135 QAction* m_closeToolAction =
nullptr;
137 QAction* m_showBarAction =
nullptr;
139 KToolBarPopupAction* m_undoAction =
nullptr;
140 KToolBarPopupAction* m_redoAction =
nullptr;
142 QMenu* m_contextMenu =
nullptr;
143 QMenu* m_servicesMenu =
nullptr;
144 QAction* m_serviceAction =
nullptr;
150 QPointer<QProgressDialog> m_savingProgressDialog =
nullptr;
167 SaveVersionWithoutAsking = OverwriteWithoutAsking,
168 AlwaysNewVersion = AlwaysSaveAs
173 void saveStandardSettings();
174 void readStandardSettings();
175 void applyStandardSettings();
176 void applyIOSettings();
177 void applyColorManagementSettings();
179 void setupStandardConnections();
180 void setupStandardActions();
181 void setupStatusBar();
182 void setupContextMenu();
183 void setupSelectToolsAction();
184 void toggleStandardActions(
bool val);
185 void toggleZoomActions(
bool val);
186 void toggleNonDestructiveActions();
187 void toggleToolActions(
EditorTool* tool =
nullptr);
189 bool promptForOverWrite();
191 bool promptUserDelete(
const QUrl& url);
192 bool promptUserSave(
const QUrl& url, SaveAskMode mode = AskIfNeeded,
bool allowCancel =
true);
193 bool waitForSavingToComplete();
194 void startingSave(
const QUrl& url);
195 bool startingSaveAs(
const QUrl& url);
196 bool startingSaveCurrentVersion(
const QUrl& url);
197 bool startingSaveNewVersion(
const QUrl& url);
198 bool startingSaveNewVersionAs(
const QUrl& url);
199 bool startingSaveNewVersionInFormat(
const QUrl& url,
const QString& format);
200 bool checkPermissions(
const QUrl& url);
201 bool checkOverwrite(
const QUrl& url);
202 bool moveLocalFile(
const QString& src,
const QString& dest);
203 void movingSaveFileFinished(
bool successful);
205 void execSavingProgressDialog();
208 void resetOriginSwitchFile();
210 void addServicesMenuForUrl(
const QUrl& url);
211 void openWith(
const QUrl& url, QAction* action);
218 VersionFileOperation saveAsVersionFileOperation(
const QUrl& url,
const QUrl& saveLocation,
const QString& format);
221 virtual bool hasOriginalToRestore();
224 virtual void moveFile();
225 virtual void finishSaving(
bool success);
227 virtual void readSettings();
228 virtual void saveSettings();
229 virtual void toggleActions(
bool val);
258 void slotAboutToShowUndoMenu();
259 void slotAboutToShowRedoMenu();
261 void slotSelected(
bool);
263 void slotLoadingProgress(
const QString& filePath,
float progress);
264 void slotSavingProgress(
const QString& filePath,
float progress);
266 void slotNameLabelCancelButtonPressed();
268 void slotComponentsInfo()
override;
270 virtual void slotPrepareToLoad();
271 virtual void slotLoadingStarted(
const QString& filename);
272 virtual void slotLoadingFinished(
const QString& filename,
bool success);
273 virtual void slotSavingStarted(
const QString& filename);
274 virtual void slotFileOriginChanged(
const QString& filePath);
275 virtual void slotDiscardChanges();
276 virtual void slotOpenOriginal();
278 virtual bool saveOrSaveAs();
301 void slotSetUnderExposureIndicator(
bool);
302 void slotSetOverExposureIndicator(
bool);
303 void slotColorManagementOptionsChanged();
304 void slotToggleColorManagedView();
305 void slotSoftProofingOptions();
306 void slotUpdateSoftProofingState();
307 void slotSavingFinished(
const QString& filename,
bool success);
308 void slotZoomTo100Percents();
309 void slotZoomChanged(
bool isMax,
bool isMin,
double zoom);
310 void slotSelectionChanged(
const QRect& sel);
311 void slotSelectionSetText(
const QRect& sel);
312 void slotToggleFitToWindow();
313 void slotToggleOffFitToWindow();
314 void slotFitToSelect();
315 void slotIncreaseZoom();
316 void slotDecreaseZoom();
317 void slotCloseTool();
318 void slotApplyTool();
319 void slotUndoStateChanged();
320 void slotThemeChanged();
321 void slotToggleRightSideBar()
override;
322 void slotPreviousRightSideBarTab()
override;
323 void slotNextRightSideBarTab()
override;
326 void slotRotateLeftIntoQue();
327 void slotRotateRightIntoQue();
328 void slotFlipHIntoQue();
329 void slotFlipVIntoQue();
333 void enterWaitingLoop();
334 void quitWaitingLoop();
335 void showSideBars(
bool visible)
override;
336 void showThumbBar(
bool visible)
override;
337 void customizedFullScreenMode(
bool set)
override;
338 bool thumbbarVisibility()
const override;
339 void setColorManagedViewIndicatorToolTip(
bool available,
bool cmv);
340 void setUnderExposureToolTip(
bool uei);
341 void setOverExposureToolTip(
bool oei);
343 void setToolStartProgress(
const QString& toolName);
344 void setToolProgress(
int progress);
345 void setToolStopProgress();
347 void setToolInfoMessage(
const QString& txt);
349 bool startingSaveVersion(
const QUrl& url,
bool subversion,
bool saveAs,
const QString& format);
351 void setPreviewModeMask(
int mask);
354 bool showFileSaveDialog(
const QUrl& initialUrl, QUrl& newURL);
362 void setupTempSaveFile(
const QUrl& url);
372 QString selectValidSavingFormat(
const QUrl& targetUrl);
374 void addAction2ContextMenu(
const QString& actionName,
bool addDisabled =
false);
Definition dexpanderbox.h:56
Definition dimagehistory.h:39
Definition dxmlguiwindow.h:84
Definition editorstackview.h:32
Definition editorwindow_p.h:149
Definition editorwindow.h:68
static const QString CONFIG_GROUP_NAME
Definition editorwindow.h:81
QString m_formatForRAWVersioning
Definition editorwindow.h:154
virtual void addServicesMenu()=0
void signalNoCurrentItem()
void slotSetup() override=0
virtual void setupConnections()=0
virtual bool saveCurrentVersion()=0
virtual bool saveNewVersion()=0
virtual bool saveNewVersionAs()=0
virtual Sidebar * rightSideBar() const =0
virtual void slotChanged()=0
void signalSelectionChanged(const QRect &)
virtual void setupUserArea()=0
void signalPreviewModeChanged(int)
virtual void slotRevert()=0
QString m_formatForSubversions
Definition editorwindow.h:155
QColor m_bgColor
Definition editorwindow.h:113
virtual void slotFileWithDefaultApplication()=0
virtual void setupActions()=0
virtual bool saveNewVersionInFormat(const QString &)=0
virtual QUrl saveDestinationUrl()=0
virtual void slotDeleteCurrentItem()=0
virtual void slotOpenWith(QAction *action=nullptr)=0
SaveAskMode
Definition editorwindow.h:163
@ AlwaysSaveAs
Definition editorwindow.h:166
@ AskIfNeeded
Definition editorwindow.h:164
@ OverwriteWithoutAsking
Definition editorwindow.h:165
QVector< TransformType > m_transformQue
NOTE: using QVector to store transforms.
Definition editorwindow.h:158
virtual void saveVersionIsComplete()=0
virtual void slotLast()=0
virtual void slotBackward()=0
virtual void slotForward()=0
virtual void slotUpdateItemInfo()=0
virtual void saveAsIsComplete()=0
virtual void saveIsComplete()=0
SavingContext m_savingContext
Definition editorwindow.h:152
virtual void slotAddedDropedItems(QDropEvent *e)=0
virtual void slotContextMenu()=0
virtual ThumbBarDock * thumbBar() const =0
virtual void slotFirst()=0
virtual void slotSetupICC()=0
TransformType
Definition editorwindow.h:74
@ RotateLeft
Definition editorwindow.h:75
@ FlipHorizontal
Definition editorwindow.h:77
@ RotateRight
Definition editorwindow.h:76
Definition exposurecontainer.h:29
Definition iofilesettings.h:26
Definition savingcontext.h:33
Definition statusprogressbar.h:33
Definition thumbbardock.h:74
Definition versionfileoperation.h:60
Definition versionmanager.h:36
Definition datefolderview.cpp:34