summaryrefslogtreecommitdiff
path: root/sw/source/ui/config/optpage.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/ui/config/optpage.cxx')
-rw-r--r--sw/source/ui/config/optpage.cxx246
1 files changed, 68 insertions, 178 deletions
diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx
index 84c3cf26df57..02725490bc6b 100644
--- a/sw/source/ui/config/optpage.cxx
+++ b/sw/source/ui/config/optpage.cxx
@@ -1737,20 +1737,22 @@ SwRedlineOptionsTabPage::SwRedlineOptionsTabPage( vcl::Window* pParent,
const SfxItemSet& rSet )
: SfxTabPage(pParent, "OptRedLinePage",
"modules/swriter/ui/optredlinepage.ui" , &rSet)
- , sNone(SW_RESSTR(SW_STR_NONE))
{
Size aPreviewSize(getPreviewOptionsSize(this));
get(pInsertLB,"insert");
get(pInsertColorLB,"insertcolor");
+ pInsertColorLB->SetSlotId(SID_AUTHOR_COLOR, true);
get(pInsertedPreviewWN,"insertedpreview");
get(pDeletedLB,"deleted");
get(pDeletedColorLB,"deletedcolor");
+ pDeletedColorLB->SetSlotId(SID_AUTHOR_COLOR, true);
get(pDeletedPreviewWN,"deletedpreview");
get(pChangedLB,"changed");
get(pChangedColorLB,"changedcolor");
+ pChangedColorLB->SetSlotId(SID_AUTHOR_COLOR, true);
get(pChangedPreviewWN,"changedpreview");
get(pMarkPosLB,"markpos");
@@ -1767,8 +1769,6 @@ SwRedlineOptionsTabPage::SwRedlineOptionsTabPage( vcl::Window* pParent,
pChangedPreviewWN->set_width_request(aPreviewSize.Width());
pMarkPreviewWN->set_width_request(aPreviewSize.Width());
- sAuthor = get<vcl::Window>("byauthor")->GetText();
-
for (sal_Int32 i = 0; i < pInsertLB->GetEntryCount(); ++i)
{
const OUString sEntry(pInsertLB->GetEntry(i));
@@ -1788,20 +1788,13 @@ SwRedlineOptionsTabPage::SwRedlineOptionsTabPage( vcl::Window* pParent,
pDeletedLB->SetSelectHdl( aLk );
pChangedLB->SetSelectHdl( aLk );
- aLk = LINK(this, SwRedlineOptionsTabPage, ColorHdl);
- pInsertColorLB->SetSelectHdl( aLk );
- pDeletedColorLB->SetSelectHdl( aLk );
- pChangedColorLB->SetSelectHdl( aLk );
+ Link<SvxColorListBox&,void> aLk2 = LINK(this, SwRedlineOptionsTabPage, ColorHdl);
+ pInsertColorLB->SetSelectHdl( aLk2 );
+ pDeletedColorLB->SetSelectHdl( aLk2 );
+ pChangedColorLB->SetSelectHdl( aLk2 );
- aLk = LINK(this, SwRedlineOptionsTabPage, ChangedMaskPrevHdl);
- pMarkPosLB->SetSelectHdl( aLk );
- pMarkColorLB->SetSelectHdl( aLk );
-/*
- //solution: set different accessible name of four color box
- pInsertColorLB->SetAccessibleName(OUString( aInsertFT.GetDisplayText()) + OUString(aInsertColorFT.GetDisplayText()));
- pDeletedColorLB->SetAccessibleName(OUString( aDeletedFT.GetDisplayText()) + OUString( aDeletedColorFT.GetDisplayText()));
- pChangedColorLB->SetAccessibleName(OUString( aChangedFT.GetDisplayText()) + OUString( aChangedColorFT.GetDisplayText()));
- pMarkColorLB->SetAccessibleName(OUString( aMarkPosFT.GetDisplayText()) + OUString( aMarkColorFT.GetDisplayText()));*/
+ pMarkPosLB->SetSelectHdl(LINK(this, SwRedlineOptionsTabPage, ChangedMaskPrevHdl));
+ pMarkColorLB->SetSelectHdl(LINK(this, SwRedlineOptionsTabPage, ChangedMaskColorPrevHdl));
}
SwRedlineOptionsTabPage::~SwRedlineOptionsTabPage()
@@ -1853,23 +1846,7 @@ bool SwRedlineOptionsTabPage::FillItemSet( SfxItemSet* )
pAttr = static_cast<CharAttr *>(pInsertLB->GetEntryData(nPos));
aInsertedAttr.nItemId = pAttr->nItemId;
aInsertedAttr.nAttr = pAttr->nAttr;
-
- nPos = pInsertColorLB->GetSelectEntryPos();
-
- switch (nPos)
- {
- case 0:
- aInsertedAttr.nColor = COL_NONE_COLOR;
- break;
- case 1:
- case LISTBOX_ENTRY_NOTFOUND:
- aInsertedAttr.nColor = COL_TRANSPARENT;
- break;
- default:
- aInsertedAttr.nColor = pInsertColorLB->GetEntryColor(nPos).GetColor();
- break;
- }
-
+ aInsertedAttr.nColor = pInsertColorLB->GetSelectEntryColor().GetColor();
pOpt->SetInsertAuthorAttr(aInsertedAttr);
}
@@ -1879,23 +1856,7 @@ bool SwRedlineOptionsTabPage::FillItemSet( SfxItemSet* )
pAttr = static_cast<CharAttr *>(pDeletedLB->GetEntryData(nPos));
aDeletedAttr.nItemId = pAttr->nItemId;
aDeletedAttr.nAttr = pAttr->nAttr;
-
- nPos = pDeletedColorLB->GetSelectEntryPos();
-
- switch (nPos)
- {
- case 0:
- aDeletedAttr.nColor = COL_NONE_COLOR;
- break;
- case 1:
- case LISTBOX_ENTRY_NOTFOUND:
- aDeletedAttr.nColor = COL_TRANSPARENT;
- break;
- default:
- aDeletedAttr.nColor = pDeletedColorLB->GetEntryColor(nPos).GetColor();
- break;
- }
-
+ aDeletedAttr.nColor = pDeletedColorLB->GetSelectEntryColor().GetColor();
pOpt->SetDeletedAuthorAttr(aDeletedAttr);
}
@@ -1905,23 +1866,7 @@ bool SwRedlineOptionsTabPage::FillItemSet( SfxItemSet* )
pAttr = static_cast<CharAttr *>(pChangedLB->GetEntryData(nPos));
aChangedAttr.nItemId = pAttr->nItemId;
aChangedAttr.nAttr = pAttr->nAttr;
-
- nPos = pChangedColorLB->GetSelectEntryPos();
-
- switch (nPos)
- {
- case 0:
- aChangedAttr.nColor = COL_NONE_COLOR;
- break;
- case 1:
- case LISTBOX_ENTRY_NOTFOUND:
- aChangedAttr.nColor = COL_TRANSPARENT;
- break;
- default:
- aChangedAttr.nColor = pChangedColorLB->GetEntryColor(nPos).GetColor();
- break;
- }
-
+ aChangedAttr.nColor = pChangedColorLB->GetSelectEntryColor().GetColor();
pOpt->SetFormatAuthorAttr(aChangedAttr);
}
@@ -1970,77 +1915,14 @@ void SwRedlineOptionsTabPage::Reset( const SfxItemSet* )
InitFontStyle(*pDeletedPreviewWN);
InitFontStyle(*pChangedPreviewWN);
- // initialise colour list box
- pInsertColorLB->SetUpdateMode(false);
- pDeletedColorLB->SetUpdateMode(false);
- pChangedColorLB->SetUpdateMode(false);
- pMarkColorLB->SetUpdateMode(false);
- pInsertColorLB->InsertEntry(sNone);
- pDeletedColorLB->InsertEntry(sNone);
- pChangedColorLB->InsertEntry(sNone);
-
- pInsertColorLB->InsertEntry(sAuthor);
- pDeletedColorLB->InsertEntry(sAuthor);
- pChangedColorLB->InsertEntry(sAuthor);
-
- XColorListRef pColorLst = XColorList::GetStdColorList();
- for( long i = 0; i < pColorLst->Count(); ++i )
- {
- XColorEntry* pEntry = pColorLst->GetColor( i );
- Color aColor = pEntry->GetColor();
- const OUString sName = pEntry->GetName();
-
- pInsertColorLB->InsertEntry( aColor, sName );
- pDeletedColorLB->InsertEntry( aColor, sName );
- pChangedColorLB->InsertEntry( aColor, sName );
- pMarkColorLB->InsertEntry( aColor, sName );
- }
- pInsertColorLB->SetUpdateMode( true );
- pDeletedColorLB->SetUpdateMode( true );
- pChangedColorLB->SetUpdateMode( true );
- pMarkColorLB->SetUpdateMode( true );
-
ColorData nColor = rInsertAttr.nColor;
-
- switch (nColor)
- {
- case COL_TRANSPARENT:
- pInsertColorLB->SelectEntryPos(1);
- break;
- case COL_NONE_COLOR:
- pInsertColorLB->SelectEntryPos(0);
- break;
- default:
- pInsertColorLB->SelectEntry(Color(nColor));
- }
+ pInsertColorLB->SelectEntry(Color(nColor));
nColor = rDeletedAttr.nColor;
-
- switch (nColor)
- {
- case COL_TRANSPARENT:
- pDeletedColorLB->SelectEntryPos(1);
- break;
- case COL_NONE_COLOR:
- pDeletedColorLB->SelectEntryPos(0);
- break;
- default:
- pDeletedColorLB->SelectEntry(Color(nColor));
- }
+ pDeletedColorLB->SelectEntry(Color(nColor));
nColor = rChangedAttr.nColor;
-
- switch (nColor)
- {
- case COL_TRANSPARENT:
- pChangedColorLB->SelectEntryPos(1);
- break;
- case COL_NONE_COLOR:
- pChangedColorLB->SelectEntryPos(0);
- break;
- default:
- pChangedColorLB->SelectEntry(Color(nColor));
- }
+ pChangedColorLB->SelectEntry(Color(nColor));
pMarkColorLB->SelectEntry(pOpt->GetMarkAlignColor());
@@ -2071,13 +1953,13 @@ void SwRedlineOptionsTabPage::Reset( const SfxItemSet* )
AttribHdl(*pChangedLB);
ColorHdl(*pChangedColorLB);
- ChangedMaskPrevHdl(*pMarkPosLB);
+ ChangedMaskPrev();
}
IMPL_LINK_TYPED( SwRedlineOptionsTabPage, AttribHdl, ListBox&, rLB, void )
{
SvxFontPrevWindow *pPrev = nullptr;
- ColorListBox *pColorLB;
+ SvxColorListBox *pColorLB;
if (&rLB == pInsertLB)
{
@@ -2109,26 +1991,25 @@ IMPL_LINK_TYPED( SwRedlineOptionsTabPage, AttribHdl, ListBox&, rLB, void )
rFont.SetCaseMap(SVX_CASEMAP_NOT_MAPPED);
rCJKFont.SetCaseMap(SVX_CASEMAP_NOT_MAPPED);
- sal_Int32 nPos = pColorLB->GetSelectEntryPos();
+ Color aColor = pColorLB->GetSelectEntryColor();
- switch( nPos )
+ if (aColor == COL_NONE_COLOR)
{
- case 0:
- rFont.SetColor( Color( COL_BLACK ) );
- rCJKFont.SetColor( Color( COL_BLACK ) );
- break;
- case 1:
- case LISTBOX_ENTRY_NOTFOUND:
- rFont.SetColor( Color( COL_RED ) );
- rCJKFont.SetColor( Color( COL_RED ) );
- break;
- default:
- rFont.SetColor( pColorLB->GetEntryColor( nPos ) );
- rCJKFont.SetColor( pColorLB->GetEntryColor( nPos ) );
- break;
+ rFont.SetColor( Color( COL_BLACK ) );
+ rCJKFont.SetColor( Color( COL_BLACK ) );
+ }
+ else if (aColor == COL_TRANSPARENT)
+ {
+ rFont.SetColor( Color( COL_RED ) );
+ rCJKFont.SetColor( Color( COL_RED ) );
+ }
+ else
+ {
+ rFont.SetColor(aColor);
+ rCJKFont.SetColor(aColor);
}
- nPos = rLB.GetSelectEntryPos();
+ sal_Int32 nPos = rLB.GetSelectEntryPos();
if( nPos == LISTBOX_ENTRY_NOTFOUND )
nPos = 0;
@@ -2164,12 +2045,11 @@ IMPL_LINK_TYPED( SwRedlineOptionsTabPage, AttribHdl, ListBox&, rLB, void )
case SID_ATTR_BRUSH:
{
- nPos = pColorLB->GetSelectEntryPos();
- if( nPos )
- pPrev->SetColor( pColorLB->GetSelectEntryColor() );
+ Color aBgColor = pColorLB->GetSelectEntryColor();
+ if (aBgColor != COL_NONE_COLOR)
+ pPrev->SetColor(aBgColor);
else
- pPrev->SetColor( Color( COL_LIGHTGRAY ) );
-
+ pPrev->SetColor(Color(COL_LIGHTGRAY));
rFont.SetColor( Color( COL_BLACK ) );
rCJKFont.SetColor( Color( COL_BLACK ) );
}
@@ -2179,9 +2059,9 @@ IMPL_LINK_TYPED( SwRedlineOptionsTabPage, AttribHdl, ListBox&, rLB, void )
pPrev->Invalidate();
}
-IMPL_LINK_TYPED( SwRedlineOptionsTabPage, ColorHdl, ListBox&, rListBox, void )
+IMPL_LINK_TYPED( SwRedlineOptionsTabPage, ColorHdl, SvxColorListBox&, rListBox, void )
{
- ColorListBox* pColorLB = static_cast<ColorListBox*>(&rListBox);
+ SvxColorListBox* pColorLB = &rListBox;
SvxFontPrevWindow *pPrev = nullptr;
ListBox* pLB;
@@ -2213,38 +2093,38 @@ IMPL_LINK_TYPED( SwRedlineOptionsTabPage, ColorHdl, ListBox&, rListBox, void )
{
rFont.SetColor( Color( COL_BLACK ) );
rCJKFont.SetColor( Color( COL_BLACK ) );
- nPos = pColorLB->GetSelectEntryPos();
- if( nPos && nPos != LISTBOX_ENTRY_NOTFOUND )
- pPrev->SetColor( pColorLB->GetSelectEntryColor() );
+
+ Color aBgColor = pColorLB->GetSelectEntryColor();
+ if (aBgColor != COL_NONE_COLOR)
+ pPrev->SetColor(aBgColor);
else
- pPrev->SetColor( Color( COL_LIGHTGRAY ) );
+ pPrev->SetColor(Color(COL_LIGHTGRAY));
}
else
{
- nPos = pColorLB->GetSelectEntryPos();
+ Color aColor = pColorLB->GetSelectEntryColor();
- switch( nPos )
+ if (aColor == COL_NONE_COLOR)
{
- case 0:
- rFont.SetColor( Color( COL_BLACK ) );
- rCJKFont.SetColor( Color( COL_BLACK ) );
- break;
- case 1:
- case LISTBOX_ENTRY_NOTFOUND:
- rFont.SetColor( Color( COL_RED ) );
- rCJKFont.SetColor( Color( COL_RED ) );
- break;
- default:
- rFont.SetColor( pColorLB->GetEntryColor( nPos ) );
- rCJKFont.SetColor( pColorLB->GetEntryColor( nPos ) );
- break;
+ rFont.SetColor( Color( COL_BLACK ) );
+ rCJKFont.SetColor( Color( COL_BLACK ) );
+ }
+ else if (aColor == COL_TRANSPARENT)
+ {
+ rFont.SetColor( Color( COL_RED ) );
+ rCJKFont.SetColor( Color( COL_RED ) );
+ }
+ else
+ {
+ rFont.SetColor(aColor);
+ rCJKFont.SetColor(aColor);
}
}
pPrev->Invalidate();
}
-IMPL_LINK_NOARG_TYPED(SwRedlineOptionsTabPage, ChangedMaskPrevHdl, ListBox&, void)
+void SwRedlineOptionsTabPage::ChangedMaskPrev()
{
pMarkPreviewWN->SetMarkPos(pMarkPosLB->GetSelectEntryPos());
pMarkPreviewWN->SetColor(pMarkColorLB->GetSelectEntryColor().GetColor());
@@ -2252,6 +2132,16 @@ IMPL_LINK_NOARG_TYPED(SwRedlineOptionsTabPage, ChangedMaskPrevHdl, ListBox&, voi
pMarkPreviewWN->Invalidate();
}
+IMPL_LINK_NOARG(SwRedlineOptionsTabPage, ChangedMaskPrevHdl, ListBox&, void)
+{
+ ChangedMaskPrev();
+}
+
+IMPL_LINK_NOARG(SwRedlineOptionsTabPage, ChangedMaskColorPrevHdl, SvxColorListBox&, void)
+{
+ ChangedMaskPrev();
+}
+
void SwRedlineOptionsTabPage::InitFontStyle(SvxFontPrevWindow& rExampleWin)
{
const AllSettings& rAllSettings = Application::GetSettings();