/***************************************************************************
- * Copyright (C) 2005-2016 by the Quassel Project *
+ * Copyright (C) 2005-2018 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
void nextBuffer();
void previousBuffer();
void hideCurrentBuffer();
- void filterTextChanged(QString filterString);
+ void filterTextChanged(const QString& filterString);
+ void changeHighlight(Direction direction);
+ void selectHighlighted();
+ void clearHighlight();
signals:
void removeBuffer(const QModelIndex &);
void removeBufferPermanently(const QModelIndex &);
protected:
- virtual void keyPressEvent(QKeyEvent *);
virtual void dropEvent(QDropEvent *event);
virtual void rowsInserted(const QModelIndex &parent, int start, int end);
virtual void wheelEvent(QWheelEvent *);
virtual void focusInEvent(QFocusEvent *event) { QAbstractScrollArea::focusInEvent(event); }
virtual void contextMenuEvent(QContextMenuEvent *event);
-#if QT_VERSION < 0x050000
- virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
-#else
virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles);
-#endif
private slots:
void joinChannel(const QModelIndex &index);
WasActive = 0x02
};
QHash<NetworkId, short> _expandedState;
+ QModelIndex _currentHighlight;
};
// ******************************
-// BufferViewDelgate
+// BufferViewDelegate
// ******************************
class BufferViewDelegate : public QStyledItemDelegate
public:
BufferViewDelegate(QObject *parent = 0);
- bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index);
+ bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index) override;
+
+ void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
+
+public:
+ QModelIndex currentHighlight;
protected:
- virtual void customEvent(QEvent *event);
+ void customEvent(QEvent *event) override;
};
inline BufferView *bufferView() const { return qobject_cast<BufferView *>(widget()); }
inline bool isActive() const { return _active; }
void setWidget(QWidget *newWidget);
+ void setLocked(bool locked);
QWidget *widget() const { return _childWidget; }
void activateFilter();