X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fbufferviewfilter.h;h=74e08a3a8948a3b445e9abe1241270ccb632aead;hp=38aa793059ecd14c882e461c1eb2a0a694eb4993;hb=HEAD;hpb=0a43227b8cd44625f4881cc1545d42c8c8a4876c diff --git a/src/uisupport/bufferviewfilter.h b/src/uisupport/bufferviewfilter.h index 38aa7930..c97cc7a1 100644 --- a/src/uisupport/bufferviewfilter.h +++ b/src/uisupport/bufferviewfilter.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2016 by the Quassel Project * + * Copyright (C) 2005-2022 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,8 +18,9 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef BUFFERVIEWFILTER_H_ -#define BUFFERVIEWFILTER_H_ +#pragma once + +#include "uisupport-export.h" #include #include @@ -28,18 +29,19 @@ #include #include -#include "types.h" #include "bufferviewconfig.h" +#include "types.h" /***************************************** * Buffer View Filter *****************************************/ -class BufferViewFilter : public QSortFilterProxyModel +class UISUPPORT_EXPORT BufferViewFilter : public QSortFilterProxyModel { Q_OBJECT public: - enum Mode { + enum Mode + { NoActive = 0x01, NoInactive = 0x02, SomeNets = 0x04, @@ -51,29 +53,31 @@ public: }; Q_DECLARE_FLAGS(Modes, Mode) - BufferViewFilter(QAbstractItemModel *model, BufferViewConfig *config = 0); + BufferViewFilter(QAbstractItemModel* model, BufferViewConfig* config = nullptr); - virtual Qt::ItemFlags flags(const QModelIndex &index) const; - virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent); + Qt::ItemFlags flags(const QModelIndex& index) const override; + bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent) override; - QVariant data(const QModelIndex &index, int role) const; - QVariant checkedState(const QModelIndex &index) const; + QVariant data(const QModelIndex& index, int role) const override; + 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); + bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override; + bool setCheckedState(const QModelIndex& index, Qt::CheckState state); - void setConfig(BufferViewConfig *config); - inline BufferViewConfig *config() const { return _config; } + void setConfig(BufferViewConfig* config); + inline BufferViewConfig* config() const { return _config; } - virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder); + void sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override; - QList actions(const QModelIndex &index); + QList actions(const QModelIndex& index); + + void setFilterString(const QString string); protected: - bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const; - bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const; - bool bufferLessThan(const QModelIndex &source_left, const QModelIndex &source_right) const; - bool networkLessThan(const QModelIndex &source_left, const QModelIndex &source_right) const; + bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const override; + bool lessThan(const QModelIndex& source_left, const QModelIndex& source_right) const override; + bool bufferLessThan(const QModelIndex& source_left, const QModelIndex& source_right) const; + bool networkLessThan(const QModelIndex& source_left, const QModelIndex& source_right) const; signals: void configChanged(); @@ -93,15 +97,13 @@ private: QSet _toAdd; QSet _toTempRemove; QSet _toRemove; + QString _filterString; - bool filterAcceptBuffer(const QModelIndex &) const; - bool filterAcceptNetwork(const QModelIndex &) const; - void addBuffer(const BufferId &bufferId) const; - void addBuffers(const QList &bufferIds) const; - static bool bufferIdLessThan(const BufferId &, const BufferId &); + bool filterAcceptBuffer(const QModelIndex&) const; + bool filterAcceptNetwork(const QModelIndex&) const; + void addBuffer(const BufferId& bufferId) const; + void addBuffers(const QList& bufferIds) const; + static bool bufferIdLessThan(const BufferId&, const BufferId&); }; - Q_DECLARE_OPERATORS_FOR_FLAGS(BufferViewFilter::Modes) - -#endif // BUFFERVIEWFILTER_H_