[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - editeng/source icon-themes/breeze icon-themes/crystal icon-themes/galaxy icon-themes/hicontrast icon-themes/human icon-themes/industrial icon-themes/oxygen icon-themes/sifr icon-themes/tango icon-themes/tango_testing include/editeng include/svx officecfg/registry sd/sdi sd/source sd/uiconfig svx/sdi svx/source svx/uiconfig

Katarina Behrens Katarina.Behrens at cib.de
Wed Jun 3 10:26:16 PDT 2015


 editeng/source/editeng/editdoc.cxx                                   |    2 
 icon-themes/breeze/links.txt                                         |    4 +
 icon-themes/crystal/links.txt                                        |    4 +
 icon-themes/galaxy/links.txt                                         |    3 
 icon-themes/hicontrast/links.txt                                     |    4 +
 icon-themes/human/links.txt                                          |    4 +
 icon-themes/industrial/links.txt                                     |    4 +
 icon-themes/oxygen/links.txt                                         |    4 +
 icon-themes/sifr/links.txt                                           |    3 
 icon-themes/tango/links.txt                                          |    3 
 icon-themes/tango_testing/links.txt                                  |    4 +
 include/editeng/editids.hrc                                          |    6 +
 include/svx/dialogs.hrc                                              |    1 
 officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu |    8 ++
 sd/sdi/_drvwsh.sdi                                                   |    5 +
 sd/sdi/drtxtob.sdi                                                   |    6 +
 sd/source/ui/app/sddll.cxx                                           |    1 
 sd/uiconfig/sdraw/toolbar/textobjectbar.xml                          |    1 
 sd/uiconfig/simpress/toolbar/textobjectbar.xml                       |    1 
 svx/sdi/svx.sdi                                                      |   25 +++++++
 svx/sdi/svxitems.sdi                                                 |    1 
 svx/source/sidebar/text/TextPropertyPanel.cxx                        |   19 ++++-
 svx/source/sidebar/text/TextPropertyPanel.hxx                        |    1 
 svx/source/tbxctrls/tbcontrl.cxx                                     |   18 +++++
 svx/source/tbxctrls/tbcontrl.src                                     |    5 +
 svx/uiconfig/ui/sidebartextpanel.ui                                  |   33 ++++++++--
 26 files changed, 158 insertions(+), 12 deletions(-)

New commits:
commit c0e07bc592b7fe270514ae392eacb6ebde3df879
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date:   Tue Jun 2 11:55:40 2015 +0200

    tdf#88276: toolbar|sidebar button for text background colour
    
    Change-Id: I547a562384d30b95b744673feb284ccbcf50a614
    Reviewed-on: https://gerrit.libreoffice.org/16030
    Reviewed-by: Jan Holesovsky <kendy at collabora.com>
    Tested-by: Yousuf Philips <philipz85 at hotmail.com>
    Reviewed-by: Philippe Jung <phil.jung at free.fr>
    Reviewed-by: Yousuf Philips <philipz85 at hotmail.com>

diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx
index 6f447b9..ca6adb3 100644
--- a/editeng/source/editeng/editdoc.cxx
+++ b/editeng/source/editeng/editdoc.cxx
@@ -211,7 +211,7 @@ const SfxItemInfo aItemInfos[EDITITEMCOUNT] = {
         { SID_ATTR_CHAR_OVERLINE, SfxItemPoolFlags::POOLABLE },
         { SID_ATTR_CHAR_CASEMAP, SfxItemPoolFlags::POOLABLE },       // EE_CHAR_CASEMAP
         { SID_ATTR_CHAR_GRABBAG, SfxItemPoolFlags::POOLABLE },       // EE_CHAR_GRABBAG
-        { 0, SfxItemPoolFlags::POOLABLE },                           // EE_CHAR_BKGCOLOR
+        { SID_ATTR_CHAR_BACK_COLOR, SfxItemPoolFlags::POOLABLE },    // EE_CHAR_BKGCOLOR
         { 0, SfxItemPoolFlags::POOLABLE },                           // EE_FEATURE_TAB
         { 0, SfxItemPoolFlags::POOLABLE },                           // EE_FEATURE_LINEBR
         { SID_ATTR_CHAR_CHARSETCOLOR, SfxItemPoolFlags::POOLABLE },  // EE_FEATURE_NOTCONV
diff --git a/icon-themes/breeze/links.txt b/icon-themes/breeze/links.txt
index dcc73b8..32d8aac 100644
--- a/icon-themes/breeze/links.txt
+++ b/icon-themes/breeze/links.txt
@@ -105,3 +105,7 @@ database/linked_text_table.png cmd/sc_dataimport.png
 #cmd/lc_undo.png cmd/he/lc_redo.png
 #cmd/sc_redo.png cmd/he/sc_undo.png
 #cmd/sc_undo.png cmd/he/sc_redo.png
+
+# text background colour Impress/Draw
+cmd/sc_charbackcolor.png cmd/sc_backcolor.png
+cmd/lc_charbackcolor.png cmd/lc_backcolor.png
diff --git a/icon-themes/crystal/links.txt b/icon-themes/crystal/links.txt
index 5c8bad3..3e7c8a7 100644
--- a/icon-themes/crystal/links.txt
+++ b/icon-themes/crystal/links.txt
@@ -4,3 +4,7 @@ cmd/lc_showsinglepage.png cmd/lc_adddirect.png
 # paragraph line spacing
 cmd/lc_linespacing.png cmd/lc_spacepara15.png
 cmd/sc_linespacing.png cmd/sc_spacepara15.png
+
+# text background colour Impress/Draw
+cmd/sc_charbackcolor.png cmd/sc_backcolor.png
+cmd/lc_charbackcolor.png cmd/lc_backcolor.png
diff --git a/icon-themes/galaxy/links.txt b/icon-themes/galaxy/links.txt
index 0a257a3..8825c9f 100644
--- a/icon-themes/galaxy/links.txt
+++ b/icon-themes/galaxy/links.txt
@@ -59,3 +59,6 @@ cmd/sc_formatselection.png sfx2/res/symphony/sidebar-property-small.png
 cmd/lc_view3d.png sfx2/res/symphony/sidebar-3d-large.png
 cmd/sc_view3d.png sfx2/res/symphony/sidebar-3d-small.png
 
+# text background colour Impress/Draw
+cmd/sc_charbackcolor.png cmd/sc_backcolor.png
+cmd/lc_charbackcolor.png cmd/lc_backcolor.png
diff --git a/icon-themes/hicontrast/links.txt b/icon-themes/hicontrast/links.txt
index a9a7c82..3c9fd17 100644
--- a/icon-themes/hicontrast/links.txt
+++ b/icon-themes/hicontrast/links.txt
@@ -1,3 +1,7 @@
 # paragraph line spacing
 cmd/lc_linespacing.png cmd/lc_spacepara15.png
 cmd/sc_linespacing.png cmd/sc_spacepara15.png
+
+# text background colour Impress/Draw
+cmd/sc_charbackcolor.png cmd/sc_backcolor.png
+cmd/lc_charbackcolor.png cmd/lc_backcolor.png
diff --git a/icon-themes/human/links.txt b/icon-themes/human/links.txt
index 5c8bad3..3e7c8a7 100644
--- a/icon-themes/human/links.txt
+++ b/icon-themes/human/links.txt
@@ -4,3 +4,7 @@ cmd/lc_showsinglepage.png cmd/lc_adddirect.png
 # paragraph line spacing
 cmd/lc_linespacing.png cmd/lc_spacepara15.png
 cmd/sc_linespacing.png cmd/sc_spacepara15.png
+
+# text background colour Impress/Draw
+cmd/sc_charbackcolor.png cmd/sc_backcolor.png
+cmd/lc_charbackcolor.png cmd/lc_backcolor.png
diff --git a/icon-themes/industrial/links.txt b/icon-themes/industrial/links.txt
index a9a7c82..3c9fd17 100644
--- a/icon-themes/industrial/links.txt
+++ b/icon-themes/industrial/links.txt
@@ -1,3 +1,7 @@
 # paragraph line spacing
 cmd/lc_linespacing.png cmd/lc_spacepara15.png
 cmd/sc_linespacing.png cmd/sc_spacepara15.png
+
+# text background colour Impress/Draw
+cmd/sc_charbackcolor.png cmd/sc_backcolor.png
+cmd/lc_charbackcolor.png cmd/lc_backcolor.png
diff --git a/icon-themes/oxygen/links.txt b/icon-themes/oxygen/links.txt
index 5c8bad3..3e7c8a7 100644
--- a/icon-themes/oxygen/links.txt
+++ b/icon-themes/oxygen/links.txt
@@ -4,3 +4,7 @@ cmd/lc_showsinglepage.png cmd/lc_adddirect.png
 # paragraph line spacing
 cmd/lc_linespacing.png cmd/lc_spacepara15.png
 cmd/sc_linespacing.png cmd/sc_spacepara15.png
+
+# text background colour Impress/Draw
+cmd/sc_charbackcolor.png cmd/sc_backcolor.png
+cmd/lc_charbackcolor.png cmd/lc_backcolor.png
diff --git a/icon-themes/sifr/links.txt b/icon-themes/sifr/links.txt
index e93c265..7f23e02 100644
--- a/icon-themes/sifr/links.txt
+++ b/icon-themes/sifr/links.txt
@@ -85,3 +85,6 @@ cmd/sc_insertrowbreak.png cmd/sc_insertpagebreak.png
 cmd/lc_datafilterautofilter.png cmd/lc_autofilter.png
 cmd/sc_datafilterautofilter.png cmd/sc_autofilter.png
 
+# text background colour Impress/Draw
+cmd/sc_charbackcolor.png cmd/sc_backcolor.png
+cmd/lc_charbackcolor.png cmd/lc_backcolor.png
diff --git a/icon-themes/tango/links.txt b/icon-themes/tango/links.txt
index 628df29..d5036a3 100644
--- a/icon-themes/tango/links.txt
+++ b/icon-themes/tango/links.txt
@@ -543,3 +543,6 @@ cmd/sc_linespacing.png cmd/sc_spacepara15.png
 cmd/lc_insertrowbreak.png cmd/lc_insertpagebreak.png
 cmd/sc_insertrowbreak.png cmd/sc_insertpagebreak.png
 
+# text background colour Impress/Draw
+cmd/sc_charbackcolor.png cmd/sc_backcolor.png
+cmd/lc_charbackcolor.png cmd/lc_backcolor.png
diff --git a/icon-themes/tango_testing/links.txt b/icon-themes/tango_testing/links.txt
index eec2444..d5e2302 100644
--- a/icon-themes/tango_testing/links.txt
+++ b/icon-themes/tango_testing/links.txt
@@ -34,3 +34,7 @@ cmd/lc_spellingandgrammardialog.png cmd/lc_spelldialog.png
 # paragraph line spacing
 cmd/lc_linespacing.png cmd/lc_spacepara15.png
 cmd/sc_linespacing.png cmd/sc_spacepara15.png
+
+# text background colour Impress/Draw
+cmd/sc_charbackcolor.png cmd/sc_backcolor.png
+cmd/lc_charbackcolor.png cmd/lc_backcolor.png
diff --git a/include/editeng/editids.hrc b/include/editeng/editids.hrc
index 793c7e6..91102dd 100644
--- a/include/editeng/editids.hrc
+++ b/include/editeng/editids.hrc
@@ -119,6 +119,7 @@
 #define SID_ATTR_CHAR_LATIN_POSTURE                     ( SID_SVX_START + 997 )
 #define SID_ATTR_CHAR_LATIN_WEIGHT                      ( SID_SVX_START + 998 )
 #define SID_ATTR_CHAR_GRABBAG                           ( SID_SVX_START + 1142 )
+#define SID_ATTR_CHAR_BACK_COLOR                        ( SID_SVX_START + 1143 )
 
 // these ID didn't exist prior to the svx split, add new ids here
 #define SID_ATTR_CHAR_OVERLINE                          ( SID_EDIT_START + 68 )
@@ -226,10 +227,11 @@
 #define SID_ATTR_CHAR_LATIN_LANGUAGE                    ( SID_EDIT_START + 92 )
 #define SID_ATTR_CHAR_LATIN_POSTURE                     ( SID_EDIT_START + 93 )
 #define SID_ATTR_CHAR_LATIN_WEIGHT                      ( SID_EDIT_START + 94 )
+#define SID_ATTR_CHAR_BACK_COLOR                        ( SID_EDIT_START + 95 )
 */
 
-#if 94 > (SID_EDIT_END-SID_EDIT_START)
-#error Resource-Ueberlauf in #line, #file
+#if 95 > (SID_EDIT_END-SID_EDIT_START)
+#error Resource-Overflow in #line, #file
 #endif
 
 #define SID_DRAW_TEXT_VERTICAL                            SID_ATTR_CHAR_VERTICAL
diff --git a/include/svx/dialogs.hrc b/include/svx/dialogs.hrc
index 709bd3b..a57c68c 100644
--- a/include/svx/dialogs.hrc
+++ b/include/svx/dialogs.hrc
@@ -233,6 +233,7 @@
 // Strings of the ToolBox-Controls from tbcontrl.cxx
 #define RID_SVXSTR_FILLPATTERN              (RID_SVX_START + 191)
 #define RID_SVXSTR_FRAME                    (RID_SVX_START + 192)
+#define RID_SVXSTR_CHAR_BACK_COLOR          (RID_SVX_START + 193)
 #define RID_SVXSTR_FRAME_COLOR              (RID_SVX_START + 194)
 #define RID_SVXSTR_FRAME_STYLE              (RID_SVX_START + 195)
 #define RID_SVXSTR_EXTRAS_CHARBACKGROUND    (RID_SVX_START + 196)
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 3e12671..7e2f00b 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -2788,6 +2788,14 @@
           <value>1</value>
         </prop>
       </node>
+      <node oor:name=".uno:CharBackColor" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Text Background Color</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
       <node oor:name=".uno:BackgroundPatternController" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="en-US">Background Pattern</value>
diff --git a/sd/sdi/_drvwsh.sdi b/sd/sdi/_drvwsh.sdi
index 38953ca..263a8ed 100644
--- a/sd/sdi/_drvwsh.sdi
+++ b/sd/sdi/_drvwsh.sdi
@@ -2722,6 +2722,11 @@ interface DrawView
         ExecMethod = ExecChar ;
         StateMethod = GetAttrState ;
     ]
+    SID_ATTR_CHAR_BACK_COLOR
+    [
+        ExecMethod = ExecChar ;
+        StateMethod = GetAttrState ;
+    ]
     SID_ATTR_CHAR_KERNING
     [
         ExecMethod = ExecChar ;
diff --git a/sd/sdi/drtxtob.sdi b/sd/sdi/drtxtob.sdi
index cc466e1..3e975d4 100644
--- a/sd/sdi/drtxtob.sdi
+++ b/sd/sdi/drtxtob.sdi
@@ -44,6 +44,12 @@ shell TextObjectBar
         StateMethod = GetAttrState;
     ]
 
+    SID_ATTR_CHAR_BACK_COLOR  // ole : ?, status : ?
+    [
+        ExecMethod = Execute;
+        StateMethod = GetAttrState;
+    ]
+
     SID_ATTR_CHAR_WEIGHT  // ole : ?, status : ?
     [
         ExecMethod = Execute;
diff --git a/sd/source/ui/app/sddll.cxx b/sd/source/ui/app/sddll.cxx
index 7da803a..1a4c797 100644
--- a/sd/source/ui/app/sddll.cxx
+++ b/sd/source/ui/app/sddll.cxx
@@ -215,6 +215,7 @@ void SdDLL::RegisterControllers()
     SvxStyleToolBoxControl::RegisterControl(0, pMod);
     SvxFontNameToolBoxControl::RegisterControl(0, pMod);
     SvxColorToolBoxControl::RegisterControl( SID_ATTR_CHAR_COLOR, pMod );
+    SvxColorToolBoxControl::RegisterControl( SID_ATTR_CHAR_BACK_COLOR, pMod );
 
     SvxGrafFilterToolBoxControl::RegisterControl( SID_GRFFILTER, pMod );
     SvxGrafModeToolBoxControl::RegisterControl( SID_ATTR_GRAF_MODE, pMod );
diff --git a/sd/uiconfig/sdraw/toolbar/textobjectbar.xml b/sd/uiconfig/sdraw/toolbar/textobjectbar.xml
index bfac926..32c2e63 100644
--- a/sd/uiconfig/sdraw/toolbar/textobjectbar.xml
+++ b/sd/uiconfig/sdraw/toolbar/textobjectbar.xml
@@ -30,6 +30,7 @@
  <toolbar:toolbaritem xlink:href=".uno:Shadowed" toolbar:helpid="10010"/>
  <toolbar:toolbaritem xlink:href=".uno:OutlineFont" toolbar:visible="false"/>
  <toolbar:toolbaritem xlink:href=".uno:Color" toolbar:helpid="10017"/>
+ <toolbar:toolbaritem xlink:href=".uno:CharBackColor" toolbar:style="dropdown"/>
  <toolbar:toolbarseparator/>
  <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="10028"/>
  <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="10030"/>
diff --git a/sd/uiconfig/simpress/toolbar/textobjectbar.xml b/sd/uiconfig/simpress/toolbar/textobjectbar.xml
index c014ba2..6a59382 100644
--- a/sd/uiconfig/simpress/toolbar/textobjectbar.xml
+++ b/sd/uiconfig/simpress/toolbar/textobjectbar.xml
@@ -30,6 +30,7 @@
  <toolbar:toolbaritem xlink:href=".uno:Shadowed" toolbar:helpid="10010"/>
  <toolbar:toolbaritem xlink:href=".uno:OutlineFont" toolbar:visible="false"/>
  <toolbar:toolbaritem xlink:href=".uno:Color" toolbar:helpid="10017"/>
+ <toolbar:toolbaritem xlink:href=".uno:CharBackColor" toolbar:style="dropdown"/>
  <toolbar:toolbarseparator/>
  <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="10028"/>
  <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="10030"/>
diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi
index 91f08bf..941f3e8 100644
--- a/svx/sdi/svx.sdi
+++ b/svx/sdi/svx.sdi
@@ -2169,6 +2169,31 @@ SvxColorItem Color SID_ATTR_CHAR_COLOR
     GroupId = GID_FORMAT;
 ]
 
+SvxBackgroundColorItem CharBackColor SID_ATTR_CHAR_BACK_COLOR
+
+[
+    /* flags: */
+    AutoUpdate = TRUE,
+    Cachable = Cachable,
+    FastCall = FALSE,
+    HasCoreId = FALSE,
+    HasDialog = FALSE,
+    ReadOnlyDoc = FALSE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerSet;
+    Synchron;
+
+    Readonly = FALSE,
+
+    /* config: */
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    StatusBarConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = GID_FORMAT;
+]
 
 SfxBoolItem ColorControl SID_COLOR_CONTROL
 
diff --git a/svx/sdi/svxitems.sdi b/svx/sdi/svxitems.sdi
index b8d77116..6887062 100644
--- a/svx/sdi/svxitems.sdi
+++ b/svx/sdi/svxitems.sdi
@@ -320,6 +320,7 @@ item INT16                  SvxCharReliefItem;
 item BOOL                   SvxBlinkItem;
 item BOOL                   SvxAutoKernItem;
 item INT32                  SvxColorItem;
+item INT32                  SvxBackgroundColorItem;
 item BOOL                   SvxContourItem;
 item INT16                  SvxFormatBreakItem;  // enum
 item BOOL                   SvxFormatKeepItem;
diff --git a/svx/source/sidebar/text/TextPropertyPanel.cxx b/svx/source/sidebar/text/TextPropertyPanel.cxx
index 5e4f48a..0166136 100644
--- a/svx/source/sidebar/text/TextPropertyPanel.cxx
+++ b/svx/source/sidebar/text/TextPropertyPanel.cxx
@@ -97,8 +97,9 @@ TextPropertyPanel::TextPropertyPanel ( vcl::Window* pParent, const css::uno::Ref
     get(mpToolBoxFont, "fonteffects");
     get(mpToolBoxIncDec, "fontadjust");
     get(mpToolBoxSpacing, "spacingbar");
-    get(mpToolBoxFontColorSw, "colorbar");
-    get(mpToolBoxFontColor, "colorsingle");
+    get(mpToolBoxFontColorSw, "colorbar_writer");
+    get(mpToolBoxFontColor, "colorbar_others");
+    get(mpToolBoxBackgroundColor, "colorbar_background");
 
     //toolbox
     SetupToolboxItems();
@@ -144,15 +145,20 @@ void TextPropertyPanel::HandleContextChange (
     mpToolBoxIncDec->Show(maContext.GetApplication_DI() != sfx2::sidebar::EnumContext::Application_Calc);
 
     bool bWriterText = false;
+    bool bDrawText = false;
+    bool bNeedTextSpacing = false;
+
     switch (maContext.GetCombinedContext_DI())
     {
         case CombinedEnumContext(Application_Calc, Context_Cell):
         case CombinedEnumContext(Application_Calc, Context_Pivot):
-            mpToolBoxSpacing->Disable();
+            // bNeedTextSpacing = false;
             break;
 
         case CombinedEnumContext(Application_Calc, Context_EditCell):
         case CombinedEnumContext(Application_Calc, Context_DrawText):
+            bNeedTextSpacing = true;
+
         case CombinedEnumContext(Application_WriterVariants, Context_DrawText):
         case CombinedEnumContext(Application_WriterVariants, Context_Annotation):
         case CombinedEnumContext(Application_DrawImpress, Context_DrawText):
@@ -162,12 +168,13 @@ void TextPropertyPanel::HandleContextChange (
         case CombinedEnumContext(Application_DrawImpress, Context_Draw):
         case CombinedEnumContext(Application_DrawImpress, Context_TextObject):
         case CombinedEnumContext(Application_DrawImpress, Context_Graphic):
-            mpToolBoxSpacing->Enable();
+            bNeedTextSpacing = true;
+            bDrawText = true;
             break;
 
         case CombinedEnumContext(Application_WriterVariants, Context_Text):
         case CombinedEnumContext(Application_WriterVariants, Context_Table):
-            mpToolBoxSpacing->Enable();
+            bNeedTextSpacing = true;
             bWriterText = true;
             break;
 
@@ -175,8 +182,10 @@ void TextPropertyPanel::HandleContextChange (
             break;
     }
 
+    mpToolBoxSpacing->Enable(bNeedTextSpacing);
     mpToolBoxFontColor->Show(!bWriterText);
     mpToolBoxFontColorSw->Show(bWriterText);
+    mpToolBoxBackgroundColor->Show(bDrawText);
 }
 
 void TextPropertyPanel::DataChanged (const DataChangedEvent& /*rEvent*/)
diff --git a/svx/source/sidebar/text/TextPropertyPanel.hxx b/svx/source/sidebar/text/TextPropertyPanel.hxx
index 7ea19a6..30e494b 100644
--- a/svx/source/sidebar/text/TextPropertyPanel.hxx
+++ b/svx/source/sidebar/text/TextPropertyPanel.hxx
@@ -87,6 +87,7 @@ private:
     VclPtr<ToolBox> mpToolBoxSpacing;
     VclPtr<ToolBox> mpToolBoxFontColorSw;
     VclPtr<ToolBox> mpToolBoxFontColor;
+    VclPtr<ToolBox> mpToolBoxBackgroundColor;
 
     //control items
     ::sfx2::sidebar::ControllerItem maFontSizeControl;
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index 2e962cc..50f20ee 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -1436,6 +1436,8 @@ void SvxColorWindow_Impl::StateChanged( sal_uInt16 nSID, SfxItemState eState, co
                 aColor = static_cast<const XLineColorItem*>(pState)->GetColorValue();
             else if ( pState->ISA( XFillColorItem ) )
                 aColor = static_cast<const XFillColorItem*>(pState)->GetColorValue();
+            else if ( pState->ISA( SvxBackgroundColorItem ) )
+                aColor = static_cast<const SvxBackgroundColorItem*>(pState)->GetValue();
         }
 
         if ( aColor == COL_TRANSPARENT )
@@ -2553,6 +2555,11 @@ SvxColorToolBoxControl::SvxColorToolBoxControl(
             bSidebarType = false;
             break;
 
+        case SID_ATTR_CHAR_BACK_COLOR:
+            addStatusListener( OUString( ".uno:CharBackColor" ));
+            mPaletteManager.SetLastColor( COL_YELLOW );
+            break;
+
         case SID_FRAME_LINECOLOR:
             addStatusListener( OUString( ".uno:FrameLineColor" ));
             addStatusListener( OUString( ".uno:BorderTLBR" ));
@@ -2616,6 +2623,10 @@ VclPtr<SfxPopupWindow> SvxColorToolBoxControl::CreatePopupWindow()
             pColorWin->SetText( SVX_RESSTR( RID_SVXSTR_BACKGROUND ) );
             break;
 
+        case SID_ATTR_CHAR_BACK_COLOR :
+            pColorWin->SetText( SVX_RESSTR( RID_SVXSTR_CHAR_BACK_COLOR ) );
+            break;
+
         case SID_FRAME_LINECOLOR:
             pColorWin->SetText( SVX_RESSTR( RID_SVXSTR_FRAME_COLOR ) );
             break;
@@ -2714,6 +2725,11 @@ void SvxColorToolBoxControl::Select(sal_uInt16 /*nSelectModifier*/)
             aParamName  = "BackColor";
             break;
 
+        case SID_ATTR_CHAR_BACK_COLOR :
+            aCommand    = ".uno:CharBackColor";
+            aParamName  = "CharBackColor";
+            break;
+
         case SID_FRAME_LINECOLOR  :
             aCommand    = ".uno:FrameLineColor";
             aParamName  = "FrameLineColor";
@@ -2752,6 +2768,8 @@ void SvxColorToolBoxControl::RegisterControl(sal_uInt16 nSlotId, SfxModule *pMod
         SfxToolBoxControl::RegisterToolBoxControl( pMod, new SfxTbxCtrlFactory( SvxColorToolBoxControl::CreateImpl, TYPE(XLineColorItem), nSlotId ) );
     else if ( nSlotId == SID_ATTR_FILL_COLOR )
         SfxToolBoxControl::RegisterToolBoxControl( pMod, new SfxTbxCtrlFactory( SvxColorToolBoxControl::CreateImpl, TYPE(XFillColorItem), nSlotId ) );
+    else if ( nSlotId == SID_ATTR_CHAR_BACK_COLOR )
+        SfxToolBoxControl::RegisterToolBoxControl( pMod, new SfxTbxCtrlFactory( SvxColorToolBoxControl::CreateImpl, TYPE(SvxBackgroundColorItem), nSlotId ) );
     else
         SfxToolBoxControl::RegisterToolBoxControl( pMod, new SfxTbxCtrlFactory( SvxColorToolBoxControl::CreateImpl, TYPE(SvxColorItem), nSlotId ) );
 }
diff --git a/svx/source/tbxctrls/tbcontrl.src b/svx/source/tbxctrls/tbcontrl.src
index 6e0add7..f6cd746 100644
--- a/svx/source/tbxctrls/tbcontrl.src
+++ b/svx/source/tbxctrls/tbcontrl.src
@@ -125,6 +125,11 @@ String RID_SVXSTR_EXTRAS_CHARBACKGROUND
     Text [ en-US ] = "Highlighting" ;
 };
 
+String RID_SVXSTR_CHAR_BACK_COLOR
+{
+    Text [ en-US ] = "Text Background Color" ;
+};
+
 String RID_SVXSTR_BACKGROUND
 {
     Text [ en-US ] = "Background";
diff --git a/svx/uiconfig/ui/sidebartextpanel.ui b/svx/uiconfig/ui/sidebartextpanel.ui
index 91930e9..eb962ba 100644
--- a/svx/uiconfig/ui/sidebartextpanel.ui
+++ b/svx/uiconfig/ui/sidebartextpanel.ui
@@ -215,7 +215,7 @@
             <property name="can_focus">False</property>
             <property name="spacing">12</property>
             <child>
-              <object class="sfxlo-SidebarToolBox" id="colorbar">
+              <object class="sfxlo-SidebarToolBox" id="colorbar_writer">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="show_arrow">False</property>
@@ -255,7 +255,7 @@
               </packing>
             </child>
             <child>
-              <object class="sfxlo-SidebarToolBox" id="colorsingle">
+              <object class="sfxlo-SidebarToolBox" id="colorbar_others">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
@@ -280,6 +280,31 @@
               </packing>
             </child>
             <child>
+              <object class="sfxlo-SidebarToolBox" id="colorbar_background">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                 <child>
+                  <object class="GtkMenuToolButton" id="backgroundcolor">
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="is_important">True</property>
+                    <property name="action_name">.uno:CharBackColor</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="homogeneous">True</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
               <object class="sfxlo-SidebarToolBox" id="position">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
@@ -315,7 +340,7 @@
                 <property name="expand">False</property>
                 <property name="fill">True</property>
                 <property name="pack_type">end</property>
-                <property name="position">2</property>
+                <property name="position">3</property>
               </packing>
             </child>
             <child>
@@ -341,7 +366,7 @@
                 <property name="expand">False</property>
                 <property name="fill">True</property>
                 <property name="pack_type">end</property>
-                <property name="position">3</property>
+                <property name="position">4</property>
               </packing>
             </child>
           </object>


More information about the Libreoffice-commits mailing list