cui/source/dialogs/sdrcelldlg.cxx | 7 +++++ cui/source/inc/sdrcelldlg.hxx | 2 + cui/uiconfig/ui/formatcellsdialog.ui | 48 +++++++++++++++++++++++++++++++++++ svx/source/table/tablecontroller.cxx | 12 ++++++++ 4 files changed, 69 insertions(+)
New commits: commit 74ba28fe238b7f15d1fb7d119e4cef3a7b544e0b Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Mon Dec 14 12:15:09 2020 +0100 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Mon Dec 14 13:02:19 2020 +0100 tdf#129961 cui: start UI for table shadow as direct format It reads from the doc model and shows it, but doesn't write it back yet. Change-Id: I6611229e71d0a49f09576ca452b901958c33db58 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107682 Reviewed-by: Miklos Vajna <vmik...@collabora.com> Tested-by: Jenkins diff --git a/cui/source/dialogs/sdrcelldlg.cxx b/cui/source/dialogs/sdrcelldlg.cxx index 3c745692f7ea..fda8b4ce1385 100644 --- a/cui/source/dialogs/sdrcelldlg.cxx +++ b/cui/source/dialogs/sdrcelldlg.cxx @@ -27,6 +27,7 @@ SvxFormatCellsDialog::SvxFormatCellsDialog(weld::Window* pParent, const SfxItemS : SfxTabDialogController(pParent, "cui/ui/formatcellsdialog.ui", "FormatCellsDialog", pAttr) , mrOutAttrs(*pAttr) , mpColorTab(rModel.GetColorList()) + , mnColorTabState ( ChangeType::NONE ) , mpGradientList(rModel.GetGradientList()) , mpHatchingList(rModel.GetHatchList()) , mpBitmapList(rModel.GetBitmapList()) @@ -36,6 +37,7 @@ SvxFormatCellsDialog::SvxFormatCellsDialog(weld::Window* pParent, const SfxItemS AddTabPage("effects", RID_SVXPAGE_CHAR_EFFECTS); AddTabPage("border", RID_SVXPAGE_BORDER ); AddTabPage("area", RID_SVXPAGE_AREA); + AddTabPage("shadow", SvxShadowTabPage::Create, nullptr); } void SvxFormatCellsDialog::PageCreated(const OString& rId, SfxTabPage &rPage) @@ -55,6 +57,11 @@ void SvxFormatCellsDialog::PageCreated(const OString& rId, SfxTabPage &rPage) SvxBorderTabPage& rBorderPage = static_cast<SvxBorderTabPage&>(rPage); rBorderPage.SetTableMode(); } + else if (rId == "shadow") + { + static_cast<SvxShadowTabPage&>(rPage).SetColorList( mpColorTab ); + static_cast<SvxShadowTabPage&>(rPage).SetColorChgd( &mnColorTabState ); + } else SfxTabDialogController::PageCreated(rId, rPage); } diff --git a/cui/source/inc/sdrcelldlg.hxx b/cui/source/inc/sdrcelldlg.hxx index a9f6183bd1d1..5b7e9ca71a20 100644 --- a/cui/source/inc/sdrcelldlg.hxx +++ b/cui/source/inc/sdrcelldlg.hxx @@ -22,6 +22,7 @@ #include <sfx2/tabdlg.hxx> #include <svx/xtable.hxx> +#include <svx/tabarea.hxx> class SdrModel; class SvxFormatCellsDialog : public SfxTabDialogController @@ -30,6 +31,7 @@ private: const SfxItemSet& mrOutAttrs; XColorListRef mpColorTab; + ChangeType mnColorTabState; XGradientListRef mpGradientList; XHatchListRef mpHatchingList; XBitmapListRef mpBitmapList; diff --git a/cui/uiconfig/ui/formatcellsdialog.ui b/cui/uiconfig/ui/formatcellsdialog.ui index 32c9b0558c4e..3ac39e087551 100644 --- a/cui/uiconfig/ui/formatcellsdialog.ui +++ b/cui/uiconfig/ui/formatcellsdialog.ui @@ -285,6 +285,54 @@ <property name="tab_fill">False</property> </packing> </child> + <child> + <!-- n-columns=1 n-rows=1 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="position">4</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="shadow"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="formatcellsdialog|shadow">Shadow</property> + </object> + <packing> + <property name="position">5</property> + <property name="tab_fill">False</property> + </packing> + </child> </object> <packing> <property name="expand">False</property> diff --git a/svx/source/table/tablecontroller.cxx b/svx/source/table/tablecontroller.cxx index ee40835ec5d8..1dce1dab81ec 100644 --- a/svx/source/table/tablecontroller.cxx +++ b/svx/source/table/tablecontroller.cxx @@ -925,6 +925,18 @@ void SvxTableController::onFormatTable(const SfxRequest& rReq) aNewAttr.Put( aBoxItem ); aNewAttr.Put( aBoxInfoItem ); + // Fill in shadow properties. + const SfxItemSet& rTableItemSet = rTableObj.GetMergedItemSet(); + for (sal_uInt16 nWhich = SDRATTR_SHADOW_FIRST; nWhich <= SDRATTR_SHADOW_LAST; ++nWhich) + { + if (rTableItemSet.GetItemState(nWhich, false) != SfxItemState::SET) + { + continue; + } + + aNewAttr.Put(rTableItemSet.Get(nWhich)); + } + SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); VclPtr<SfxAbstractTabDialog> xDlg( pFact->CreateSvxFormatCellsDialog( rReq.GetFrameWeld(), _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits