parent
213c9297f0
commit
bb3b45fb4e
File diff suppressed because it is too large
Load Diff
@ -1,111 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
Loading…
Reference in new issue