sc/source/ui/docshell/docsh.cxx |   29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

New commits:
commit 108a6044debbe0831b7a8309e2a5fba23e384b39
Author:     Mert Tumer <mert.tu...@collabora.com>
AuthorDate: Wed Dec 29 16:34:38 2021 +0300
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Jan 11 13:40:44 2022 +0100

    LOK android: Fix csv sheet name becomes temp name
    
    Signed-off-by: Mert Tumer <mert.tu...@collabora.com>
    Change-Id: If43d7a995a5e53734fc7ecdcbf9b750b4886dc45
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127684
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Andras Timar <andras.ti...@collabora.com>

diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index 6a8e1e477743..f8258883a98b 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -132,6 +132,8 @@
 #include <memory>
 #include <vector>
 
+#include <comphelper/lok.hxx>
+
 using namespace com::sun::star;
 using ::com::sun::star::uno::Reference;
 using ::com::sun::star::lang::XMultiServiceFactory;
@@ -1286,17 +1288,22 @@ bool ScDocShell::ConvertFrom( SfxMedium& rMedium )
                     sc::SetFormulaDirtyContext aCxt;
                     m_aDocument.SetAllFormulasDirty(aCxt);
 
-                    // The same resulting name has to be handled in
-                    // ScExternalRefCache::initializeDoc() and related, hence
-                    // pass 'true' for RenameTab()'s bExternalDocument for a
-                    // composed name so ValidTabName() will not be checked,
-                    // which could veto the rename in case it contained
-                    // characters that Excel does not handle. If we wanted to
-                    // change that then it needed to be handled in all
-                    // corresponding places of the external references
-                    // manager/cache. Likely then we'd also need a method to
-                    // compose a name excluding such characters.
-                    m_aDocument.RenameTab( 0, INetURLObject( 
rMedium.GetName()).GetBase(), true/*bExternalDocument*/);
+                    bool bIsMobile = comphelper::LibreOfficeKit::isActive() && 
SfxViewShell::Current()
+                        && SfxViewShell::Current()->isLOKMobilePhone();
+                    // for mobile case, we use a copy of the original document 
and give it a temporary name before editing
+                    // Therefore, the sheet name becomes ugly, long and 
nonsensical.
+                    if (!bIsMobile)
+                        // The same resulting name has to be handled in
+                        // ScExternalRefCache::initializeDoc() and related, 
hence
+                        // pass 'true' for RenameTab()'s bExternalDocument for 
a
+                        // composed name so ValidTabName() will not be checked,
+                        // which could veto the rename in case it contained
+                        // characters that Excel does not handle. If we wanted 
to
+                        // change that then it needed to be handled in all
+                        // corresponding places of the external references
+                        // manager/cache. Likely then we'd also need a method 
to
+                        // compose a name excluding such characters.
+                        m_aDocument.RenameTab( 0, INetURLObject( 
rMedium.GetName()).GetBase(), true/*bExternalDocument*/);
 
                     bOverflowRow = aImpEx.IsOverflowRow();
                     bOverflowCol = aImpEx.IsOverflowCol();

Reply via email to