~ubuntu-branches/debian/sid/kde-baseapps/sid

« back to all changes in this revision

Viewing changes to dolphin/src/views/selectionmanager.h

  • Committer: Package Import Robot
  • Author(s): Modestas Vainius, Eshat Cakar, Pino Toscano
  • Date: 2012-06-09 22:18:08 UTC
  • mfrom: (4.2.1) (6.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20120609221808-h1l0ekd5qmb8nefr
Tags: 4:4.8.4-1
* New upstream release.

[ Eshat Cakar ]
* Add watch file.
* Bump kde-sc-dev-latest build dependency to version 4:4.8.4.
* Update installed files.

[ Pino Toscano ]
* Move files of the konqueror documentation from kde-baseapps-data to
  konqueror itself.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/***************************************************************************
2
 
 *   Copyright (C) 2008 by Peter Penz <peter.penz19@gmail.com>             *
3
 
 *                                                                         *
4
 
 *   This program is free software; you can redistribute it and/or modify  *
5
 
 *   it under the terms of the GNU General Public License as published by  *
6
 
 *   the Free Software Foundation; either version 2 of the License, or     *
7
 
 *   (at your option) any later version.                                   *
8
 
 *                                                                         *
9
 
 *   This program is distributed in the hope that it will be useful,       *
10
 
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
11
 
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
12
 
 *   GNU General Public License for more details.                          *
13
 
 *                                                                         *
14
 
 *   You should have received a copy of the GNU General Public License     *
15
 
 *   along with this program; if not, write to the                         *
16
 
 *   Free Software Foundation, Inc.,                                       *
17
 
 *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
18
 
 ***************************************************************************/
19
 
 
20
 
#ifndef SELECTIONMANAGER_H
21
 
#define SELECTIONMANAGER_H
22
 
 
23
 
#include <KFileItem>
24
 
 
25
 
#include <QObject>
26
 
 
27
 
class QAbstractItemView;
28
 
class QModelIndex;
29
 
class QItemSelection;
30
 
class SelectionToggle;
31
 
 
32
 
/**
33
 
 * @brief Allows to select and deselect items for item views.
34
 
 *
35
 
 * Whenever an item is hovered by the mouse, a toggle button is shown
36
 
 * which allows to select/deselect the current item.
37
 
 */
38
 
class SelectionManager : public QObject
39
 
{
40
 
    Q_OBJECT
41
 
 
42
 
public:
43
 
    SelectionManager(QAbstractItemView* parent);
44
 
    virtual ~SelectionManager();
45
 
    virtual bool eventFilter(QObject* watched, QEvent* event);
46
 
 
47
 
public slots:
48
 
    /**
49
 
     * Resets the selection manager so that the toggle button gets
50
 
     * invisible.
51
 
     */
52
 
    void reset();
53
 
 
54
 
signals:
55
 
    /** Is emitted if the selection has been changed by the toggle button. */
56
 
    void selectionChanged();
57
 
 
58
 
private slots:
59
 
    void slotEntered(const QModelIndex& index);
60
 
    void slotViewportEntered();
61
 
    void setItemSelected(bool selected);
62
 
    void slotRowsRemoved(const QModelIndex& parent, int start, int end);
63
 
    void slotSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
64
 
 
65
 
private:
66
 
    KUrl urlForIndex(const QModelIndex& index) const;
67
 
    const QModelIndex indexForUrl(const KUrl& url) const;
68
 
    void applyPointingHandCursor();
69
 
    void restoreCursor();
70
 
 
71
 
private:
72
 
    QAbstractItemView* m_view;
73
 
    SelectionToggle* m_toggle;
74
 
    bool m_connected;
75
 
    bool m_appliedPointingHandCursor;
76
 
};
77
 
 
78
 
#endif