/* * Copyright (C) 2018 by J-P Nurmi * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. */ #include "folderstatusview.h" #include "folderstatusdelegate.h" namespace OCC { FolderStatusView::FolderStatusView(QWidget *parent) : QTreeView(parent) { } QModelIndex FolderStatusView::indexAt(const QPoint &point) const { QModelIndex index = QTreeView::indexAt(point); if (index.data(FolderStatusDelegate::AddButton).toBool() && !visualRect(index).contains(point)) { return {}; } return index; } QRect FolderStatusView::visualRect(const QModelIndex &index) const { QRect rect = QTreeView::visualRect(index); if (index.data(FolderStatusDelegate::AddButton).toBool()) { return FolderStatusDelegate::addButtonRect(rect, layoutDirection()); } return rect; } } // namespace OCC