diff options
| author | Peter Penz <[email protected]> | 2010-07-24 21:45:49 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2010-07-24 21:45:49 +0000 |
| commit | 652d08c9242ed51d86dba3b2afda9d3b2e9a9cd7 (patch) | |
| tree | f65face40917d355fa74f593e04df9865f5a1552 /src/views/dolphincategorydrawer.h | |
| parent | 935cc8a03bcb6088ff520d7161db14b9b6a29044 (diff) | |
Sourcecode hierarchy cleanup: Create folder "views" and move view related sources to it
svn path=/trunk/KDE/kdebase/apps/; revision=1154146
Diffstat (limited to 'src/views/dolphincategorydrawer.h')
| -rw-r--r-- | src/views/dolphincategorydrawer.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/src/views/dolphincategorydrawer.h b/src/views/dolphincategorydrawer.h new file mode 100644 index 000000000..d9849727e --- /dev/null +++ b/src/views/dolphincategorydrawer.h @@ -0,0 +1,85 @@ +/* This file is part of the KDE project + * Copyright (C) 2007 Rafael Fernández López <[email protected]> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + +#ifndef DOLPHINCATEGORYDRAWER_H +#define DOLPHINCATEGORYDRAWER_H + +#include <kcategorydrawer.h> + +#include <QStyleOption> +#include <QModelIndex> + +#include <libdolphin_export.h> + +class LIBDOLPHINPRIVATE_EXPORT DolphinCategoryDrawer + : public KCategoryDrawerV3 +{ +public: + using KCategoryDrawerV2::mouseButtonPressed; + using KCategoryDrawerV2::mouseButtonReleased; + + enum Action { + SelectAll = 0, + UnselectAll + }; + + DolphinCategoryDrawer(KCategorizedView *view); + + virtual ~DolphinCategoryDrawer(); + + bool allCategorySelected(const QString &category) const; + + bool someCategorySelected(const QString &category) const; + + virtual void drawCategory(const QModelIndex &index, int sortRole, + const QStyleOption &option, QPainter *painter) const; + + virtual int categoryHeight(const QModelIndex &index, const QStyleOption &option) const; + +protected: + virtual void mouseButtonPressed(const QModelIndex &index, const QRect &blockRect, QMouseEvent *event); + + virtual void mouseButtonReleased(const QModelIndex &index, const QRect &blockRect, QMouseEvent *event); + + virtual void mouseMoved(const QModelIndex &index, const QRect &blockRect, QMouseEvent *event); + + virtual void mouseLeft(const QModelIndex &index,const QRect &blockRect); + +private: + enum HotSpot { + NoneHotSpot = 0, + SelectAllHotSpot, + UnselectAllHotSpot + }; + + HotSpot hotSpotPressed; + QModelIndex categoryPressed; + + QPixmap selectAll; + QPixmap selectAllHovered; + QPixmap selectAllDisabled; + QPixmap unselectAll; + QPixmap unselectAllHovered; + QPixmap unselectAllDisabled; + + QPoint pos; + QString category; +}; + +#endif // DOLPHINCATEGORYDRAWER_H |
