diff options
Diffstat (limited to 'sc/source/ui/optdlg')
-rw-r--r-- | sc/source/ui/optdlg/opredlin.cxx | 114 | ||||
-rw-r--r-- | sc/source/ui/optdlg/tpview.cxx | 59 |
2 files changed, 29 insertions, 144 deletions
diff --git a/sc/source/ui/optdlg/opredlin.cxx b/sc/source/ui/optdlg/opredlin.cxx index f8fb21682a47..8a769ad24dab 100644 --- a/sc/source/ui/optdlg/opredlin.cxx +++ b/sc/source/ui/optdlg/opredlin.cxx @@ -19,6 +19,7 @@ #undef SC_DLLIMPLEMENTATION +#include <svx/colorbox.hxx> #include <svx/dlgutil.hxx> #include <svx/drawitem.hxx> #include <svx/xtable.hxx> @@ -40,13 +41,16 @@ ScRedlineOptionsTabPage::ScRedlineOptionsTabPage( vcl::Window* pParent, const SfxItemSet& rSet ) - : SfxTabPage(pParent,"OptChangesPage", "modules/scalc/ui/optchangespage.ui", &rSet), - aAuthorStr (ScResId(SCSTR_AUTHOR)) + : SfxTabPage(pParent,"OptChangesPage", "modules/scalc/ui/optchangespage.ui", &rSet) { get(m_pContentColorLB, "changes"); + m_pContentColorLB->SetSlotId(SID_AUTHOR_COLOR); get(m_pRemoveColorLB, "deletions"); + m_pRemoveColorLB->SetSlotId(SID_AUTHOR_COLOR); get(m_pInsertColorLB, "entries"); + m_pInsertColorLB->SetSlotId(SID_AUTHOR_COLOR); get(m_pMoveColorLB, "insertions"); + m_pMoveColorLB->SetSlotId(SID_AUTHOR_COLOR); } ScRedlineOptionsTabPage::~ScRedlineOptionsTabPage() @@ -72,53 +76,17 @@ bool ScRedlineOptionsTabPage::FillItemSet( SfxItemSet* /* rSet */ ) { ScAppOptions aAppOptions=SC_MOD()->GetAppOptions(); - sal_uLong nNew=0; - sal_Int32 nPos=0; - - nPos = m_pContentColorLB->GetSelectEntryPos(); - if (nPos != LISTBOX_ENTRY_NOTFOUND) - { - if (nPos!=0) - nNew= m_pContentColorLB->GetEntryColor(nPos).GetColor(); - else - nNew= COL_TRANSPARENT; - - aAppOptions.SetTrackContentColor(nNew); - - } - nPos = m_pMoveColorLB->GetSelectEntryPos(); - if (nPos != LISTBOX_ENTRY_NOTFOUND) - { - if (nPos!=0) - nNew= m_pMoveColorLB->GetEntryColor(nPos).GetColor(); - else - nNew= COL_TRANSPARENT; - - aAppOptions.SetTrackMoveColor(nNew); - - } - nPos = m_pInsertColorLB->GetSelectEntryPos(); - if (nPos != LISTBOX_ENTRY_NOTFOUND) - { - if (nPos!=0) - nNew= m_pInsertColorLB->GetEntryColor(nPos).GetColor(); - else - nNew= COL_TRANSPARENT; - - aAppOptions.SetTrackInsertColor(nNew); - - } - nPos = m_pRemoveColorLB->GetSelectEntryPos(); - if (nPos != LISTBOX_ENTRY_NOTFOUND) - { - if (nPos!=0) - nNew= m_pRemoveColorLB->GetEntryColor(nPos).GetColor(); - else - nNew= COL_TRANSPARENT; - - aAppOptions.SetTrackDeleteColor(nNew); - - } + sal_uLong nNew = m_pContentColorLB->GetSelectEntryColor().GetColor(); + aAppOptions.SetTrackContentColor(nNew); + + nNew = m_pMoveColorLB->GetSelectEntryColor().GetColor(); + aAppOptions.SetTrackMoveColor(nNew); + + nNew = m_pInsertColorLB->GetSelectEntryColor().GetColor(); + aAppOptions.SetTrackInsertColor(nNew); + + nNew = m_pRemoveColorLB->GetSelectEntryColor().GetColor(); + aAppOptions.SetTrackDeleteColor(nNew); SC_MOD()->SetAppOptions(aAppOptions); @@ -133,59 +101,19 @@ bool ScRedlineOptionsTabPage::FillItemSet( SfxItemSet* /* rSet */ ) void ScRedlineOptionsTabPage::Reset( const SfxItemSet* /* rSet */ ) { - m_pContentColorLB->InsertEntry(aAuthorStr); - m_pMoveColorLB->InsertEntry(aAuthorStr); - m_pInsertColorLB->InsertEntry(aAuthorStr); - m_pRemoveColorLB->InsertEntry(aAuthorStr); - - m_pContentColorLB->SetUpdateMode( false); - m_pMoveColorLB->SetUpdateMode( false); - m_pInsertColorLB->SetUpdateMode( false); - m_pRemoveColorLB->SetUpdateMode( false); - - XColorListRef xColorLst = XColorList::GetStdColorList(); - for( long i = 0; i < xColorLst->Count(); ++i ) - { - const XColorEntry* pEntry = xColorLst->GetColor(i); - Color aColor = pEntry->GetColor(); - OUString sName = pEntry->GetName(); - - m_pContentColorLB->InsertEntry( aColor, sName ); - m_pMoveColorLB->InsertEntry( aColor, sName ); - m_pInsertColorLB->InsertEntry( aColor, sName ); - m_pRemoveColorLB->InsertEntry( aColor, sName ); - } - m_pContentColorLB->SetUpdateMode( true ); - m_pMoveColorLB->SetUpdateMode( true ); - m_pInsertColorLB->SetUpdateMode( true ); - m_pRemoveColorLB->SetUpdateMode( true ); - ScAppOptions aAppOptions=SC_MOD()->GetAppOptions(); sal_uLong nColor = aAppOptions.GetTrackContentColor(); - if (nColor == COL_TRANSPARENT) - m_pContentColorLB->SelectEntryPos(0); - else - m_pContentColorLB->SelectEntry(Color(nColor)); + m_pContentColorLB->SelectEntry(Color(nColor)); nColor = aAppOptions.GetTrackMoveColor(); - if (nColor == COL_TRANSPARENT) - m_pMoveColorLB->SelectEntryPos(0); - else - m_pMoveColorLB->SelectEntry(Color(nColor)); + m_pMoveColorLB->SelectEntry(Color(nColor)); nColor = aAppOptions.GetTrackInsertColor(); - if (nColor == COL_TRANSPARENT) - m_pInsertColorLB->SelectEntryPos(0); - else - m_pInsertColorLB->SelectEntry(Color(nColor)); + m_pInsertColorLB->SelectEntry(Color(nColor)); nColor = aAppOptions.GetTrackDeleteColor(); - if (nColor == COL_TRANSPARENT) - m_pRemoveColorLB->SelectEntryPos(0); - else - m_pRemoveColorLB->SelectEntry(Color(nColor)); - + m_pRemoveColorLB->SelectEntry(Color(nColor)); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/optdlg/tpview.cxx b/sc/source/ui/optdlg/tpview.cxx index 9e254fb83c93..0257ff228bc6 100644 --- a/sc/source/ui/optdlg/tpview.cxx +++ b/sc/source/ui/optdlg/tpview.cxx @@ -31,6 +31,7 @@ #include "globstr.hrc" #include <appoptio.hxx> #include <scmod.hxx> +#include <svx/colorbox.hxx> #include <svx/dlgutil.hxx> #include <svx/drawitem.hxx> #include <svx/xtable.hxx> @@ -151,8 +152,8 @@ bool ScTpContentOptions::FillItemSet( SfxItemSet* rCoreSet ) pBreakCB ->IsValueChangedFromSaved() || pGuideLineCB ->IsValueChangedFromSaved()) { - pLocalOptions->SetGridColor( pColorLB->GetSelectEntryColor(), - pColorLB->GetSelectEntry() ); + NamedColor aNamedColor = pColorLB->GetSelectEntry(); + pLocalOptions->SetGridColor(aNamedColor.first, aNamedColor.second); rCoreSet->Put(ScTpViewItem(SID_SCVIEWOPTIONS, *pLocalOptions)); bRet = true; } @@ -302,58 +303,14 @@ void ScTpContentOptions::InitGridOpt() pGridLB->SelectEntryPos (nSelPos); - if ( pColorLB->GetEntryCount() == 0 ) - { - SfxObjectShell* pDocSh = SfxObjectShell::Current(); - // there might be another DocShell here - pDocSh = dynamic_cast<ScDocShell*>( pDocSh ); - - XColorListRef pColorList; - if ( pDocSh ) - { - const SfxPoolItem* pItem = pDocSh->GetItem( SID_COLOR_TABLE ); - if ( pItem ) - pColorList = static_cast<const SvxColorListItem*>(pItem)->GetColorList(); - } - else - pColorList = XColorList::GetStdColorList(); - - if ( !pColorList.is() ) - return; - - pColorLB->SetUpdateMode( false ); - - // items from ColorTable - - long nCount = pColorList->Count(); - for ( long n=0; n<nCount; n++ ) - { - const XColorEntry* pEntry = pColorList->GetColor(n); - pColorLB->InsertEntry( pEntry->GetColor(), pEntry->GetName() ); - } - - // default GridColor - - Color aStdCol( SC_STD_GRIDCOLOR ); // same default as in ScViewOptions - if ( LISTBOX_ENTRY_NOTFOUND == - pColorLB->GetEntryPos( aStdCol ) ) - pColorLB->InsertEntry( aStdCol, ScGlobal::GetRscString( STR_GRIDCOLOR ) ); - - pColorLB->SetUpdateMode( true ); - - Invalidate(); - } - - // also select grid color entry on subsequent calls - + // select grid color entry OUString aName; Color aCol = pLocalOptions->GetGridColor( &aName ); - nSelPos = pColorLB->GetEntryPos( aCol ); - if ( LISTBOX_ENTRY_NOTFOUND != nSelPos ) - pColorLB->SelectEntryPos( nSelPos ); - else - pColorLB->SelectEntryPos( pColorLB->InsertEntry( aCol, aName ) ); + if (aName.trim().isEmpty() && aCol == Color(SC_STD_GRIDCOLOR)) + aName = ScGlobal::GetRscString(STR_GRIDCOLOR); + + pColorLB->SelectEntry(std::make_pair(aCol, aName)); } IMPL_LINK( ScTpContentOptions, GridHdl, ListBox&, rLb, void ) |