summaryrefslogtreecommitdiff
path: root/sc/source/ui/optdlg
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui/optdlg')
-rw-r--r--sc/source/ui/optdlg/opredlin.cxx114
-rw-r--r--sc/source/ui/optdlg/tpview.cxx59
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 )