[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - include/sfx2 sfx2/source
Caolán McNamara
caolanm at redhat.com
Wed May 28 02:45:47 PDT 2014
include/sfx2/mgetempl.hxx | 1 +
sfx2/source/dialog/mgetempl.cxx | 14 +++++++++++---
2 files changed, 12 insertions(+), 3 deletions(-)
New commits:
commit 74baee744c8ff5b3a34c40ed16803d07f3f5fc2d
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed May 28 10:34:32 2014 +0100
Resolves: fdo#79142 When Creating Styles - The 2nd One Always Replaces the 1st
regression from 0c17ccc493d0c7a80f37600dae76a09a119bef78
I think it might actually make more sense for SetName to always Reindex
and have another SetNameNoReindex for selective use where its known
safe to get away with it
Change-Id: I6bf7e1f45130f741954ab525b838f3ac5ff61a89
(cherry picked from commit aa8b268935b07c9bf95a596ee84c76eed4c03634)
diff --git a/include/sfx2/mgetempl.hxx b/include/sfx2/mgetempl.hxx
index 6082fbe..085da93 100644
--- a/include/sfx2/mgetempl.hxx
+++ b/include/sfx2/mgetempl.hxx
@@ -54,6 +54,7 @@ class SfxManageStyleSheetPage : public SfxTabPage
SfxStyleSheetBase *pStyle;
SfxStyleFamilies *pFamilies;
+ SfxStyleSheetBasePool *pPool;
const SfxStyleFamilyItem *pItem;
OUString aBuf;
bool bModified;
diff --git a/sfx2/source/dialog/mgetempl.cxx b/sfx2/source/dialog/mgetempl.cxx
index 733abce..07e7b1d 100644
--- a/sfx2/source/dialog/mgetempl.cxx
+++ b/sfx2/source/dialog/mgetempl.cxx
@@ -45,6 +45,7 @@
SfxManageStyleSheetPage::SfxManageStyleSheetPage(Window* pParent, const SfxItemSet& rAttrSet)
: SfxTabPage(pParent, "ManageStylePage", "sfx/ui/managestylepage.ui", rAttrSet)
, pStyle(&((SfxStyleDialog*)GetParentDialog())->GetStyleSheet())
+ , pPool(NULL)
, pItem(0)
, bModified(false)
, aName(pStyle->GetName())
@@ -78,7 +79,6 @@ SfxManageStyleSheetPage::SfxManageStyleSheetPage(Window* pParent, const SfxItemS
OSL_ENSURE( pResMgr, "No ResMgr in Module" );
pFamilies = new SfxStyleFamilies( ResId( DLG_STYLE_DESIGNER, *pResMgr ) );
- SfxStyleSheetBasePool* pPool = 0;
SfxObjectShell* pDocShell = SfxObjectShell::Current();
if ( pDocShell )
@@ -105,6 +105,7 @@ SfxManageStyleSheetPage::SfxManageStyleSheetPage(Window* pParent, const SfxItemS
aNoName += OUString::number( nNo );
}
pStyle->SetName( aNoName );
+ pPool->Reindex();
aName = aNoName;
aFollow = pStyle->GetFollow();
aParent = pStyle->GetParent();
@@ -419,7 +420,11 @@ void SfxManageStyleSheetPage::Reset( const SfxItemSet& /*rAttrSet*/ )
OUString sCmp( pStyle->GetName() );
if ( sCmp != aName )
- pStyle->SetName( aName );
+ {
+ pStyle->SetName(aName);
+ if (pPool)
+ pPool->Reindex();
+ }
m_pNameRw->SetText( aName );
m_pNameRw->SetSelection( Selection( SELECTION_MIN, SELECTION_MAX ) );
@@ -542,7 +547,8 @@ int SfxManageStyleSheetPage::DeactivatePage( SfxItemSet* pItemSet )
if ( m_pNameRw->HasFocus() )
LoseFocusHdl( m_pNameRw );
- if (!pStyle->SetName(comphelper::string::stripStart(m_pNameRw->GetText(), ' ')))
+ bool bOk = pStyle->SetName(comphelper::string::stripStart(m_pNameRw->GetText(), ' '));
+ if (!bOk)
{
InfoBox aBox( this, SfxResId( MSG_TABPAGE_INVALIDNAME ) );
aBox.Execute();
@@ -550,6 +556,8 @@ int SfxManageStyleSheetPage::DeactivatePage( SfxItemSet* pItemSet )
m_pNameRw->SetSelection( Selection( SELECTION_MIN, SELECTION_MAX ) );
return SfxTabPage::KEEP_PAGE;
}
+ else if (pPool)
+ pPool->Reindex();
bModified = true;
}
More information about the Libreoffice-commits
mailing list