From afe381e9b176ac8f99ddc85b287a29cf0e5cd336 Mon Sep 17 00:00:00 2001
From: Nicolas Werner <nicolas.werner@hotmail.de>
Date: Wed, 30 Mar 2022 02:14:59 +0200
Subject: [PATCH] Remove unused ToggleButton

---
 CMakeLists.txt          |   2 -
 src/ui/ToggleButton.cpp | 222 ----------------------------------------
 src/ui/ToggleButton.h   | 133 ------------------------
 3 files changed, 357 deletions(-)
 delete mode 100644 src/ui/ToggleButton.cpp
 delete mode 100644 src/ui/ToggleButton.h

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5f822ac1f..704e8e9f0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -341,7 +341,6 @@ set(SRC_FILES
 	src/ui/TextField.cpp
 	src/ui/Theme.cpp
 	src/ui/ThemeManager.cpp
-	src/ui/ToggleButton.cpp
 	src/ui/UIA.cpp
 	src/ui/UserProfile.cpp
 
@@ -536,7 +535,6 @@ qt5_wrap_cpp(MOC_HEADERS
 	src/ui/TextField.h
 	src/ui/Theme.h
 	src/ui/ThemeManager.h
-	src/ui/ToggleButton.h
 	src/ui/UIA.h
 	src/ui/UserProfile.h
 
diff --git a/src/ui/ToggleButton.cpp b/src/ui/ToggleButton.cpp
deleted file mode 100644
index 11a2fbd1b..000000000
--- a/src/ui/ToggleButton.cpp
+++ /dev/null
@@ -1,222 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Nheko Contributors
-// SPDX-FileCopyrightText: 2022 Nheko Contributors
-//
-// SPDX-License-Identifier: GPL-3.0-or-later
-
-#include <QColor>
-#include <QCoreApplication>
-#include <QEvent>
-#include <QPainter>
-
-#include "ToggleButton.h"
-
-void
-Toggle::paintEvent(QPaintEvent *event)
-{
-    Q_UNUSED(event);
-}
-
-Toggle::Toggle(QWidget *parent)
-  : QAbstractButton{parent}
-{
-    init();
-
-    connect(this, &QAbstractButton::toggled, this, &Toggle::setState);
-}
-
-void
-Toggle::setState(bool isEnabled)
-{
-    setChecked(isEnabled);
-    thumb_->setShift(isEnabled ? Position::Left : Position::Right);
-    setupProperties();
-}
-
-void
-Toggle::init()
-{
-    track_ = new ToggleTrack(this);
-    thumb_ = new ToggleThumb(this);
-
-    setCursor(QCursor(Qt::PointingHandCursor));
-    setCheckable(true);
-    setChecked(false);
-
-    setState(false);
-    setupProperties();
-
-    QCoreApplication::processEvents();
-}
-
-void
-Toggle::setupProperties()
-{
-    if (isEnabled()) {
-        Position position = thumb_->shift();
-
-        thumb_->setThumbColor(trackColor());
-
-        if (position == Position::Left)
-            track_->setTrackColor(activeColor());
-        else if (position == Position::Right)
-            track_->setTrackColor(inactiveColor());
-    }
-
-    update();
-}
-
-void
-Toggle::setDisabledColor(const QColor &color)
-{
-    disabledColor_ = color;
-    setupProperties();
-    emit disabledColorChanged();
-}
-
-void
-Toggle::setActiveColor(const QColor &color)
-{
-    activeColor_ = color;
-    setupProperties();
-    emit activeColorChanged();
-}
-
-void
-Toggle::setInactiveColor(const QColor &color)
-{
-    inactiveColor_ = color;
-    setupProperties();
-    emit inactiveColorChanged();
-}
-
-void
-Toggle::setTrackColor(const QColor &color)
-{
-    trackColor_ = color;
-    setupProperties();
-    emit trackColorChanged();
-}
-
-ToggleThumb::ToggleThumb(Toggle *parent)
-  : QWidget{parent}
-  , toggle_{parent}
-  , position_{Position::Right}
-  , offset_{0}
-{
-    parent->installEventFilter(this);
-}
-
-void
-ToggleThumb::setShift(Position position)
-{
-    if (position_ != position) {
-        position_ = position;
-        updateOffset();
-    }
-}
-
-bool
-ToggleThumb::eventFilter(QObject *obj, QEvent *event)
-{
-    const QEvent::Type type = event->type();
-
-    if (QEvent::Resize == type || QEvent::Move == type) {
-        setGeometry(toggle_->rect().adjusted(8, 8, -8, -8));
-        updateOffset();
-    }
-
-    return QWidget::eventFilter(obj, event);
-}
-
-void
-ToggleThumb::paintEvent(QPaintEvent *event)
-{
-    Q_UNUSED(event)
-
-    QPainter painter(this);
-    painter.setRenderHint(QPainter::Antialiasing);
-
-    QBrush brush;
-    brush.setStyle(Qt::SolidPattern);
-    brush.setColor(toggle_->isEnabled() ? thumbColor_ : Qt::white);
-
-    painter.setBrush(brush);
-    painter.setPen(Qt::NoPen);
-
-    int s;
-    QRectF r;
-
-    s = height() - 10;
-    r = QRectF(5 + offset_, 5, s, s);
-
-    painter.drawEllipse(r);
-
-    if (!toggle_->isEnabled()) {
-        brush.setColor(toggle_->disabledColor());
-        painter.setBrush(brush);
-        painter.drawEllipse(r);
-    }
-}
-
-void
-ToggleThumb::updateOffset()
-{
-    const QSize s(size());
-    offset_ = position_ == Position::Left ? static_cast<qreal>(s.width() - s.height()) : 0;
-    update();
-}
-
-ToggleTrack::ToggleTrack(Toggle *parent)
-  : QWidget{parent}
-  , toggle_{parent}
-{
-    Q_ASSERT(parent);
-
-    parent->installEventFilter(this);
-}
-
-void
-ToggleTrack::setTrackColor(const QColor &color)
-{
-    trackColor_ = color;
-    emit trackColorChanged();
-    update();
-}
-
-bool
-ToggleTrack::eventFilter(QObject *obj, QEvent *event)
-{
-    const QEvent::Type type = event->type();
-
-    if (QEvent::Resize == type || QEvent::Move == type) {
-        setGeometry(toggle_->rect());
-    }
-
-    return QWidget::eventFilter(obj, event);
-}
-
-void
-ToggleTrack::paintEvent(QPaintEvent *event)
-{
-    Q_UNUSED(event)
-
-    QPainter painter(this);
-    painter.setRenderHint(QPainter::Antialiasing);
-
-    QBrush brush;
-    if (toggle_->isEnabled()) {
-        brush.setColor(trackColor_);
-        painter.setOpacity(0.8);
-    } else {
-        brush.setColor(toggle_->disabledColor());
-        painter.setOpacity(0.6);
-    }
-
-    brush.setStyle(Qt::SolidPattern);
-    painter.setBrush(brush);
-    painter.setPen(Qt::NoPen);
-
-    const int h = height() / 2;
-    const QRect r(0, h / 2, width(), h);
-    painter.drawRoundedRect(r.adjusted(14, 4, -14, -4), h / 2 - 4, h / 2 - 4);
-}
diff --git a/src/ui/ToggleButton.h b/src/ui/ToggleButton.h
deleted file mode 100644
index ebba36dcd..000000000
--- a/src/ui/ToggleButton.h
+++ /dev/null
@@ -1,133 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Nheko Contributors
-// SPDX-FileCopyrightText: 2022 Nheko Contributors
-//
-// SPDX-License-Identifier: GPL-3.0-or-later
-
-#pragma once
-
-#include <QAbstractButton>
-#include <QColor>
-
-class ToggleTrack;
-class ToggleThumb;
-
-enum class Position
-{
-    Left,
-    Right
-};
-
-class Toggle : public QAbstractButton
-{
-    Q_OBJECT
-
-    Q_PROPERTY(QColor activeColor WRITE setActiveColor READ activeColor NOTIFY activeColorChanged)
-    Q_PROPERTY(
-      QColor disabledColor WRITE setDisabledColor READ disabledColor NOTIFY disabledColorChanged)
-    Q_PROPERTY(
-      QColor inactiveColor WRITE setInactiveColor READ inactiveColor NOTIFY inactiveColorChanged)
-    Q_PROPERTY(QColor trackColor WRITE setTrackColor READ trackColor NOTIFY trackColorChanged)
-
-public:
-    Toggle(QWidget *parent = nullptr);
-
-    void setState(bool isEnabled);
-
-    void setActiveColor(const QColor &color);
-    void setDisabledColor(const QColor &color);
-    void setInactiveColor(const QColor &color);
-    void setTrackColor(const QColor &color);
-
-    QColor activeColor() const { return activeColor_; };
-    QColor disabledColor() const { return disabledColor_; };
-    QColor inactiveColor() const { return inactiveColor_; };
-    QColor trackColor() const
-    {
-        return trackColor_.isValid() ? trackColor_ : QColor(0xee, 0xee, 0xee);
-    };
-
-    QSize sizeHint() const override { return QSize(64, 48); };
-
-protected:
-    void paintEvent(QPaintEvent *event) override;
-
-signals:
-    void activeColorChanged();
-    void disabledColorChanged();
-    void inactiveColorChanged();
-    void trackColorChanged();
-
-private:
-    void init();
-    void setupProperties();
-
-    ToggleTrack *track_;
-    ToggleThumb *thumb_;
-
-    QColor disabledColor_;
-    QColor activeColor_;
-    QColor inactiveColor_;
-    QColor trackColor_;
-};
-
-class ToggleThumb : public QWidget
-{
-    Q_OBJECT
-
-    Q_PROPERTY(QColor thumbColor WRITE setThumbColor READ thumbColor NOTIFY thumbColorChanged)
-
-public:
-    ToggleThumb(Toggle *parent);
-
-    Position shift() const { return position_; };
-    qreal offset() const { return offset_; };
-    QColor thumbColor() const { return thumbColor_; };
-
-    void setShift(Position position);
-    void setThumbColor(const QColor &color)
-    {
-        thumbColor_ = color;
-        emit thumbColorChanged();
-        update();
-    };
-
-protected:
-    bool eventFilter(QObject *obj, QEvent *event) override;
-    void paintEvent(QPaintEvent *event) override;
-
-signals:
-    void thumbColorChanged();
-
-private:
-    void updateOffset();
-
-    Toggle *const toggle_;
-    QColor thumbColor_;
-
-    Position position_;
-    qreal offset_;
-};
-
-class ToggleTrack : public QWidget
-{
-    Q_OBJECT
-
-    Q_PROPERTY(QColor trackColor WRITE setTrackColor READ trackColor NOTIFY trackColor)
-
-public:
-    ToggleTrack(Toggle *parent);
-
-    void setTrackColor(const QColor &color);
-    QColor trackColor() const { return trackColor_; };
-
-protected:
-    bool eventFilter(QObject *obj, QEvent *event) override;
-    void paintEvent(QPaintEvent *event) override;
-
-signals:
-    void trackColorChanged();
-
-private:
-    Toggle *const toggle_;
-    QColor trackColor_;
-};
-- 
GitLab