sc/inc/viewopti.hxx                |    2 ++
 sc/source/core/tool/viewopti.cxx   |    1 +
 sc/source/ui/inc/mvtabdlg.hxx      |    3 ---
 sc/source/ui/miscdlgs/mvtabdlg.cxx |   16 ++++++++++------
 4 files changed, 13 insertions(+), 9 deletions(-)

New commits:
commit bb79936ec808712f53bc48663a485875571ba643
Author:     Andreas Heinisch <andreas.heini...@yahoo.de>
AuthorDate: Fri Nov 10 12:00:46 2023 +0100
Commit:     Andreas Heinisch <andreas.heini...@yahoo.de>
CommitDate: Fri Nov 10 16:59:29 2023 +0100

    tdf#96854 - De-static-ize last used option for copy/move sheet
    
    Change-Id: Iafb12b51f166f9485f1658c406a98e5db5b246ff
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159292
    Tested-by: Jenkins
    Reviewed-by: Andreas Heinisch <andreas.heini...@yahoo.de>

diff --git a/sc/inc/viewopti.hxx b/sc/inc/viewopti.hxx
index 489a3e8c81da..beb0530e88a5 100644
--- a/sc/inc/viewopti.hxx
+++ b/sc/inc/viewopti.hxx
@@ -45,6 +45,8 @@ enum ScViewOption
     VOPT_ANCHOR,
     VOPT_PAGEBREAKS,
     VOPT_SUMMARY,
+    // tdf#96854 - move/copy sheet dialog: last used option for action (true: 
copy, false: move)
+    VOPT_COPY_SHEET,
     VOPT_THEMEDCURSOR,
 };
 
diff --git a/sc/source/core/tool/viewopti.cxx b/sc/source/core/tool/viewopti.cxx
index 80d8915effb9..a91f0cef8bf9 100644
--- a/sc/source/core/tool/viewopti.cxx
+++ b/sc/source/core/tool/viewopti.cxx
@@ -107,6 +107,7 @@ void ScViewOptions::SetDefaults()
     aOptArr[ VOPT_ANCHOR       ] = true;
     aOptArr[ VOPT_PAGEBREAKS   ] = true;
     aOptArr[ VOPT_SUMMARY      ] = true;
+    aOptArr[ VOPT_COPY_SHEET   ] = false;
     aOptArr[ VOPT_THEMEDCURSOR ] = false;
 
     aModeArr[VOBJ_TYPE_OLE ]  = VOBJ_MODE_SHOW;
diff --git a/sc/source/ui/inc/mvtabdlg.hxx b/sc/source/ui/inc/mvtabdlg.hxx
index 665d3cd46085..c6e89ab9fed0 100644
--- a/sc/source/ui/inc/mvtabdlg.hxx
+++ b/sc/source/ui/inc/mvtabdlg.hxx
@@ -61,9 +61,6 @@ private:
     bool            bRenameTable:1;
     bool            mbEverEdited:1;
 
-    // tdf#96854 - remember last used option for copy/move sheet
-    static bool mbRememeberedCopy;
-
     std::unique_ptr<weld::RadioButton> m_xBtnMove;
     std::unique_ptr<weld::RadioButton> m_xBtnCopy;
     std::unique_ptr<weld::Label> m_xFtDoc;
diff --git a/sc/source/ui/miscdlgs/mvtabdlg.cxx 
b/sc/source/ui/miscdlgs/mvtabdlg.cxx
index 12c4e4d54bcc..afacdc48b46e 100644
--- a/sc/source/ui/miscdlgs/mvtabdlg.cxx
+++ b/sc/source/ui/miscdlgs/mvtabdlg.cxx
@@ -26,9 +26,7 @@
 #include <scresid.hxx>
 #include <comphelper/lok.hxx>
 #include <utility>
-
-// tdf#96854 - remember last used option for copy/move sheet
-bool ScMoveTableDlg::mbRememeberedCopy = false;
+#include <tabvwsh.hxx>
 
 ScMoveTableDlg::ScMoveTableDlg(weld::Window* pParent, OUString aDefault)
     : GenericDialogController(pParent, "modules/scalc/ui/movecopysheet.ui", 
"MoveCopySheetDialog")
@@ -193,8 +191,11 @@ void ScMoveTableDlg::Init()
     m_xEdTabName->connect_changed(LINK(this, ScMoveTableDlg, CheckNameHdl));
 
     // tdf#96854 - remember last used option for copy/move sheet
-    m_xBtnMove->set_active(!mbRememeberedCopy);
-    m_xBtnCopy->set_active(mbRememeberedCopy);
+    const bool bIsCopyActive
+        = 
ScTabViewShell::GetActiveViewShell()->GetViewData().GetOptions().GetOption(
+            VOPT_COPY_SHEET);
+    m_xBtnMove->set_active(!bIsCopyActive);
+    m_xBtnCopy->set_active(bIsCopyActive);
     m_xEdTabName->set_sensitive(false);
     m_xFtWarn->hide();
     InitDocListBox();
@@ -250,7 +251,10 @@ void ScMoveTableDlg::SetOkBtnLabel()
     // tdf#139464 Write "Copy" or "Move" on OK button
     m_xBtnOk->set_label(bIsCopyActive ? m_xBtnCopy->get_label() : 
m_xBtnMove->get_label());
     // tdf#96854 - remember last used option for copy/move sheet
-    mbRememeberedCopy = bIsCopyActive;
+    ScTabViewShell* pScViewShell = ScTabViewShell::GetActiveViewShell();
+    ScViewOptions aViewOpt(pScViewShell->GetViewData().GetOptions());
+    aViewOpt.SetOption(VOPT_COPY_SHEET, bIsCopyActive);
+    pScViewShell->GetViewData().SetOptions(aViewOpt);
 }
 
 // Handler:

Reply via email to