dbaccess/source/ui/app/AppIconControl.cxx | 34 ++++++++++++++++++++++++++++++ dbaccess/source/ui/app/AppIconControl.hxx | 3 ++ 2 files changed, 37 insertions(+)
New commits: commit 3def184dc176ff7f8f794e510ce4c6e98352140d Author: Caolán McNamara <[email protected]> AuthorDate: Wed Aug 26 14:03:44 2020 +0100 Commit: Caolán McNamara <[email protected]> CommitDate: Wed Aug 26 21:56:47 2020 +0200 add focus rect to icon control Change-Id: I080dfb40db20626f99f93beab1baf2102d6695ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101412 Tested-by: Jenkins Reviewed-by: Caolán McNamara <[email protected]> diff --git a/dbaccess/source/ui/app/AppIconControl.cxx b/dbaccess/source/ui/app/AppIconControl.cxx index 84edc6a27f15..ba9c4a0e6ef5 100644 --- a/dbaccess/source/ui/app/AppIconControl.cxx +++ b/dbaccess/source/ui/app/AppIconControl.cxx @@ -201,6 +201,40 @@ OApplicationIconControl::~OApplicationIconControl() { } +void OApplicationIconControl::GetFocus() +{ + SfxThumbnailView::GetFocus(); + Invalidate(); // redraw focus rect +} + +void OApplicationIconControl::LoseFocus() +{ + SfxThumbnailView::LoseFocus(); + Invalidate(); // redraw focus rect +} + +tools::Rectangle OApplicationIconControl::GetFocusRect() +{ + if (HasFocus()) + { + // Get the last selected item in the list + for (long i = mFilteredItemList.size() - 1; i >= 0; --i) + { + ThumbnailViewItem* pItem = mFilteredItemList[i]; + if (pItem->isSelected()) + { + tools::Rectangle aRet(pItem->getDrawArea()); + aRet.AdjustLeft(THUMBNAILVIEW_ITEM_CORNER); + aRet.AdjustTop(1); + aRet.AdjustRight(-THUMBNAILVIEW_ITEM_CORNER); + aRet.AdjustBottom(-2); + return aRet; + } + } + } + return tools::Rectangle(); +} + } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/dbaccess/source/ui/app/AppIconControl.hxx b/dbaccess/source/ui/app/AppIconControl.hxx index 7b29018c377b..e3b20b5ab8a9 100644 --- a/dbaccess/source/ui/app/AppIconControl.hxx +++ b/dbaccess/source/ui/app/AppIconControl.hxx @@ -48,6 +48,9 @@ namespace dbaui explicit OApplicationIconControl(std::unique_ptr<weld::ScrolledWindow> xScroll); virtual void SetDrawingArea(weld::DrawingArea* pDrawingArea) override; virtual void Resize() override; + virtual tools::Rectangle GetFocusRect() override; + virtual void GetFocus() override; + virtual void LoseFocus() override; bool DoKeyShortCut(const KeyEvent& rKEvt); virtual bool KeyInput(const KeyEvent& rKEvt) override; virtual ~OApplicationIconControl() override; _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
