X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Fbufferviewfilter.h;h=b4bcb7be455071750fb38ebd05f855214df022e7;hb=15157bd5599c558e84c7f6c837bb3fa8a815efa9;hp=813e5548993429e512575214d6b4f74f0f759caa;hpb=9996d2489e5e5ca23b0750f39f64d8d4b5990029;p=quassel.git diff --git a/src/uisupport/bufferviewfilter.h b/src/uisupport/bufferviewfilter.h index 813e5548..b4bcb7be 100644 --- a/src/uisupport/bufferviewfilter.h +++ b/src/uisupport/bufferviewfilter.h @@ -21,6 +21,7 @@ #ifndef BUFFERVIEWFILTER_H_ #define BUFFERVIEWFILTER_H_ +#include #include #include #include @@ -59,12 +60,18 @@ public: QVariant data(const QModelIndex &index, int role) const; QVariant icon(const QModelIndex &index) const; QVariant foreground(const QModelIndex &index) const; + QVariant checkedState(const QModelIndex &index) const; + + bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); + bool setCheckedState(const QModelIndex &index, Qt::CheckState state); void setConfig(BufferViewConfig *config); inline BufferViewConfig *config() const { return _config; } virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder); + QList actions(const QModelIndex &index); + public slots: void checkPreviousCurrentForRemoval(const QModelIndex ¤t, const QModelIndex &previous); void checkItemForRemoval(const QModelIndex &index) { checkItemsForRemoval(index, index); } @@ -84,6 +91,7 @@ signals: private slots: void configInitialized(); void showUserStateIconsChanged(); + void enableEditMode(bool enable); private: QPointer _config; @@ -100,6 +108,12 @@ private: QPixmap _userOnlineIcon; bool _showUserStateIcons; + bool _editMode; + QAction _enableEditMode; + QSet _toAdd; + QSet _toTempRemove; + QSet _toRemove; + void loadColors(); bool filterAcceptBuffer(const QModelIndex &) const;