[Libreoffice-commits] core.git: dbaccess/source
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Wed Aug 26 19:57:34 UTC 2020
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 <caolanm at redhat.com>
AuthorDate: Wed Aug 26 14:03:44 2020 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
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 <caolanm at redhat.com>
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;
More information about the Libreoffice-commits
mailing list