X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Fbufferview.h;h=9877c0edf7c5aecc1d68ab48b322e496d0469459;hb=b664a5a142f458b8d6b3ccc846df3c0676beb3aa;hp=444f0185541201be13b7c1d5a732476e9d216f79;hpb=5b164bbc62960cea62a31287f679197b623ad7ac;p=quassel.git diff --git a/src/uisupport/bufferview.h b/src/uisupport/bufferview.h index 444f0185..9877c0ed 100644 --- a/src/uisupport/bufferview.h +++ b/src/uisupport/bufferview.h @@ -59,6 +59,8 @@ public: void addActionsToMenu(QMenu *menu, const QModelIndex &index); void addFilterActions(QMenu *contextMenu, const QModelIndex &index); + void selectFirstBuffer(); + public slots: void setRootIndexForNetworkId(const NetworkId &networkId); void removeSelectedBuffers(bool permanently = false); @@ -66,6 +68,7 @@ public slots: void nextBuffer(); void previousBuffer(); void hideCurrentBuffer(); + void filterTextChanged(QString filterString); signals: void removeBuffer(const QModelIndex &); @@ -141,16 +144,29 @@ public : BufferViewConfig *config() const; inline BufferView *bufferView() const { return qobject_cast(widget()); } inline bool isActive() const { return _active; } + void setWidget(QWidget *newWidget); + QWidget *widget() const { return _childWidget; } + + void activateFilter(); public slots: void setActive(bool active = true); +protected slots: + virtual bool eventFilter(QObject *object, QEvent *event); + virtual void focusInEvent(QFocusEvent*event) { qDebug() << event; } + private slots: void bufferViewRenamed(const QString &newName); void updateTitle(); + void configChanged(); + void onFilterReturnPressed(); private: - + QWidget *_childWidget; + QWidget *_widget; + QPointer _oldFocusItem; // QPointer in case the old item gets deleted + QLineEdit *_filterEdit; bool _active; QString _title; };