summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJuergen Funk <juergen.funk_ml@cib.de>2017-04-12 11:26:10 +0200
committerAron Budea <aron.budea@collabora.com>2018-02-09 15:43:31 +0100
commite5dc12d37bfea357aeb6f71e876dd4f93833d1c9 (patch)
tree370febacc9fd5343662f7546cf5f24d74ee8a80a /include
parent532e9f751b1ec40588b7edf0de156377eed79287 (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.hxx4
-rw-r--r--include/svl/documentlockfile.hxx3
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; }
};