Commit 8e8168fc authored by Eike Ziller's avatar Eike Ziller
Browse files

Fix reloading behavior of image viewer.



The image viewer is not able to save, so we should not ask.

Task-number: QTCREATORBUG-5966
Change-Id: I947520d7450704abda8395e8aaae56dfe7842328
Reviewed-by: default avatarRobert Löhning <robert.loehning@nokia.com>
Reviewed-by: default avatarEike Ziller <eike.ziller@nokia.com>
parent 764ce45e
......@@ -667,7 +667,8 @@ bool DocumentManager::saveDocument(IDocument *document, const QString &fileName,
}
*isReadOnly = false;
}
QMessageBox::critical(d->m_mainWindow, tr("File Error"), errorString);
QMessageBox::critical(d->m_mainWindow, tr("File Error"),
tr("Error while saving file: %1").arg(errorString));
out:
ret = false;
}
......@@ -992,7 +993,10 @@ void DocumentManager::checkForReload()
// check if IDocument wants us to ask
if (document->reloadBehavior(trigger, type) == IDocument::BehaviorSilent) {
// content change or removed, IDocument wants silent handling
success = document->reload(&errorString, IDocument::FlagReload, type);
if (type == IDocument::TypeRemoved)
editorsToClose << EditorManager::instance()->editorsForDocument(document);
else
success = document->reload(&errorString, IDocument::FlagReload, type);
// IDocument wants us to ask
} else if (type == IDocument::TypeContents) {
// content change, IDocument wants to ask user
......
......@@ -65,6 +65,15 @@ ImageViewerFile::~ImageViewerFile()
delete d;
}
Core::IDocument::ReloadBehavior ImageViewerFile::reloadBehavior(ChangeTrigger state, ChangeType type) const
{
if (type == TypeRemoved || type == TypePermissions)
return BehaviorSilent;
if (type == TypeContents && state == TriggerInternal && !isModified())
return BehaviorSilent;
return BehaviorAsk;
}
bool ImageViewerFile::reload(QString *errorString,
Core::IDocument::ReloadFlag flag,
Core::IDocument::ChangeType type)
......
......@@ -61,6 +61,7 @@ public:
bool isModified() const;
bool isSaveAsAllowed() const;
virtual ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const;
bool reload(QString *errorString, ReloadFlag flag, ChangeType type);
void setMimetype(const QString &mimetype);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment