refined SplitHeader

This commit is contained in:
fourtf
2018-08-08 15:35:54 +02:00
parent 7a9af4ae84
commit d89b62692a
30 changed files with 422 additions and 464 deletions
@@ -1,4 +1,4 @@
#include "RippleEffectButton.hpp"
#include "Button.hpp"
#include <QApplication>
#include <QDebug>
@@ -10,11 +10,11 @@
namespace chatterino {
RippleEffectButton::RippleEffectButton(BaseWidget *parent)
Button::Button(BaseWidget *parent)
: BaseWidget(parent)
{
connect(&effectTimer_, &QTimer::timeout, this,
&RippleEffectButton::onMouseEffectTimeout);
&Button::onMouseEffectTimeout);
this->effectTimer_.setInterval(20);
this->effectTimer_.start();
@@ -22,64 +22,64 @@ RippleEffectButton::RippleEffectButton(BaseWidget *parent)
this->setMouseTracking(true);
}
void RippleEffectButton::setMouseEffectColor(boost::optional<QColor> color)
void Button::setMouseEffectColor(boost::optional<QColor> color)
{
this->mouseEffectColor_ = color;
}
void RippleEffectButton::setPixmap(const QPixmap &_pixmap)
void Button::setPixmap(const QPixmap &_pixmap)
{
this->pixmap_ = _pixmap;
this->update();
}
const QPixmap &RippleEffectButton::getPixmap() const
const QPixmap &Button::getPixmap() const
{
return this->pixmap_;
}
void RippleEffectButton::setDim(bool value)
void Button::setDim(bool value)
{
this->dimPixmap_ = value;
this->update();
}
bool RippleEffectButton::getDim() const
bool Button::getDim() const
{
return this->dimPixmap_;
}
void RippleEffectButton::setEnable(bool value)
void Button::setEnable(bool value)
{
this->enabled_ = value;
this->update();
}
bool RippleEffectButton::getEnable() const
bool Button::getEnable() const
{
return this->enabled_;
}
qreal RippleEffectButton::getCurrentDimAmount() const
qreal Button::getCurrentDimAmount() const
{
return this->dimPixmap_ && !this->mouseOver_ ? 0.7 : 1;
}
void RippleEffectButton::setBorderColor(const QColor &color)
void Button::setBorderColor(const QColor &color)
{
this->borderColor_ = color;
this->update();
}
const QColor &RippleEffectButton::getBorderColor() const
const QColor &Button::getBorderColor() const
{
return this->borderColor_;
}
void RippleEffectButton::setMenu(std::unique_ptr<QMenu> menu)
void Button::setMenu(std::unique_ptr<QMenu> menu)
{
this->menu_ = std::move(menu);
@@ -93,7 +93,7 @@ void RippleEffectButton::setMenu(std::unique_ptr<QMenu> menu)
}));
}
void RippleEffectButton::paintEvent(QPaintEvent *)
void Button::paintEvent(QPaintEvent *)
{
QPainter painter(this);
@@ -126,7 +126,7 @@ void RippleEffectButton::paintEvent(QPaintEvent *)
}
}
void RippleEffectButton::fancyPaint(QPainter &painter)
void Button::fancyPaint(QPainter &painter)
{
if (!this->enabled_) {
return;
@@ -169,17 +169,17 @@ void RippleEffectButton::fancyPaint(QPainter &painter)
}
}
void RippleEffectButton::enterEvent(QEvent *)
void Button::enterEvent(QEvent *)
{
this->mouseOver_ = true;
}
void RippleEffectButton::leaveEvent(QEvent *)
void Button::leaveEvent(QEvent *)
{
this->mouseOver_ = false;
}
void RippleEffectButton::mousePressEvent(QMouseEvent *event)
void Button::mousePressEvent(QMouseEvent *event)
{
if (!this->enabled_) {
return;
@@ -200,7 +200,7 @@ void RippleEffectButton::mousePressEvent(QMouseEvent *event)
}
}
void RippleEffectButton::mouseReleaseEvent(QMouseEvent *event)
void Button::mouseReleaseEvent(QMouseEvent *event)
{
if (!this->enabled_) {
return;
@@ -217,7 +217,7 @@ void RippleEffectButton::mouseReleaseEvent(QMouseEvent *event)
}
}
void RippleEffectButton::mouseMoveEvent(QMouseEvent *event)
void Button::mouseMoveEvent(QMouseEvent *event)
{
if (!this->enabled_) {
return;
@@ -228,7 +228,7 @@ void RippleEffectButton::mouseMoveEvent(QMouseEvent *event)
this->update();
}
void RippleEffectButton::onMouseEffectTimeout()
void Button::onMouseEffectTimeout()
{
bool performUpdate = false;
@@ -272,7 +272,7 @@ void RippleEffectButton::onMouseEffectTimeout()
}
}
void RippleEffectButton::showMenu()
void Button::showMenu()
{
if (!this->menu_) return;
@@ -13,7 +13,7 @@
namespace chatterino {
class RippleEffectButton : public BaseWidget
class Button : public BaseWidget
{
Q_OBJECT
@@ -28,7 +28,7 @@ class RippleEffectButton : public BaseWidget
};
public:
RippleEffectButton(BaseWidget *parent);
Button(BaseWidget *parent = nullptr);
void setMouseEffectColor(boost::optional<QColor> color);
void setPixmap(const QPixmap &pixmap_);
+2 -2
View File
@@ -133,7 +133,7 @@ ChannelView::ChannelView(BaseWidget *parent)
}
}));
this->goToBottom_ = new RippleEffectLabel(this, 0);
this->goToBottom_ = new EffectLabel(this, 0);
this->goToBottom_->setStyleSheet(
"background-color: rgba(0,0,0,0.66); color: #FFF;");
this->goToBottom_->getLabel().setText("More messages below");
@@ -143,7 +143,7 @@ ChannelView::ChannelView(BaseWidget *parent)
this->layoutMessages(); //
}));
QObject::connect(this->goToBottom_, &RippleEffectLabel::clicked, this, [=] {
QObject::connect(this->goToBottom_, &EffectLabel::clicked, this, [=] {
QTimer::singleShot(180, [=] {
this->scrollBar_.scrollToBottom(
app->settings->enableSmoothScrollingNewMessages.getValue());
+2 -2
View File
@@ -8,7 +8,7 @@
#include "messages/layouts/MessageLayout.hpp"
#include "widgets/BaseWidget.hpp"
#include "widgets/Scrollbar.hpp"
#include "widgets/helper/RippleEffectLabel.hpp"
#include "widgets/helper/EffectLabel.hpp"
#include <QPaintEvent>
#include <QScroller>
@@ -115,7 +115,7 @@ private:
ChannelPtr channel_;
Scrollbar scrollBar_;
RippleEffectLabel *goToBottom_;
EffectLabel *goToBottom_;
// This variable can be used to decide whether or not we should render the
// "Show latest messages" button
@@ -1,4 +1,4 @@
#include "widgets/helper/RippleEffectLabel.hpp"
#include "widgets/helper/EffectLabel.hpp"
#include "singletons/Theme.hpp"
#include "widgets/splits/SplitHeader.hpp"
@@ -7,8 +7,8 @@
namespace chatterino {
RippleEffectLabel::RippleEffectLabel(BaseWidget *parent, int spacing)
: RippleEffectButton(parent)
EffectLabel::EffectLabel(BaseWidget *parent, int spacing)
: Button(parent)
, label_(this)
{
setLayout(&this->hbox_);
@@ -21,8 +21,8 @@ RippleEffectLabel::RippleEffectLabel(BaseWidget *parent, int spacing)
this->hbox_.addSpacing(spacing);
}
RippleEffectLabel2::RippleEffectLabel2(BaseWidget *parent, int padding)
: RippleEffectButton(parent)
EffectLabel2::EffectLabel2(BaseWidget *parent, int padding)
: Button(parent)
, label_(this)
{
auto *hbox = new QHBoxLayout(this);
@@ -37,7 +37,7 @@ RippleEffectLabel2::RippleEffectLabel2(BaseWidget *parent, int padding)
// hbox.addSpacing(spacing);
}
Label &RippleEffectLabel2::getLabel()
Label &EffectLabel2::getLabel()
{
return this->label_;
}
@@ -2,7 +2,7 @@
#include "widgets/BaseWidget.hpp"
#include "widgets/Label.hpp"
#include "widgets/helper/RippleEffectButton.hpp"
#include "widgets/helper/Button.hpp"
#include "widgets/helper/SignalLabel.hpp"
#include <QHBoxLayout>
@@ -12,10 +12,10 @@
namespace chatterino {
class RippleEffectLabel : public RippleEffectButton
class EffectLabel : public Button
{
public:
explicit RippleEffectLabel(BaseWidget *parent = nullptr, int spacing = 6);
explicit EffectLabel(BaseWidget *parent = nullptr, int spacing = 6);
SignalLabel &getLabel()
{
@@ -27,10 +27,10 @@ private:
SignalLabel label_;
};
class RippleEffectLabel2 : public RippleEffectButton
class EffectLabel2 : public Button
{
public:
explicit RippleEffectLabel2(BaseWidget *parent = nullptr, int padding = 6);
explicit EffectLabel2(BaseWidget *parent = nullptr, int padding = 6);
Label &getLabel();
+6 -6
View File
@@ -1,7 +1,7 @@
#include "widgets/helper/NotebookButton.hpp"
#include "singletons/Theme.hpp"
#include "widgets/Notebook.hpp"
#include "widgets/helper/RippleEffectButton.hpp"
#include "widgets/helper/Button.hpp"
#include "widgets/splits/SplitContainer.hpp"
#include <QMouseEvent>
@@ -14,7 +14,7 @@
namespace chatterino {
NotebookButton::NotebookButton(Notebook *parent)
: RippleEffectButton(parent)
: Button(parent)
, parent_(parent)
{
this->setAcceptDrops(true);
@@ -122,7 +122,7 @@ void NotebookButton::paintEvent(QPaintEvent *event)
default:;
}
RippleEffectButton::paintEvent(event);
Button::paintEvent(event);
}
void NotebookButton::mouseReleaseEvent(QMouseEvent *event)
@@ -135,7 +135,7 @@ void NotebookButton::mouseReleaseEvent(QMouseEvent *event)
emit clicked();
}
RippleEffectButton::mouseReleaseEvent(event);
Button::mouseReleaseEvent(event);
}
void NotebookButton::dragEnterEvent(QDragEnterEvent *event)
@@ -149,7 +149,7 @@ void NotebookButton::dragEnterEvent(QDragEnterEvent *event)
auto e = new QMouseEvent(QMouseEvent::MouseButtonPress,
QPointF(this->width() / 2, this->height() / 2),
Qt::LeftButton, Qt::LeftButton, 0);
RippleEffectButton::mousePressEvent(e);
Button::mousePressEvent(e);
delete e;
}
@@ -161,7 +161,7 @@ void NotebookButton::dragLeaveEvent(QDragLeaveEvent *)
auto e = new QMouseEvent(QMouseEvent::MouseButtonRelease,
QPointF(this->width() / 2, this->height() / 2),
Qt::LeftButton, Qt::LeftButton, 0);
RippleEffectButton::mouseReleaseEvent(e);
Button::mouseReleaseEvent(e);
delete e;
}
+2 -2
View File
@@ -1,6 +1,6 @@
#pragma once
#include "RippleEffectButton.hpp"
#include "Button.hpp"
#include <QWidget>
@@ -8,7 +8,7 @@ namespace chatterino {
class Notebook;
class NotebookButton : public RippleEffectButton
class NotebookButton : public Button
{
Q_OBJECT
+4 -4
View File
@@ -21,7 +21,7 @@
namespace chatterino {
NotebookTab::NotebookTab(Notebook *notebook)
: RippleEffectButton(notebook)
: Button(notebook)
, positionChangedAnimation_(this, "pos")
, notebook_(notebook)
, menu_(this)
@@ -404,7 +404,7 @@ void NotebookTab::enterEvent(QEvent *event)
this->update();
RippleEffectButton::enterEvent(event);
Button::enterEvent(event);
}
void NotebookTab::leaveEvent(QEvent *event)
@@ -414,7 +414,7 @@ void NotebookTab::leaveEvent(QEvent *event)
this->update();
RippleEffectButton::leaveEvent(event);
Button::leaveEvent(event);
}
void NotebookTab::dragEnterEvent(QDragEnterEvent *event)
@@ -459,7 +459,7 @@ void NotebookTab::mouseMoveEvent(QMouseEvent *event)
}
}
RippleEffectButton::mouseMoveEvent(event);
Button::mouseMoveEvent(event);
}
QRect NotebookTab::getXRect()
+2 -2
View File
@@ -2,7 +2,7 @@
#include "common/Common.hpp"
#include "widgets/BaseWidget.hpp"
#include "widgets/helper/RippleEffectButton.hpp"
#include "widgets/helper/Button.hpp"
#include <QMenu>
#include <QPropertyAnimation>
@@ -17,7 +17,7 @@ namespace chatterino {
class Notebook;
class SplitContainer;
class NotebookTab : public RippleEffectButton
class NotebookTab : public Button
{
Q_OBJECT
+2 -2
View File
@@ -5,7 +5,7 @@
namespace chatterino {
TitleBarButton::TitleBarButton()
: RippleEffectButton(nullptr)
: Button(nullptr)
{
}
@@ -119,7 +119,7 @@ void TitleBarButton::paintEvent(QPaintEvent *event)
default:;
}
RippleEffectButton::paintEvent(event);
Button::paintEvent(event);
// this->fancyPaint(painter);
}
+2 -2
View File
@@ -1,10 +1,10 @@
#pragma once
#include "widgets/helper/RippleEffectButton.hpp"
#include "widgets/helper/Button.hpp"
namespace chatterino {
class TitleBarButton : public RippleEffectButton
class TitleBarButton : public Button
{
public:
enum Style {