[libreoffice] Resolves: rhbz#813280 sheets cannot be moved in Calc

Eike Rathke erack at fedoraproject.org
Wed Apr 18 13:07:13 UTC 2012


commit 213c9297f062f29cf40f52b13cdc727657323f33
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Apr 18 15:05:33 2012 +0200

    Resolves: rhbz#813280 sheets cannot be moved in Calc

 ...bz-813280-the-current-document-is-not-alw.patch |  111 ++++++++++++++++++++
 libreoffice-multiliblauncher.sh                    |    2 +-
 libreoffice.spec                                   |    7 +-
 3 files changed, 118 insertions(+), 2 deletions(-)
---
diff --git a/0001-resolved-rhbz-813280-the-current-document-is-not-alw.patch b/0001-resolved-rhbz-813280-the-current-document-is-not-alw.patch
new file mode 100644
index 0000000..877b13e
--- /dev/null
+++ b/0001-resolved-rhbz-813280-the-current-document-is-not-alw.patch
@@ -0,0 +1,111 @@
+From 05579aa8b26f593af650d8434ff1c25c0a2702a6 Mon Sep 17 00:00:00 2001
+Message-Id: <05579aa8b26f593af650d8434ff1c25c0a2702a6.1334752453.git.erack at redhat.com>
+From: Eike Rathke <erack at redhat.com>
+Date: Tue, 17 Apr 2012 20:57:34 +0200
+Subject: [PATCH] resolved rhbz#813280 the current document is not always the
+ first in list
+
+i.e. if more than one document open and dialog invoked on any but the first
+document.
+
+Signed-off-by: Kohei Yoshida <kohei.yoshida at gmail.com>
+---
+ sc/source/ui/inc/mvtabdlg.hxx      |    2 ++
+ sc/source/ui/miscdlgs/mvtabdlg.cxx |   27 +++++++++++++++++----------
+ 2 files changed, 19 insertions(+), 10 deletions(-)
+
+diff --git a/sc/source/ui/inc/mvtabdlg.hxx b/sc/source/ui/inc/mvtabdlg.hxx
+index c53a59f..f9c63a3 100644
+--- a/sc/source/ui/inc/mvtabdlg.hxx
++++ b/sc/source/ui/inc/mvtabdlg.hxx
+@@ -58,6 +58,7 @@ private:
+     void ResetRenameInput();
+     void CheckNewTabName();
+     ScDocument* GetSelectedDoc();
++    bool IsCurrentDocSelected() const;
+ 
+ private:
+     FixedLine       aFlAction;
+@@ -82,6 +83,7 @@ private:
+ 
+     const rtl::OUString maDefaultName;
+ 
++    sal_uInt16      mnCurrentDocPos;
+     sal_uInt16      nDocument;
+     SCTAB           nTable;
+     bool            bCopyTable:1;
+diff --git a/sc/source/ui/miscdlgs/mvtabdlg.cxx b/sc/source/ui/miscdlgs/mvtabdlg.cxx
+index 831905d..ffe96af 100644
+--- a/sc/source/ui/miscdlgs/mvtabdlg.cxx
++++ b/sc/source/ui/miscdlgs/mvtabdlg.cxx
+@@ -70,6 +70,7 @@ ScMoveTableDlg::ScMoveTableDlg(Window* pParent, const rtl::OUString& rDefault)
+         maStrTabNameInvalid( ResId::toString(ScResId(STR_TABNAME_WARN_INVALID)) ),
+         //
+         maDefaultName( rDefault ),
++        mnCurrentDocPos( 0 ),
+         nDocument   ( 0 ),
+         nTable      ( 0 ),
+         bCopyTable  ( false ),
+@@ -127,8 +128,13 @@ void ScMoveTableDlg::EnableRenameTable(sal_Bool bFlag)
+ void ScMoveTableDlg::ResetRenameInput()
+ {
+     if (mbEverEdited)
++    {
+         // Don't reset the name when the sheet name has ever been edited.
++        // But check the name, as this is also called for change of copy/move
++        // buttons and document listbox selection.
++        CheckNewTabName();
+         return;
++    }
+ 
+     if (!aEdTabName.IsEnabled())
+     {
+@@ -178,19 +184,15 @@ void ScMoveTableDlg::CheckNewTabName()
+         return;
+     }
+ 
+-    bool   bFound = false;
++    bool bMoveInCurrentDoc = (aBtnMove.IsChecked() && IsCurrentDocSelected());
++    bool bFound = false;
+     sal_uInt16 nLast  = aLbTable.GetEntryCount() - 1;
+-    for ( sal_uInt16 i=0; i<=nLast; ++i )
++    for ( sal_uInt16 i=0; i<=nLast && !bFound; ++i )
+     {
+         if ( aNewName.equals(aLbTable.GetEntry(i)) )
+         {
+-            if (aBtnMove.IsChecked() &&
+-                aLbDoc.GetSelectEntryPos() == 0 &&
+-                maDefaultName.equals(aEdTabName.GetText()))
+-
+-                // Move inside same document, thus same name is allowed.
+-                bFound = false;
+-            else
++            // Only for move within same document the same name is allowed.
++            if (!bMoveInCurrentDoc || !maDefaultName.equals( aEdTabName.GetText()))
+                 bFound = true;
+         }
+     }
+@@ -214,6 +216,11 @@ ScDocument* ScMoveTableDlg::GetSelectedDoc()
+     return static_cast<ScDocument*>(aLbDoc.GetEntryData(nPos));
+ }
+ 
++bool ScMoveTableDlg::IsCurrentDocSelected() const
++{
++    return aLbDoc.GetSelectEntryPos() == mnCurrentDocPos;
++}
++
+ //------------------------------------------------------------------------
+ 
+ void ScMoveTableDlg::Init()
+@@ -254,7 +261,7 @@ void ScMoveTableDlg::InitDocListBox()
+ 
+             if ( pScSh == SfxObjectShell::Current() )
+             {
+-                nSelPos = i;
++                mnCurrentDocPos = nSelPos = i;
+                 aEntryName += sal_Unicode( ' ' );
+                 aEntryName += String( ScResId( STR_CURRENTDOC ) );
+             }
+-- 
+1.7.7.6
+
diff --git a/libreoffice-multiliblauncher.sh b/libreoffice-multiliblauncher.sh
index 9688bd2..7c416af 100644
--- a/libreoffice-multiliblauncher.sh
+++ b/libreoffice-multiliblauncher.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 OOO_ARCH=$(uname -m)
 case $OOO_ARCH in
-	x86_64 | sparc64 | s390x | ppc64)
+	x86_64 | s390x | sparc64)
 		OOO_LIB_DIR="/usr/lib64"
 		SECONDARY_LIB_DIR="/usr/lib"
 		;;
diff --git a/libreoffice.spec b/libreoffice.spec
index d809629..699a1a3 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -35,7 +35,7 @@ Summary:        Free Software Productivity Suite
 Name:           libreoffice
 Epoch:          1
 Version:        %{libo_version}.1
-Release:        6%{?dist}
+Release:        7%{?dist}
 License:        (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and Artistic
 Group:          Applications/Productivity
 URL:            http://www.documentfoundation.org/develop
@@ -145,6 +145,7 @@ Patch29: 0001-Resolves-fdo-48096-torn-off-popups-trigger-keyboard-.patch
 Patch30: 0001-Introduced-SystemShellExecuteFlags-URIS_ONLY.patch
 Patch31: 0001-Simplify-code-and-use-proper-register-names-for-linu.patch
 Patch32: 0001-fdo-38088-better-CSV-import-default-separators.patch
+Patch33: 0001-resolved-rhbz-813280-the-current-document-is-not-alw.patch
 
 %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
 %define instdir %{_libdir}
@@ -1001,6 +1002,7 @@ mv -f redhat.soc extras/source/palettes/standard.soc
 %patch30 -p1 -b .Introduced-SystemShellExecuteFlags-URIS_ONLY.patch
 %patch31 -p1 -b .Simplify-code-and-use-proper-register-names-for-linu.patch
 %patch32 -p1 -b .fdo-38088-better-CSV-import-default-separators.patch
+%patch33 -p1 -b .resolved-rhbz-813280-the-current-document-is-not-alw.patch
 
 # TODO: check this
 # these are horribly incomplete--empty translations and copied english
@@ -2288,6 +2290,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
 %endif
 
 %changelog
+* Wed Apr 18 2012 Eike Rathke <erack at redhat.com> - 3.5.2.1-7
+- Resolves: rhbz#813280 sheets cannot be moved in Calc
+
 * Wed Apr 11 2012 Eike Rathke <erack at redhat.com> - 3.5.2.1-6
 - Resolves: fdo#38088 rhbz#810267 better CSV import default separators
 


More information about the scm-commits mailing list