diff options
author | Juergen Funk <juergen.funk_ml@cib.de> | 2017-04-12 11:26:10 +0200 |
---|---|---|
committer | Aron Budea <aron.budea@collabora.com> | 2018-02-09 15:43:31 +0100 |
commit | e5dc12d37bfea357aeb6f71e876dd4f93833d1c9 (patch) | |
tree | 370febacc9fd5343662f7546cf5f24d74ee8a80a /include | |
parent | 532e9f751b1ec40588b7edf0de156377eed79287 (diff) |
tdf#106942 Wrong message when lock file is empty or corrupt
1. Erase empty or corrupt lockfile, when reading it fails and
skip "Locked Document Dialog" in that case
2. Show Dialog (use LockFileIgnoreRequest -> LockFailedQueryBox)
when create lock file is not possible.
Two Dialogs: "lock file create error" and
"empty lockfile is present"
Set the document to read-only when creating lockfile is not
possible. If lockfile is corrupt or empty, inform the user.
They can interrupt loading the document or open it read-only,
which also erases the corrupt lock file after closing
the document
3. Handling for the two Dialogs
Use LockFileIgnoreRequst for create lockfile error and
add a new LockFileCorruptRequest, (lock file is corrupt).
Change and generate new messages for both dialogs in english
Change-Id: I35c377f85b5113e8ffb89d83b9544b8ebc81d89f
Reviewed-on: https://gerrit.libreoffice.org/36658
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Reviewed-on: https://gerrit.libreoffice.org/49468
Reviewed-by: Aron Budea <aron.budea@collabora.com>
Tested-by: Aron Budea <aron.budea@collabora.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/sfx2/docfile.hxx | 4 | ||||
-rw-r--r-- | include/svl/documentlockfile.hxx | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/sfx2/docfile.hxx b/include/sfx2/docfile.hxx index 7a4e34013195..3a9c8978774f 100644 --- a/include/sfx2/docfile.hxx +++ b/include/sfx2/docfile.hxx @@ -164,8 +164,10 @@ public: bool IsStorage(); enum class ShowLockResult { NoLock, Succeeded,Try }; - ShowLockResult ShowLockedDocumentDialog( const LockFileEntry& aData, bool bIsLoading, bool bOwnLock ); + ShowLockResult ShowLockedDocumentDialog( const LockFileEntry& aData, bool bIsLoading, bool bOwnLock, bool bHandleSysLocked); void LockOrigFileOnDemand( bool bLoading, bool bNoUI ); + enum class MessageDlg { LockFileIgnore, LockFileCorrupt }; + bool ShowLockFileProblemDialog(MessageDlg nWhichDlg); void DisableUnlockWebDAV( bool bDisableUnlockWebDAV = true ); void UnlockFile( bool bReleaseLockStream ); /// Lets Transfer_Impl() not fsync the output file. diff --git a/include/svl/documentlockfile.hxx b/include/svl/documentlockfile.hxx index 98dde757cf7b..ec94f1f22dde 100644 --- a/include/svl/documentlockfile.hxx +++ b/include/svl/documentlockfile.hxx @@ -48,7 +48,10 @@ public: bool CreateOwnLockFile(); LockFileEntry GetLockData(); bool OverwriteOwnLockFile(); + /// Delete the Lockfile, if current user is the owner void RemoveFile(); + /// Only delete lockfile, disregarding ownership + void RemoveFileDirectly(); static bool IsInteractionAllowed() { return m_bAllowInteraction; } }; |