forked from qt-creator/qt-creator
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: Robert Löhning <robert.loehning@nokia.com> Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
This commit is contained in:
@@ -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,6 +993,9 @@ 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
|
||||
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) {
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user