diff options
Diffstat (limited to 'dbaccess/source')
-rw-r--r-- | dbaccess/source/ui/app/AppIconControl.cxx | 34 | ||||
-rw-r--r-- | dbaccess/source/ui/app/AppIconControl.hxx | 3 |
2 files changed, 37 insertions, 0 deletions
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; |