diff options
| author | Peter Penz <[email protected]> | 2011-08-08 23:41:18 +0200 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2011-08-09 16:22:36 +0200 |
| commit | 3957884bf2e44619a4ed35ba0ffead519988885b (patch) | |
| tree | d8a5bf1a015cc6001adb4afc5f0f1da721908a22 /src/kitemviews/kitemlistselectionmanager.h | |
| parent | 4692eb7c96f57328479862c0d17d7945b4e87188 (diff) | |
Improvements for selections, smooth scrolling, tooltips and info-panel
Diffstat (limited to 'src/kitemviews/kitemlistselectionmanager.h')
| -rw-r--r-- | src/kitemviews/kitemlistselectionmanager.h | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/kitemviews/kitemlistselectionmanager.h b/src/kitemviews/kitemlistselectionmanager.h index 5c8e84614..5b329b40e 100644 --- a/src/kitemviews/kitemlistselectionmanager.h +++ b/src/kitemviews/kitemlistselectionmanager.h @@ -25,10 +25,16 @@ #include <libdolphin_export.h> +#include <kitemviews/kitemmodelbase.h> + #include <QObject> +#include <QSet> class KItemModelBase; +/** + * @brief Allows to select and deselect items of a KItemListView. + */ class LIBDOLPHINPRIVATE_EXPORT KItemListSelectionManager : public QObject { Q_OBJECT @@ -39,13 +45,22 @@ public: Deselect, Toggle }; - + KItemListSelectionManager(QObject* parent = 0); virtual ~KItemListSelectionManager(); void setCurrentItem(int current); int currentItem() const; + void setSelectedItems(const QSet<int>& items); + QSet<int> selectedItems() const; + bool hasSelection() const; + + void setSelected(int index, int count = 1, SelectionMode mode = Select); + void clearSelection(); + + void beginAnchoredSelection(int anchor, SelectionMode mode = Select); + void endAnchoredSelection(); void setAnchorItem(int anchor); int anchorItem() const; @@ -53,17 +68,24 @@ public: signals: void currentChanged(int current, int previous); + void selectionChanged(const QSet<int>& current, const QSet<int>& previous); void anchorChanged(int anchor, int previous); -protected: +private: void setModel(KItemModelBase* model); + void itemsInserted(const KItemRangeList& itemRanges); + void itemsRemoved(const KItemRangeList& itemRanges); private: int m_currentItem; int m_anchorItem; + QSet<int> m_selectedItems; + KItemModelBase* m_model; - friend class KItemListController; + friend class KItemListController; // Calls setModel() + friend class KItemListView; // Calls itemsInserted() and itemsRemoved() + friend class KItemListSelectionManagerTest; }; #endif |
