MCPcopy Create free account
hub / github.com/KDE/ghostwriter / checkSaveChanges

Method checkSaveChanges

src/documentmanager.cpp:821–866  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

819}
820
821bool DocumentManagerPrivate::checkSaveChanges()
822{
823 Q_Q(DocumentManager);
824
825 if (document->isModified()) {
826 if (autoSaveEnabled && !document->isNew() && !document->isReadOnly()) {
827 return q->save();
828 } else {
829 // Prompt user if he wants to save changes.
830 QString text;
831
832 if (document->isNew()) {
833 text = DocumentManager::tr("File has been modified.");
834 } else {
835 text = (DocumentManager::tr("%1 has been modified.")
836 .arg(document->displayName()));
837 }
838
839 int response =
840 MessageBoxHelper::question
841 (
842 editor,
843 text,
844 DocumentManager::tr("Would you like to save your changes?"),
845 QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel,
846 QMessageBox::Save
847 );
848
849 switch (response) {
850 case QMessageBox::Save:
851 if (document->isNew()) {
852 return q->saveAs();
853 } else {
854 return q->save();
855 }
856 break;
857 case QMessageBox::Cancel:
858 return false;
859 default:
860 break;
861 }
862 }
863 }
864
865 return true;
866}
867
868bool DocumentManagerPrivate::checkPermissionsBeforeSave()
869{

Callers 3

openMethod · 0.80
openFileAtMethod · 0.80
closeMethod · 0.80

Calls 5

isNewMethod · 0.80
saveMethod · 0.80
displayNameMethod · 0.80
saveAsMethod · 0.80
isReadOnlyMethod · 0.45

Tested by

no test coverage detected