Kaydet (Commit) 5816c47a authored tarafından Dennis Francis's avatar Dennis Francis Kaydeden (comit) Eike Rathke

tdf#73006 : Put results in correct cells after Text to Columns

Change-Id: I7a1653424edd93b2de0597ce8a94aa5f4fa85622
Reviewed-on: https://gerrit.libreoffice.org/20258Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarEike Rathke <erack@redhat.com>
Tested-by: 's avatarEike Rathke <erack@redhat.com>
(cherry picked from commit d4c22dbb)
Reviewed-on: https://gerrit.libreoffice.org/20675
üst ffe150ce
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
using namespace com::sun::star; using namespace com::sun::star;
static bool lcl_GetTextToColumnsRange( const ScViewData* pData, ScRange& rRange ) static bool lcl_GetTextToColumnsRange( const ScViewData* pData, ScRange& rRange, bool bDoEmptyCheckOnly )
{ {
OSL_ENSURE( pData, "lcl_GetTextToColumnsRange: pData is null!" ); OSL_ENSURE( pData, "lcl_GetTextToColumnsRange: pData is null!" );
...@@ -100,11 +100,28 @@ static bool lcl_GetTextToColumnsRange( const ScViewData* pData, ScRange& rRange ...@@ -100,11 +100,28 @@ static bool lcl_GetTextToColumnsRange( const ScViewData* pData, ScRange& rRange
const ScDocument* pDoc = pData->GetDocument(); const ScDocument* pDoc = pData->GetDocument();
OSL_ENSURE( pDoc, "lcl_GetTextToColumnsRange: pDoc is null!" ); OSL_ENSURE( pDoc, "lcl_GetTextToColumnsRange: pDoc is null!" );
if ( bRet && pDoc->IsBlockEmpty( rRange.aStart.Tab(), rRange.aStart.Col(), if ( bDoEmptyCheckOnly )
rRange.aStart.Row(), rRange.aEnd.Col(),
rRange.aEnd.Row() ) )
{ {
bRet = false; if ( bRet && pDoc->IsBlockEmpty( rRange.aStart.Tab(), rRange.aStart.Col(),
rRange.aStart.Row(), rRange.aEnd.Col(),
rRange.aEnd.Row() ) )
{
bRet = false;
}
}
else if ( bRet )
{
rRange.PutInOrder();
SCCOL nStartCol = rRange.aStart.Col(), nEndCol = rRange.aEnd.Col();
SCROW nStartRow = rRange.aStart.Row(), nEndRow = rRange.aEnd.Row();
bool bShrunk = false;
pDoc->ShrinkToUsedDataArea( bShrunk, rRange.aStart.Tab(), nStartCol, nStartRow,
nEndCol, nEndRow, false, false, true );
if ( bShrunk )
{
rRange.aStart.SetRow( nStartRow );
rRange.aEnd.SetRow( nEndRow );
}
} }
return bRet; return bRet;
...@@ -942,7 +959,7 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq ) ...@@ -942,7 +959,7 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
OSL_ENSURE( pData, "ScCellShell::ExecuteDB: SID_TEXT_TO_COLUMNS - pData is null!" ); OSL_ENSURE( pData, "ScCellShell::ExecuteDB: SID_TEXT_TO_COLUMNS - pData is null!" );
ScRange aRange; ScRange aRange;
if ( lcl_GetTextToColumnsRange( pData, aRange ) ) if ( lcl_GetTextToColumnsRange( pData, aRange, false ) )
{ {
ScDocument* pDoc = pData->GetDocument(); ScDocument* pDoc = pData->GetDocument();
OSL_ENSURE( pDoc, "ScCellShell::ExecuteDB: SID_TEXT_TO_COLUMNS - pDoc is null!" ); OSL_ENSURE( pDoc, "ScCellShell::ExecuteDB: SID_TEXT_TO_COLUMNS - pDoc is null!" );
...@@ -1180,7 +1197,7 @@ void ScCellShell::GetDBState( SfxItemSet& rSet ) ...@@ -1180,7 +1197,7 @@ void ScCellShell::GetDBState( SfxItemSet& rSet )
case SID_TEXT_TO_COLUMNS: case SID_TEXT_TO_COLUMNS:
{ {
ScRange aRange; ScRange aRange;
if ( !lcl_GetTextToColumnsRange( pData, aRange ) ) if ( !lcl_GetTextToColumnsRange( pData, aRange, true ) )
{ {
rSet.DisableItem( nWhich ); rSet.DisableItem( nWhich );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment