summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2021-12-28 20:14:42 +0100
committerNicolas Werner <nicolas.werner@hotmail.de>2021-12-28 20:14:42 +0100
commit409ff22d80301e15df1e1306c5e33c4d8795ffb2 (patch)
tree3a4aa4fc349c94bd074e4521ae48d02bd3c38f3b /src
parentSome qt6 prep (diff)
downloadnheko-409ff22d80301e15df1e1306c5e33c4d8795ffb2.tar.xz
Remove unused button class
Diffstat (limited to 'src')
-rw-r--r--src/ui/FloatingButton.cpp101
-rw-r--r--src/ui/FloatingButton.h30
2 files changed, 0 insertions, 131 deletions
diff --git a/src/ui/FloatingButton.cpp b/src/ui/FloatingButton.cpp
deleted file mode 100644

index 5dc777d2..00000000 --- a/src/ui/FloatingButton.cpp +++ /dev/null
@@ -1,101 +0,0 @@ -// SPDX-FileCopyrightText: 2021 Nheko Contributors -// -// SPDX-License-Identifier: GPL-3.0-or-later - -#include <QEvent> -#include <QPainter> -#include <QPainterPath> - -#include "FloatingButton.h" - -FloatingButton::FloatingButton(const QIcon &icon, QWidget *parent) - : RaisedButton(parent) -{ - setFixedSize(DIAMETER, DIAMETER); - setGeometry(buttonGeometry()); - - if (parentWidget()) - parentWidget()->installEventFilter(this); - - setFixedRippleRadius(50); - setIcon(icon); - raise(); -} - -QRect -FloatingButton::buttonGeometry() const -{ - QWidget *parent = parentWidget(); - - if (!parent) - return QRect(); - - return QRect(parent->width() - (OFFSET_X + DIAMETER), - parent->height() - (OFFSET_Y + DIAMETER), - DIAMETER, - DIAMETER); -} - -bool -FloatingButton::event(QEvent *event) -{ - if (!parent()) - return RaisedButton::event(event); - - switch (event->type()) { - case QEvent::ParentChange: { - parent()->installEventFilter(this); - setGeometry(buttonGeometry()); - break; - } - case QEvent::ParentAboutToChange: { - parent()->installEventFilter(this); - break; - } - default: - break; - } - - return RaisedButton::event(event); -} - -bool -FloatingButton::eventFilter(QObject *obj, QEvent *event) -{ - const QEvent::Type type = event->type(); - - if (QEvent::Move == type || QEvent::Resize == type) - setGeometry(buttonGeometry()); - - return RaisedButton::eventFilter(obj, event); -} - -void -FloatingButton::paintEvent(QPaintEvent *event) -{ - Q_UNUSED(event); - - QRect square = QRect(0, 0, DIAMETER, DIAMETER); - square.moveCenter(rect().center()); - - QPainter p(this); - p.setRenderHints(QPainter::Antialiasing); - - QBrush brush; - brush.setStyle(Qt::SolidPattern); - brush.setColor(backgroundColor()); - - p.setBrush(brush); - p.setPen(Qt::NoPen); - p.drawEllipse(square); - - QRect iconGeometry(0, 0, ICON_SIZE, ICON_SIZE); - iconGeometry.moveCenter(square.center()); - - QPixmap pixmap = icon().pixmap(QSize(ICON_SIZE, ICON_SIZE)); - QPainter icon(&pixmap); - icon.setCompositionMode(QPainter::CompositionMode_SourceIn); - icon.fillRect(pixmap.rect(), foregroundColor()); - - p.drawPixmap(iconGeometry, pixmap); -} diff --git a/src/ui/FloatingButton.h b/src/ui/FloatingButton.h deleted file mode 100644
index df14dd2c..00000000 --- a/src/ui/FloatingButton.h +++ /dev/null
@@ -1,30 +0,0 @@ -// SPDX-FileCopyrightText: 2021 Nheko Contributors -// -// SPDX-License-Identifier: GPL-3.0-or-later - -#pragma once - -#include "RaisedButton.h" - -constexpr int DIAMETER = 40; -constexpr int ICON_SIZE = 18; - -constexpr int OFFSET_X = 30; -constexpr int OFFSET_Y = 20; - -class FloatingButton : public RaisedButton -{ - Q_OBJECT - -public: - FloatingButton(const QIcon &icon, QWidget *parent = nullptr); - - QSize sizeHint() const override { return QSize(DIAMETER, DIAMETER); }; - QRect buttonGeometry() const; - -protected: - bool event(QEvent *event) override; - bool eventFilter(QObject *obj, QEvent *event) override; - - void paintEvent(QPaintEvent *event) override; -};