chart2/uiconfig/ui/sidebarelements.ui | 41 ++++++++++--------- desktop/qa/data/2slides.odp |binary editeng/source/editeng/impedit.cxx | 41 ++++++++++++++++--- include/sfx2/childwin.hxx | 6 +- sc/source/ui/app/scdll.cxx | 5 +- sc/source/ui/inc/viewdata.hxx | 5 ++ sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx | 1 sc/source/ui/unoobj/docuno.cxx | 3 + sc/source/ui/view/tabvwsh2.cxx | 8 +++ sd/source/ui/app/sddll.cxx | 5 +- sd/source/ui/sidebar/SlideBackground.cxx | 34 ++++++++++------ sd/source/ui/sidebar/SlideBackground.hxx | 3 - sd/uiconfig/simpress/ui/sidebarslidebackground.ui | 14 ++++++ sfx2/source/appl/workwin.cxx | 3 + sw/source/core/crsr/viscrs.cxx | 44 ++++++++++++++++++--- sw/source/uibase/app/swmodule.cxx | 5 +- 16 files changed, 165 insertions(+), 53 deletions(-)
New commits: commit 70e50a9a5ceaa2e758dacde55daa918f4b390b04 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> AuthorDate: Sat Jul 27 23:35:13 2019 -0400 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Sat May 23 15:19:51 2020 +0100 LOK: spelldialog: don't create the dialog when loading new views By default dialogs/decks are re-created when a new view is created/attached, if they are visible. For the spell checker this is unexpected, as the user doesn't expect to be doing spell checking upon loading a document, just because another user was at the time spell checking. Currently the suppression is for LOK only. This also adds support to suppress the recreation of any dialog by flagging it with the SfxChildWindowFlags::NEVERCLONE flag upon invoking RegisterChildWindow. (cherry picked from commit e3fb48fe4f84b5609730c64fdb49b1bd7ddd1f96) Reviewed-on: https://gerrit.libreoffice.org/85004 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Michael Meeks <michael.me...@collabora.com> (cherry picked from commit e573919cd8561a81d967c1a4566c5733dd44b7b1) Change-Id: I7d71c664f1b2804910c96eeb0431164d48b5679b Reviewed-on: https://gerrit.libreoffice.org/85680 Tested-by: Jenkins Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/desktop/qa/data/2slides.odp b/desktop/qa/data/2slides.odp index 8be376f5b548..0e3f8758ffc9 100644 Binary files a/desktop/qa/data/2slides.odp and b/desktop/qa/data/2slides.odp differ diff --git a/include/sfx2/childwin.hxx b/include/sfx2/childwin.hxx index f5e64fdfedf3..65b5caa8be25 100644 --- a/include/sfx2/childwin.hxx +++ b/include/sfx2/childwin.hxx @@ -47,13 +47,13 @@ enum class SfxChildWindowFlags TASK = 0x10, // ChildWindow inside the Task CANTGETFOCUS = 0x20, // ChildWindow can not get focus ALWAYSAVAILABLE = 0x40, // ChildWindow is never disabled - NEVERHIDE = 0x80 // ChildWindow is can always made - // visible/is visible + NEVERHIDE = 0x80, // ChildWindow is always visible + NEVERCLONE = 0x100, // ChildWindow is not recreated in new view }; namespace o3tl { - template<> struct typed_flags<SfxChildWindowFlags> : is_typed_flags<SfxChildWindowFlags, 0xf5> {}; + template<> struct typed_flags<SfxChildWindowFlags> : is_typed_flags<SfxChildWindowFlags, 0x1f5> {}; } diff --git a/sc/source/ui/app/scdll.cxx b/sc/source/ui/app/scdll.cxx index 59faba24ece2..45129b81b089 100644 --- a/sc/source/ui/app/scdll.cxx +++ b/sc/source/ui/app/scdll.cxx @@ -22,6 +22,7 @@ #include <svx/fmobjfac.hxx> #include <svx/objfac3d.hxx> +#include <comphelper/lok.hxx> #include <sfx2/sidebar/SidebarChildWindow.hxx> #include <sfx2/app.hxx> #include <avmedia/mediatoolbox.hxx> @@ -238,7 +239,9 @@ void ScDLL::Init() SvxHlinkDlgWrapper ::RegisterChildWindow(false, pMod); SvxFontWorkChildWindow ::RegisterChildWindow(false, pMod); SvxIMapDlgChildWindow ::RegisterChildWindow(false, pMod); - ScSpellDialogChildWindow ::RegisterChildWindow(false, pMod); + ScSpellDialogChildWindow::RegisterChildWindow( + false, pMod, comphelper::LibreOfficeKit::isActive() ? SfxChildWindowFlags::NEVERCLONE + : SfxChildWindowFlags::NONE); ScValidityRefChildWin::RegisterChildWindow(false, pMod); sc::SearchResultsDlgWrapper::RegisterChildWindow(false, pMod); diff --git a/sd/source/ui/app/sddll.cxx b/sd/source/ui/app/sddll.cxx index 8098c5d6c31c..55d306e53925 100644 --- a/sd/source/ui/app/sddll.cxx +++ b/sd/source/ui/app/sddll.cxx @@ -84,6 +84,7 @@ #include <sfx2/emojipopup.hxx> #include <sfx2/charmappopup.hxx> #include <sfx2/sidebar/SidebarChildWindow.hxx> +#include <comphelper/lok.hxx> #include <sdabstdlg.hxx> #include <sdfilter.hxx> #include <sdmod.hxx> @@ -165,7 +166,9 @@ void SdDLL::RegisterControllers(SdModule* pMod) SvxBmpMaskChildWindow::RegisterChildWindow(false, pMod); SvxIMapDlgChildWindow::RegisterChildWindow(false, pMod); SvxHlinkDlgWrapper::RegisterChildWindow(false, pMod); - ::sd::SpellDialogChildWindow::RegisterChildWindow(false, pMod); + ::sd::SpellDialogChildWindow::RegisterChildWindow( + false, pMod, comphelper::LibreOfficeKit::isActive() ? SfxChildWindowFlags::NEVERCLONE + : SfxChildWindowFlags::NONE); #if HAVE_FEATURE_AVMEDIA ::avmedia::MediaPlayer::RegisterChildWindow(false, pMod); #endif diff --git a/sfx2/source/appl/workwin.cxx b/sfx2/source/appl/workwin.cxx index 413f26890290..d148ec648b1d 100644 --- a/sfx2/source/appl/workwin.cxx +++ b/sfx2/source/appl/workwin.cxx @@ -1288,6 +1288,9 @@ void SfxWorkWindow::UpdateChildWindows_Impl() else bCreate = true; + if (pCW->aInfo.nFlags & SfxChildWindowFlags::NEVERCLONE) + pCW->bCreate = bCreate = false; // Don't create and remember that we haven't created. + // Currently, no window here, but it is enabled; windows // Create window and if possible theContext if ( bCreate ) diff --git a/sw/source/uibase/app/swmodule.cxx b/sw/source/uibase/app/swmodule.cxx index 0ec62470c232..8da92e722fb5 100644 --- a/sw/source/uibase/app/swmodule.cxx +++ b/sw/source/uibase/app/swmodule.cxx @@ -59,6 +59,7 @@ #include <com/sun/star/scanner/ScannerManager.hpp> #include <com/sun/star/linguistic2/LanguageGuessing.hpp> #include <ooo/vba/XSinkCaller.hpp> +#include <comphelper/lok.hxx> #include <comphelper/processfactory.hxx> #include <docsh.hxx> #include <swmodule.hxx> @@ -347,7 +348,9 @@ void SwDLL::RegisterControls() SwInsertAuthMarkWrapper::RegisterChildWindow( false, pMod ); SwWordCountWrapper::RegisterChildWindow( false, pMod ); SvxRubyChildWindow::RegisterChildWindow( false, pMod); - SwSpellDialogChildWindow::RegisterChildWindow(false, pMod); + SwSpellDialogChildWindow::RegisterChildWindow( + false, pMod, comphelper::LibreOfficeKit::isActive() ? SfxChildWindowFlags::NEVERCLONE + : SfxChildWindowFlags::NONE); CharmapPopup::RegisterControl(SID_CHARMAP_CONTROL, pMod ); commit 2805d181bcbcdb8eedbe9a7997da63e59330a7de Author: Muhammet Kara <muhammet.k...@collabora.com> AuthorDate: Wed Dec 18 02:11:23 2019 +0300 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Sat May 23 15:18:59 2020 +0100 lok: Resolves: Writer - selecting a hyperlink doesn't show link in dialog Repro: Select text in Online, and Ctrl + K to open Hyperlink dialog, then assign a hyperlink and close with Ok. Without removing/changing the selection, re-open the hyperlink dialog again by Ctrl + K. You see that the hyperlink is not recognized. Why? The dialog relies on the hyperlinkUnderCursor property which is set by the SfxLokHelper::notifyVisCursorInvalidation() method, which also relies on the current char cursor is on. So when you select a hyperlinked text from left to right (in English), the final position of the cursor is outside the hyperlinked text, thus the hyperlinkUnderCursor property is unset. Solution Check for presence of selection and hyperlink via SfxItemPool and proceed accordingly Change-Id: I3a7f18c8199cec243ac99f011d9aaee7c7c575b8 Reviewed-on: https://gerrit.libreoffice.org/85348 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Muhammet Kara <muhammet.k...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89704 Tested-by: Jenkins diff --git a/sw/source/core/crsr/viscrs.cxx b/sw/source/core/crsr/viscrs.cxx index d759598abff3..7c59a4aa7b98 100644 --- a/sw/source/core/crsr/viscrs.cxx +++ b/sw/source/core/crsr/viscrs.cxx @@ -54,6 +54,7 @@ #include <paintfrm.hxx> #include <PostItMgr.hxx> #include <SwGrammarMarkUp.hxx> +#include <docsh.hxx> #include <cellfrm.hxx> #include <wrtsh.hxx> @@ -108,6 +109,23 @@ void SwVisibleCursor::Hide() } } +namespace +{ + +// Build JSON message to be sent to Online +OString buildHyperlinkJSON(const OUString& sText, const OUString& sLink) +{ + boost::property_tree::ptree aTree; + aTree.put("text", sText); + aTree.put("link", sLink); + std::stringstream aStream; + boost::property_tree::write_json(aStream, aTree, false); + + return OString(aStream.str().c_str()).trim(); +} + +} + void SwVisibleCursor::SetPosAndShow(SfxViewShell const * pViewShell) { SwRect aRect; @@ -241,15 +259,29 @@ void SwVisibleCursor::SetPosAndShow(SfxViewShell const * pViewShell) OString sHyperlink; SwContentAtPos aContentAtPos(IsAttrAtPos::InetAttr); + bool bIsSelection = m_pCursorShell->IsSelection(); + if (const_cast<SwCursorShell*>(m_pCursorShell)->GetContentAtPos(aRect.Pos(), aContentAtPos)) { const SwFormatINetFormat* pItem = static_cast<const SwFormatINetFormat*>(aContentAtPos.aFnd.pAttr); - boost::property_tree::ptree aTree; - aTree.put("text", aContentAtPos.sStr); - aTree.put("link", pItem->GetValue()); - std::stringstream aStream; - boost::property_tree::write_json(aStream, aTree, false); - sHyperlink = OString(aStream.str().c_str()).trim(); + sHyperlink = buildHyperlinkJSON(aContentAtPos.sStr, pItem->GetValue()); + } + else if (bIsSelection) + { + SwWrtShell* pShell = m_pCursorShell->GetDoc()->GetDocShell()->GetWrtShell(); + + if (pShell) + { + SfxItemSet aSet(m_pCursorShell->GetSfxViewShell()->GetPool(), + svl::Items<RES_TXTATR_INETFMT, + RES_TXTATR_INETFMT>{}); + pShell->GetCurAttr(aSet); + if(SfxItemState::SET <= aSet.GetItemState( RES_TXTATR_INETFMT )) + { + sHyperlink = buildHyperlinkJSON(m_pCursorShell->GetSelText(), + aSet.GetItem(RES_TXTATR_INETFMT)->GetValue()); + } + } } if (pViewShell) commit d886d6bfc14aaff91325956f241c166d40cb2640 Author: Muhammet Kara <muhammet.k...@collabora.com> AuthorDate: Thu Dec 19 08:32:57 2019 +0300 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Sat May 23 15:15:41 2020 +0100 lok: Resolves: Calc - selecting a hyperlink doesn't show link in dialog Change-Id: Ic4264fad8035029ba6593c91fa57efa772d394ca Reviewed-on: https://gerrit.libreoffice.org/85468 Reviewed-by: Michael Meeks <michael.me...@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89705 Tested-by: Jenkins Reviewed-by: Muhammet Kara <muhammet.k...@collabora.com> diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx index e7e1c661fef1..7a2a3e412301 100644 --- a/editeng/source/editeng/impedit.cxx +++ b/editeng/source/editeng/impedit.cxx @@ -897,6 +897,23 @@ void ImpEditView::CalcAnchorPoint() } } +namespace +{ + +// Build JSON message to be sent to Online +OString buildHyperlinkJSON(const OUString& sText, const OUString& sLink) +{ + boost::property_tree::ptree aTree; + aTree.put("text", sText); + aTree.put("link", sLink); + std::stringstream aStream; + boost::property_tree::write_json(aStream, aTree, false); + + return OString(aStream.str().c_str()).trim(); +} + +} // End of anon namespace + void ImpEditView::ShowCursor( bool bGotoCursor, bool bForceVisCursor ) { // No ShowCursor in an empty View ... @@ -1139,12 +1156,24 @@ void ImpEditView::ShowCursor( bool bGotoCursor, bool bForceVisCursor ) { if (auto pUrlField = dynamic_cast<const SvxURLField*>(pFld->GetField())) { - boost::property_tree::ptree aTree; - aTree.put("text", pUrlField->GetRepresentation()); - aTree.put("link", pUrlField->GetURL()); - std::stringstream aStream; - boost::property_tree::write_json(aStream, aTree, false); - sHyperlink = OString(aStream.str().c_str()).trim(); + sHyperlink = buildHyperlinkJSON(pUrlField->GetRepresentation(), pUrlField->GetURL()); + } + } + else if (GetEditSelection().HasRange()) + { + EditView* pActiveView = GetEditViewPtr(); + + if (pActiveView) + { + const SvxFieldItem* pFieldItem = pActiveView->GetFieldAtSelection(); + if (pFieldItem) + { + const SvxFieldData* pField = pFieldItem->GetField(); + if ( auto pUrlField = dynamic_cast<const SvxURLField*>( pField) ) + { + sHyperlink = buildHyperlinkJSON(pUrlField->GetRepresentation(), pUrlField->GetURL()); + } + } } } commit d6d7c7f7c0b28b29f6b3096162386c317c88fee2 Author: Muhammet Kara <muhammet.k...@collabora.com> AuthorDate: Wed Feb 12 05:39:07 2020 +0300 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Sat May 23 15:14:59 2020 +0100 Store and retrieve client visible area on ScViewData So that core will be aware of the visible area on the client side, and act accordingly when needed. Change-Id: Ieca9b23deb36f3e713704304672dd7037154e904 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88487 Reviewed-by: Muhammet Kara <muhammet.k...@collabora.com> Reviewed-by: Andras Timar <andras.ti...@collabora.com> Tested-by: Jenkins diff --git a/sc/source/ui/inc/viewdata.hxx b/sc/source/ui/inc/viewdata.hxx index 162ff01492ea..1dc31b11fe71 100644 --- a/sc/source/ui/inc/viewdata.hxx +++ b/sc/source/ui/inc/viewdata.hxx @@ -333,6 +333,7 @@ private: bool bGrowing; long m_nLOKPageUpDownOffset; + tools::Rectangle maLOKVisibleArea;///< The visible area in the LibreOfficeKit client. DECL_DLLPRIVATE_LINK( EditEngineHdl, EditStatus&, void ); @@ -554,6 +555,10 @@ public: void ForcePageUpDownOffset(long nTwips) { m_nLOKPageUpDownOffset = nTwips; } long GetPageUpDownOffset() const { return m_nLOKPageUpDownOffset; } + /// The visible area in the client (set by setClientVisibleArea). + const tools::Rectangle& getLOKVisibleArea() const { return maLOKVisibleArea; } + void setLOKVisibleArea(const tools::Rectangle& rArea) { maLOKVisibleArea = rArea; } + void KillEditView(); void ResetEditView(); void SetEditEngine( ScSplitPos eWhich, diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx index 6113506648e8..84d5ba33155b 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -954,6 +954,9 @@ void ScModelObj::setClientVisibleArea(const tools::Rectangle& rRectangle) // set the PgUp/PgDown offset pViewData->ForcePageUpDownOffset(rRectangle.GetHeight()); + + // Store the visible area so that we can use at places like shape insertion + pViewData->setLOKVisibleArea(rRectangle); } void ScModelObj::setOutlineState(bool bColumn, int nLevel, int nIndex, bool bHidden) commit c7b360c703a17316f1610590701bef5bdda1c6d9 Author: Muhammet Kara <muhammet.k...@collabora.com> AuthorDate: Wed Feb 12 05:49:11 2020 +0300 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Sat May 23 15:10:44 2020 +0100 lok: Center shape on insert also for Desktop view Change-Id: I85c3fe3d0166eb42f46f2aa65d0319e582b851af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88489 Reviewed-by: Muhammet Kara <muhammet.k...@collabora.com> Reviewed-by: Andras Timar <andras.ti...@collabora.com> Tested-by: Jenkins diff --git a/sc/source/ui/view/tabvwsh2.cxx b/sc/source/ui/view/tabvwsh2.cxx index cb00bb3ce66d..cee19352fdd8 100644 --- a/sc/source/ui/view/tabvwsh2.cxx +++ b/sc/source/ui/view/tabvwsh2.cxx @@ -19,7 +19,6 @@ #include <comphelper/lok.hxx> #include <sfx2/bindings.hxx> -#include <sfx2/lokhelper.hxx> #include <sfx2/viewfrm.hxx> #include <svl/whiter.hxx> #include <unotools/moduleoptions.hxx> @@ -321,7 +320,6 @@ void ScTabViewShell::ExecDraw(SfxRequest& rReq) // calc position and size bool bLOKIsActive = comphelper::LibreOfficeKit::isActive(); - bool bIsMobile = comphelper::LibreOfficeKit::isMobile(SfxLokHelper::getView()); Point aInsertPos; if(!bLOKIsActive) { @@ -330,7 +328,7 @@ void ScTabViewShell::ExecDraw(SfxRequest& rReq) aInsertPos.AdjustX( -sal_Int32(nDefaultObjectSizeWidth / 2) ); aInsertPos.AdjustY( -sal_Int32(nDefaultObjectSizeHeight / 2) ); } - else if (bIsMobile) + else { aInsertPos = GetViewData().getLOKVisibleArea().Center(); @@ -340,10 +338,6 @@ void ScTabViewShell::ExecDraw(SfxRequest& rReq) aInsertPos.AdjustX( -sal_Int32(nDefaultObjectSizeWidth / 2) ); aInsertPos.AdjustY( -sal_Int32(nDefaultObjectSizeHeight / 2) ); } - else - { - aInsertPos = GetInsertPos(); - } tools::Rectangle aNewObjectRectangle(aInsertPos, Size(nDefaultObjectSizeWidth, nDefaultObjectSizeHeight)); commit c28b2edf38a4288bbb005708801deeba57166fc4 Author: Muhammet Kara <muhammet.k...@collabora.com> AuthorDate: Wed Feb 12 05:42:11 2020 +0300 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Sat May 23 15:10:25 2020 +0100 mobile: Center inserted shapes on visible area Change-Id: I366ef5d01ee3afb072b1f67d24015c889a41f4b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88488 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.ti...@collabora.com> diff --git a/sc/source/ui/view/tabvwsh2.cxx b/sc/source/ui/view/tabvwsh2.cxx index cae192630ab9..cb00bb3ce66d 100644 --- a/sc/source/ui/view/tabvwsh2.cxx +++ b/sc/source/ui/view/tabvwsh2.cxx @@ -19,6 +19,7 @@ #include <comphelper/lok.hxx> #include <sfx2/bindings.hxx> +#include <sfx2/lokhelper.hxx> #include <sfx2/viewfrm.hxx> #include <svl/whiter.hxx> #include <unotools/moduleoptions.hxx> @@ -320,6 +321,7 @@ void ScTabViewShell::ExecDraw(SfxRequest& rReq) // calc position and size bool bLOKIsActive = comphelper::LibreOfficeKit::isActive(); + bool bIsMobile = comphelper::LibreOfficeKit::isMobile(SfxLokHelper::getView()); Point aInsertPos; if(!bLOKIsActive) { @@ -328,6 +330,16 @@ void ScTabViewShell::ExecDraw(SfxRequest& rReq) aInsertPos.AdjustX( -sal_Int32(nDefaultObjectSizeWidth / 2) ); aInsertPos.AdjustY( -sal_Int32(nDefaultObjectSizeHeight / 2) ); } + else if (bIsMobile) + { + aInsertPos = GetViewData().getLOKVisibleArea().Center(); + + aInsertPos.setX(sc::TwipsToHMM(aInsertPos.X())); + aInsertPos.setY(sc::TwipsToHMM(aInsertPos.Y())); + + aInsertPos.AdjustX( -sal_Int32(nDefaultObjectSizeWidth / 2) ); + aInsertPos.AdjustY( -sal_Int32(nDefaultObjectSizeHeight / 2) ); + } else { aInsertPos = GetInsertPos(); commit 005208e01047c14d97fe78325ac14e19db5b665a Author: Muhammet Kara <muhammet.k...@collabora.com> AuthorDate: Wed Mar 18 18:27:55 2020 +0300 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Sat May 23 15:09:39 2020 +0100 Give the legend checkbox a label So that we don't see a nameless checkbox on Online mobile Change-Id: I95e8910e96335a03ebad6dd46255a902df2c47a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90707 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Muhammet Kara <muhammet.k...@collabora.com> diff --git a/chart2/uiconfig/ui/sidebarelements.ui b/chart2/uiconfig/ui/sidebarelements.ui index c4ec4cd49e2d..9db51b35a5d7 100644 --- a/chart2/uiconfig/ui/sidebarelements.ui +++ b/chart2/uiconfig/ui/sidebarelements.ui @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.18.3 --> +<!-- Generated with glade 3.22.1 --> <interface domain="chart"> <requires lib="gtk+" version="3.18"/> <object class="GtkGrid" id="ChartElementsPanel"> @@ -9,9 +9,9 @@ <object class="GtkBox" id="container"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="border_width">6</property> <property name="orientation">vertical</property> <property name="spacing">6</property> - <property name="border_width">6</property> <child> <object class="GtkFrame" id="frame1"> <property name="visible">True</property> @@ -97,22 +97,6 @@ <object class="GtkGrid" id="grid5"> <property name="visible">True</property> <property name="can_focus">False</property> - <child> - <object class="GtkCheckButton" id="checkbutton_legend"> - <property name="tooltip_text" translatable="yes" context="sidebarelements|checkbutton_legend|tooltip_text">Show Legend</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_underline">True</property> - <property name="xalign">0</property> - <property name="draw_indicator">True</property> - <property name="margin_right">5</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> <child> <object class="GtkBox" id="box_legend"> <property name="visible">True</property> @@ -123,6 +107,7 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="halign">end</property> + <property name="margin_left">4</property> <property name="label" translatable="yes" context="sidebarelements|placement_label">_Placement:</property> <property name="use_underline">True</property> <property name="ellipsize">end</property> @@ -149,12 +134,28 @@ <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="position">3</property> + <property name="position">1</property> </packing> </child> </object> <packing> - <property name="left_attach">1</property> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton_legend"> + <property name="label" translatable="yes" context="sidebarelements|checkbutton_legend">Show legend</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes" context="sidebarelements|checkbutton_legend|tooltip_text">Show Legend</property> + <property name="use_underline">True</property> + <property name="xalign">0</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="left_attach">0</property> <property name="top_attach">0</property> </packing> </child> commit bb0af9cfa2aa8b2d1fc675130c7353b90585b5f4 Author: Mert Tumer <mert.tu...@collabora.com> AuthorDate: Tue Apr 14 18:15:59 2020 +0300 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Sat May 23 15:06:27 2020 +0100 Added unique id for number format combobox This will allow us to control it for the mobilewizard easily rather than using the id of 'category' which is not unique. Change-Id: I61b612d5355584597a16942b7151a82376033a45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92202 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Andras Timar <andras.ti...@collabora.com> diff --git a/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx b/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx index 7d8a8401ac84..f89072bf7cae 100644 --- a/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx +++ b/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx @@ -91,6 +91,7 @@ void NumberFormatPropertyPanel::Initialize() mpLbCategory->SetSelectHdl ( LINK(this, NumberFormatPropertyPanel, NumFormatSelectHdl) ); mpLbCategory->SelectEntryPos(0); mpLbCategory->SetDropDownLineCount(mpLbCategory->GetEntryCount()); + mpLbCategory->set_id("numberformatcombobox"); Link<Edit&,void> aLink = LINK(this, NumberFormatPropertyPanel, NumFormatValueHdl); commit 38faf776b4414fc6ab5340f3514a8d0444da5cb3 Author: Pranam Lashkari <lpra...@collabora.com> AuthorDate: Thu Apr 23 12:54:23 2020 +0530 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Sat May 23 15:05:08 2020 +0100 Added separate color picker for slide background gradient Change-Id: I27b60244f011cb482affa5f47cde170daf3fc309 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92741 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> diff --git a/sd/source/ui/sidebar/SlideBackground.cxx b/sd/source/ui/sidebar/SlideBackground.cxx index acb1e513ff08..453421e3c45d 100644 --- a/sd/source/ui/sidebar/SlideBackground.cxx +++ b/sd/source/ui/sidebar/SlideBackground.cxx @@ -134,7 +134,8 @@ SlideBackground::SlideBackground( mpMasterSlide->set_width_request(0); get(mpBackgroundLabel, "label3"); get(mpFillAttr, "fillattr1"); - get(mpFillGrad, "fillattr2"); + get(mpFillGrad1, "fillattr2"); + get(mpFillGrad2, "fillattr3"); get(mpFillStyle, "fillstyle"); get(mpFillLB, "fillattr"); get(mpInsertImage, "button2"); @@ -225,7 +226,8 @@ void SlideBackground::Initialize() mpFillStyle->SetSelectHdl(LINK(this, SlideBackground, FillStyleModifyHdl)); mpFillLB->SetSelectHdl(LINK(this, SlideBackground, FillColorHdl)); - mpFillGrad->SetSelectHdl(LINK(this, SlideBackground, FillColorHdl)); + mpFillGrad1->SetSelectHdl(LINK(this, SlideBackground, FillColorHdl)); + mpFillGrad2->SetSelectHdl(LINK(this, SlideBackground, FillColorHdl)); mpFillAttr->SetSelectHdl(LINK(this, SlideBackground, FillBackgroundHdl)); ViewShell* pMainViewShell = mrBase.GetMainViewShell().get(); @@ -366,13 +368,15 @@ void SlideBackground::Update() { mpFillLB->Hide(); mpFillAttr->Hide(); - mpFillGrad->Hide(); + mpFillGrad1->Hide(); + mpFillGrad2->Hide(); } break; case SOLID: { mpFillAttr->Hide(); - mpFillGrad->Hide(); + mpFillGrad1->Hide(); + mpFillGrad2->Hide(); mpFillLB->Show(); const Color aColor = GetColorSetOrDefault(); mpFillLB->SelectEntry(aColor); @@ -380,15 +384,16 @@ void SlideBackground::Update() break; case GRADIENT: { - mpFillLB->Show(); + mpFillLB->Hide(); mpFillAttr->Hide(); - mpFillGrad->Show(); + mpFillGrad1->Show(); + mpFillGrad2->Show(); const XGradient xGradient = GetGradientSetOrDefault(); const Color aStartColor = xGradient.GetStartColor(); - mpFillLB->SelectEntry(aStartColor); + mpFillGrad1->SelectEntry(aStartColor); const Color aEndColor = xGradient.GetEndColor(); - mpFillGrad->SelectEntry(aEndColor); + mpFillGrad2->SelectEntry(aEndColor); } break; @@ -398,7 +403,8 @@ void SlideBackground::Update() mpFillAttr->Show(); mpFillAttr->Clear(); mpFillAttr->Fill(pSh->GetItem(SID_HATCH_LIST)->GetHatchList()); - mpFillGrad->Hide(); + mpFillGrad1->Hide(); + mpFillGrad2->Hide(); const OUString aHatchName = GetHatchingSetOrDefault(); mpFillAttr->SelectEntry( aHatchName ); @@ -411,7 +417,8 @@ void SlideBackground::Update() mpFillLB->Hide(); mpFillAttr->Show(); mpFillAttr->Clear(); - mpFillGrad->Hide(); + mpFillGrad1->Hide(); + mpFillGrad2->Hide(); OUString aName; if(nPos == BITMAP) { @@ -661,7 +668,8 @@ void SlideBackground::dispose() mpMasterSlide.clear(); mpBackgroundLabel.clear(); mpFillAttr.clear(); - mpFillGrad.clear(); + mpFillGrad1.clear(); + mpFillGrad2.clear(); mpFillStyle.clear(); mpFillLB.clear(); mpInsertImage.clear(); @@ -1076,8 +1084,8 @@ IMPL_LINK_NOARG(SlideBackground, FillColorHdl, SvxColorListBox&, void) case drawing::FillStyle_GRADIENT: { XGradient aGradient; - aGradient.SetStartColor(mpFillLB->GetSelectEntryColor()); - aGradient.SetEndColor(mpFillGrad->GetSelectEntryColor()); + aGradient.SetStartColor(mpFillGrad1->GetSelectEntryColor()); + aGradient.SetEndColor(mpFillGrad2->GetSelectEntryColor()); // the name doesn't really matter, it'll be converted to unique one eventually, // but it has to be non-empty diff --git a/sd/source/ui/sidebar/SlideBackground.hxx b/sd/source/ui/sidebar/SlideBackground.hxx index 41963834b53c..76e6cf33f2b1 100644 --- a/sd/source/ui/sidebar/SlideBackground.hxx +++ b/sd/source/ui/sidebar/SlideBackground.hxx @@ -90,7 +90,8 @@ private: VclPtr<SvxFillTypeBox> mpFillStyle; VclPtr<SvxColorListBox> mpFillLB; VclPtr<SvxFillAttrBox> mpFillAttr; - VclPtr<SvxColorListBox> mpFillGrad; + VclPtr<SvxColorListBox> mpFillGrad1; + VclPtr<SvxColorListBox> mpFillGrad2; VclPtr<Button> mpInsertImage; VclPtr<CheckBox> mpDspMasterBackground; VclPtr<CheckBox> mpDspMasterObjects; diff --git a/sd/uiconfig/simpress/ui/sidebarslidebackground.ui b/sd/uiconfig/simpress/ui/sidebarslidebackground.ui index 256f06935ee4..2c4e4202a6e6 100644 --- a/sd/uiconfig/simpress/ui/sidebarslidebackground.ui +++ b/sd/uiconfig/simpress/ui/sidebarslidebackground.ui @@ -155,6 +155,20 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="hexpand">True</property> + <property name="has_tooltip">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="svxcorelo-SvxColorListBox" id="fillattr3"> + <property name="width_request">150</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="has_tooltip">True</property> </object> <packing> <property name="left_attach">1</property> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits