cmake: avoid de-duplication of user's CXXFLAGS
[quassel.git] / src / uisupport / treeviewtouch.h
index efbdf4a..50f7a1a 100644 (file)
@@ -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 <QTreeView>
-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:
-       bool _touchScrollInProgress = false;
-       bool _firstTouchUpdateHappened = false;
+    bool _touchScrollInProgress = false;
+    bool _firstTouchUpdateHappened = false;
 };
-
-#endif
\ No newline at end of file