Resolves: rhbz#813280 sheets cannot be moved in Calc

f41
Eike Rathke 13 years ago
parent 14d5dbf469
commit 213c9297f0

@ -0,0 +1,111 @@
From 05579aa8b26f593af650d8434ff1c25c0a2702a6 Mon Sep 17 00:00:00 2001
Message-Id: <05579aa8b26f593af650d8434ff1c25c0a2702a6.1334752453.git.erack@redhat.com>
From: Eike Rathke <erack@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@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

@ -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"
;;

@ -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@redhat.com> - 3.5.2.1-7
- Resolves: rhbz#813280 sheets cannot be moved in Calc
* Wed Apr 11 2012 Eike Rathke <erack@redhat.com> - 3.5.2.1-6
- Resolves: fdo#38088 rhbz#810267 better CSV import default separators

Loading…
Cancel
Save