X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Ftreeviewtouch.h;h=50f7a1a54dec5f6abc073a622877eec9fdc35569;hp=e8431443c129874e78dfef4866d865fcdb527d2c;hb=HEAD;hpb=de2c1a4f9bbae7070cf8fd8247db765a23d28a9c diff --git a/src/uisupport/treeviewtouch.h b/src/uisupport/treeviewtouch.h index e8431443..50f7a1a5 100644 --- a/src/uisupport/treeviewtouch.h +++ b/src/uisupport/treeviewtouch.h @@ -1,43 +1,67 @@ /*************************************************************************** -* Copyright (C) 2005-2015 by the Quassel Project * -* devel@quassel-irc.org * -* * -* This program is free software; you can redistribute it and/or modify * -* it under the terms of the GNU General Public License as published by * -* the Free Software Foundation; either version 2 of the License, or * -* (at your option) version 3. * -* * -* This program is distributed in the hope that it will be useful, * -* but WITHOUT ANY WARRANTY; without even the implied warranty of * -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -* GNU General Public License for more details. * -* * -* 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., * -* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * -***************************************************************************/ - -#ifndef TREEVIEWTOUCH_H_ -#define TREEVIEWTOUCH_H_ + * Copyright (C) 2005-2022 by the Quassel Project * + * devel@quassel-irc.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) version 3. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * 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., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#pragma once + +#include "uisupport-export.h" #include -class TreeViewTouch : - public QTreeView + +/** + * This class handles Touch Events for TreeViews + */ +class UISUPPORT_EXPORT TreeViewTouch : public QTreeView { - Q_OBJECT + Q_OBJECT public: - explicit TreeViewTouch(QWidget *parent = 0); + explicit TreeViewTouch(QWidget* parent = nullptr); protected: - virtual bool event(QEvent *event); - virtual void mouseMoveEvent(QMouseEvent *event); - virtual void mousePressEvent(QMouseEvent *event); + /** + * Handles Events + * + * @param[in,out] an event + * @returns true if event got handled, false if event got ignored + */ + bool event(QEvent* event) override; + + /** + * Handles Mouse Move Events + * + * Suppresses Events during Touch-Scroll + * + * @param[in,out] An Event + */ + void mouseMoveEvent(QMouseEvent* event) override; + + /** + * Handles Mouse Press Events + * + * Suppresses Events during Touch-Scroll + * + * @param[in,out] An Event + */ + void mousePressEvent(QMouseEvent* event) override; private: - qint64 _lastTouchStart = 0; - bool _touchScrollInProgress = false; + bool _touchScrollInProgress = false; + bool _firstTouchUpdateHappened = false; }; - -#endif \ No newline at end of file