X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Fnickview.h;h=8638039af217a49f6a21febc8c122daa58b6a5f5;hb=7582027d5f569c8487d17959d6aa9e6ca6d2aa33;hp=45d03f17676e508b24462524398f59c515bdeb16;hpb=f1823aad7ce73a2dd17807ed4dfde552be7ae769;p=quassel.git diff --git a/src/uisupport/nickview.h b/src/uisupport/nickview.h index 45d03f17..8638039a 100644 --- a/src/uisupport/nickview.h +++ b/src/uisupport/nickview.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #ifndef NICKVIEW_H_ @@ -25,27 +25,39 @@ #include "bufferinfo.h" -class NickView : public QTreeView { - Q_OBJECT +class NickView : public QTreeView +{ + Q_OBJECT public: - NickView(QWidget *parent = 0); + NickView(QWidget *parent = 0); protected: - virtual void rowsInserted(const QModelIndex &parent, int start, int end); - virtual void customEvent(QEvent *event); + virtual void rowsInserted(const QModelIndex &parent, int start, int end); + + //! This reimplementation ensures that the current index is first in list + virtual QModelIndexList selectedIndexes() const; + virtual bool event(QEvent *event); + virtual void mouseMoveEvent(QMouseEvent *event); + virtual void mousePressEvent(QMouseEvent *event); + + void unanimatedExpandAll(); public slots: - virtual void setModel(QAbstractItemModel *model); - virtual void setRootIndex(const QModelIndex &index); - void init(); - void showContextMenu(const QPoint & pos); - void startQuery(const QModelIndex & modelIndex); + virtual void setModel(QAbstractItemModel *model); + virtual void setRootIndex(const QModelIndex &index); + void init(); + void showContextMenu(const QPoint &pos); + void startQuery(const QModelIndex &modelIndex); + +signals: + void selectionUpdated(); private: - BufferInfo bufferInfoFromModelIndex(const QModelIndex & index); - QString nickFromModelIndex(const QModelIndex & index); - void executeCommand(const BufferInfo & bufferInfo, const QString & command); + friend class NickListWidget; // needs selectedIndexes() + qint64 _lastTouchStart = 0; + bool _touchScrollInProgress = false; }; + #endif