[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