Fab moved..
This commit is contained in:
parent
0e907a75c8
commit
1788acd81c
|
@ -5,6 +5,8 @@
|
||||||
#include <QEvent>
|
#include <QEvent>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include "lib/qtmaterialrippleoverlay.h"
|
#include "lib/qtmaterialrippleoverlay.h"
|
||||||
|
namespace md
|
||||||
|
{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \class QtMaterialFloatingActionButtonPrivate
|
* \class QtMaterialFloatingActionButtonPrivate
|
||||||
|
@ -14,24 +16,24 @@
|
||||||
/*!
|
/*!
|
||||||
* \internal
|
* \internal
|
||||||
*/
|
*/
|
||||||
QtMaterialFloatingActionButtonPrivate::QtMaterialFloatingActionButtonPrivate(QtMaterialFloatingActionButton *q)
|
FloatingActionButtonPrivate::FloatingActionButtonPrivate(FloatingActionButton *q)
|
||||||
: QtMaterialRaisedButtonPrivate(q)
|
: RaisedButtonPrivate(q)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \internal
|
* \internal
|
||||||
*/
|
*/
|
||||||
QtMaterialFloatingActionButtonPrivate::~QtMaterialFloatingActionButtonPrivate()
|
FloatingActionButtonPrivate::~FloatingActionButtonPrivate()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \internal
|
* \internal
|
||||||
*/
|
*/
|
||||||
void QtMaterialFloatingActionButtonPrivate::init()
|
void FloatingActionButtonPrivate::init()
|
||||||
{
|
{
|
||||||
Q_Q(QtMaterialFloatingActionButton);
|
Q_Q(FloatingActionButton);
|
||||||
|
|
||||||
corner = Qt::BottomRightCorner;
|
corner = Qt::BottomRightCorner;
|
||||||
mini = false;
|
mini = false;
|
||||||
|
@ -54,9 +56,9 @@ void QtMaterialFloatingActionButtonPrivate::init()
|
||||||
/*!
|
/*!
|
||||||
* \internal
|
* \internal
|
||||||
*/
|
*/
|
||||||
QRect QtMaterialFloatingActionButtonPrivate::fabGeometry() const
|
QRect FloatingActionButtonPrivate::fabGeometry() const
|
||||||
{
|
{
|
||||||
Q_Q(const QtMaterialFloatingActionButton);
|
Q_Q(const FloatingActionButton);
|
||||||
|
|
||||||
QWidget *parent = q->parentWidget();
|
QWidget *parent = q->parentWidget();
|
||||||
if (!parent) {
|
if (!parent) {
|
||||||
|
@ -83,7 +85,7 @@ QRect QtMaterialFloatingActionButtonPrivate::fabGeometry() const
|
||||||
/*!
|
/*!
|
||||||
* \internal
|
* \internal
|
||||||
*/
|
*/
|
||||||
void QtMaterialFloatingActionButtonPrivate::setupProperties()
|
void FloatingActionButtonPrivate::setupProperties()
|
||||||
{
|
{
|
||||||
if (mini) {
|
if (mini) {
|
||||||
effect->setColor(QColor(0, 0, 0, 80));
|
effect->setColor(QColor(0, 0, 0, 80));
|
||||||
|
@ -104,37 +106,37 @@ void QtMaterialFloatingActionButtonPrivate::setupProperties()
|
||||||
* \class QtMaterialFloatingActionButton
|
* \class QtMaterialFloatingActionButton
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QtMaterialFloatingActionButton::QtMaterialFloatingActionButton(const QIcon &icon, QWidget *parent)
|
FloatingActionButton::FloatingActionButton(const QIcon &icon, QWidget *parent)
|
||||||
: QtMaterialRaisedButton(*new QtMaterialFloatingActionButtonPrivate(this), parent)
|
: RaisedButton(*new FloatingActionButtonPrivate(this), parent)
|
||||||
{
|
{
|
||||||
d_func()->init();
|
d_func()->init();
|
||||||
|
|
||||||
setIcon(icon);
|
setIcon(icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
QtMaterialFloatingActionButton::~QtMaterialFloatingActionButton()
|
FloatingActionButton::~FloatingActionButton()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \reimp
|
* \reimp
|
||||||
*/
|
*/
|
||||||
QSize QtMaterialFloatingActionButton::sizeHint() const
|
QSize FloatingActionButton::sizeHint() const
|
||||||
{
|
{
|
||||||
Q_D(const QtMaterialFloatingActionButton);
|
Q_D(const FloatingActionButton);
|
||||||
|
|
||||||
if (d->mini) {
|
if (d->mini) {
|
||||||
return QSize(QtMaterialFloatingActionButtonPrivate::MiniDiameter,
|
return QSize(FloatingActionButtonPrivate::MiniDiameter,
|
||||||
QtMaterialFloatingActionButtonPrivate::MiniDiameter);
|
FloatingActionButtonPrivate::MiniDiameter);
|
||||||
} else {
|
} else {
|
||||||
return QSize(QtMaterialFloatingActionButtonPrivate::DefaultDiameter,
|
return QSize(FloatingActionButtonPrivate::DefaultDiameter,
|
||||||
QtMaterialFloatingActionButtonPrivate::DefaultDiameter);
|
FloatingActionButtonPrivate::DefaultDiameter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void QtMaterialFloatingActionButton::setMini(bool state)
|
void FloatingActionButton::setMini(bool state)
|
||||||
{
|
{
|
||||||
Q_D(QtMaterialFloatingActionButton);
|
Q_D(FloatingActionButton);
|
||||||
|
|
||||||
if (d->mini == state) {
|
if (d->mini == state) {
|
||||||
return;
|
return;
|
||||||
|
@ -151,16 +153,16 @@ void QtMaterialFloatingActionButton::setMini(bool state)
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QtMaterialFloatingActionButton::isMini() const
|
bool FloatingActionButton::isMini() const
|
||||||
{
|
{
|
||||||
Q_D(const QtMaterialFloatingActionButton);
|
Q_D(const FloatingActionButton);
|
||||||
|
|
||||||
return d->mini;
|
return d->mini;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QtMaterialFloatingActionButton::setCorner(Qt::Corner corner)
|
void FloatingActionButton::setCorner(Qt::Corner corner)
|
||||||
{
|
{
|
||||||
Q_D(QtMaterialFloatingActionButton);
|
Q_D(FloatingActionButton);
|
||||||
|
|
||||||
if (d->corner == corner) {
|
if (d->corner == corner) {
|
||||||
return;
|
return;
|
||||||
|
@ -171,16 +173,16 @@ void QtMaterialFloatingActionButton::setCorner(Qt::Corner corner)
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
Qt::Corner QtMaterialFloatingActionButton::corner() const
|
Qt::Corner FloatingActionButton::corner() const
|
||||||
{
|
{
|
||||||
Q_D(const QtMaterialFloatingActionButton);
|
Q_D(const FloatingActionButton);
|
||||||
|
|
||||||
return d->corner;
|
return d->corner;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QtMaterialFloatingActionButton::setOffset(int x, int y)
|
void FloatingActionButton::setOffset(int x, int y)
|
||||||
{
|
{
|
||||||
Q_D(QtMaterialFloatingActionButton);
|
Q_D(FloatingActionButton);
|
||||||
|
|
||||||
d->offsX = x;
|
d->offsX = x;
|
||||||
d->offsY = y;
|
d->offsY = y;
|
||||||
|
@ -188,41 +190,41 @@ void QtMaterialFloatingActionButton::setOffset(int x, int y)
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
QSize QtMaterialFloatingActionButton::offset() const
|
QSize FloatingActionButton::offset() const
|
||||||
{
|
{
|
||||||
Q_D(const QtMaterialFloatingActionButton);
|
Q_D(const FloatingActionButton);
|
||||||
|
|
||||||
return QSize(d->offsX, d->offsY);
|
return QSize(d->offsX, d->offsY);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QtMaterialFloatingActionButton::setXOffset(int x)
|
void FloatingActionButton::setXOffset(int x)
|
||||||
{
|
{
|
||||||
Q_D(QtMaterialFloatingActionButton);
|
Q_D(FloatingActionButton);
|
||||||
|
|
||||||
d->offsX = x;
|
d->offsX = x;
|
||||||
setGeometry(d->fabGeometry());
|
setGeometry(d->fabGeometry());
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QtMaterialFloatingActionButton::xOffset() const
|
int FloatingActionButton::xOffset() const
|
||||||
{
|
{
|
||||||
Q_D(const QtMaterialFloatingActionButton);
|
Q_D(const FloatingActionButton);
|
||||||
|
|
||||||
return d->offsX;
|
return d->offsX;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QtMaterialFloatingActionButton::setYOffset(int y)
|
void FloatingActionButton::setYOffset(int y)
|
||||||
{
|
{
|
||||||
Q_D(QtMaterialFloatingActionButton);
|
Q_D(FloatingActionButton);
|
||||||
|
|
||||||
d->offsY = y;
|
d->offsY = y;
|
||||||
setGeometry(d->fabGeometry());
|
setGeometry(d->fabGeometry());
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QtMaterialFloatingActionButton::yOffset() const
|
int FloatingActionButton::yOffset() const
|
||||||
{
|
{
|
||||||
Q_D(const QtMaterialFloatingActionButton);
|
Q_D(const FloatingActionButton);
|
||||||
|
|
||||||
return d->offsY;
|
return d->offsY;
|
||||||
}
|
}
|
||||||
|
@ -230,12 +232,12 @@ int QtMaterialFloatingActionButton::yOffset() const
|
||||||
/*!
|
/*!
|
||||||
* \reimp
|
* \reimp
|
||||||
*/
|
*/
|
||||||
bool QtMaterialFloatingActionButton::event(QEvent *event)
|
bool FloatingActionButton::event(QEvent *event)
|
||||||
{
|
{
|
||||||
Q_D(QtMaterialFloatingActionButton);
|
Q_D(FloatingActionButton);
|
||||||
|
|
||||||
if (!parent()) {
|
if (!parent()) {
|
||||||
return QtMaterialRaisedButton::event(event);
|
return RaisedButton::event(event);
|
||||||
}
|
}
|
||||||
switch (event->type())
|
switch (event->type())
|
||||||
{
|
{
|
||||||
|
@ -253,33 +255,33 @@ bool QtMaterialFloatingActionButton::event(QEvent *event)
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return QtMaterialRaisedButton::event(event);
|
return RaisedButton::event(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \reimp
|
* \reimp
|
||||||
*/
|
*/
|
||||||
bool QtMaterialFloatingActionButton::eventFilter(QObject *obj, QEvent *event)
|
bool FloatingActionButton::eventFilter(QObject *obj, QEvent *event)
|
||||||
{
|
{
|
||||||
const QEvent::Type type = event->type();
|
const QEvent::Type type = event->type();
|
||||||
|
|
||||||
if (QEvent::Move == type || QEvent::Resize == type)
|
if (QEvent::Move == type || QEvent::Resize == type)
|
||||||
{
|
{
|
||||||
Q_D(QtMaterialFloatingActionButton);
|
Q_D(FloatingActionButton);
|
||||||
setGeometry(d->fabGeometry());
|
setGeometry(d->fabGeometry());
|
||||||
}
|
}
|
||||||
|
|
||||||
return QtMaterialRaisedButton::eventFilter(obj, event);
|
return RaisedButton::eventFilter(obj, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \reimp
|
* \reimp
|
||||||
*/
|
*/
|
||||||
void QtMaterialFloatingActionButton::paintEvent(QPaintEvent *event)
|
void FloatingActionButton::paintEvent(QPaintEvent *event)
|
||||||
{
|
{
|
||||||
Q_UNUSED(event)
|
Q_UNUSED(event)
|
||||||
|
|
||||||
Q_D(QtMaterialFloatingActionButton);
|
Q_D(FloatingActionButton);
|
||||||
|
|
||||||
QRect square = QRect(0, 0, d->diameter(), d->diameter());
|
QRect square = QRect(0, 0, d->diameter(), d->diameter());
|
||||||
square.moveCenter(rect().center());
|
square.moveCenter(rect().center());
|
||||||
|
@ -311,11 +313,13 @@ void QtMaterialFloatingActionButton::paintEvent(QPaintEvent *event)
|
||||||
painter.drawPixmap(iconGeometry, pixmap);
|
painter.drawPixmap(iconGeometry, pixmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QtMaterialFloatingActionButton::updateClipPath()
|
void FloatingActionButton::updateClipPath()
|
||||||
{
|
{
|
||||||
Q_D(QtMaterialFloatingActionButton);
|
Q_D(FloatingActionButton);
|
||||||
|
|
||||||
QPainterPath path;
|
QPainterPath path;
|
||||||
path.addEllipse(0, 0, d->diameter(), d->diameter());
|
path.addEllipse(0, 0, d->diameter(), d->diameter());
|
||||||
d->rippleOverlay->setClipPath(path);
|
d->rippleOverlay->setClipPath(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -2,16 +2,18 @@
|
||||||
#define QTMATERIALFAB_H
|
#define QTMATERIALFAB_H
|
||||||
|
|
||||||
#include "qtmaterialraisedbutton.h"
|
#include "qtmaterialraisedbutton.h"
|
||||||
|
namespace md
|
||||||
|
{
|
||||||
|
|
||||||
class QtMaterialFloatingActionButtonPrivate;
|
class FloatingActionButtonPrivate;
|
||||||
|
|
||||||
class QtMaterialFloatingActionButton : public QtMaterialRaisedButton
|
class FloatingActionButton : public RaisedButton
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit QtMaterialFloatingActionButton(const QIcon &icon, QWidget *parent = 0);
|
explicit FloatingActionButton(const QIcon &icon, QWidget *parent = 0);
|
||||||
~QtMaterialFloatingActionButton();
|
~FloatingActionButton();
|
||||||
|
|
||||||
QSize sizeHint() const Q_DECL_OVERRIDE;
|
QSize sizeHint() const Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
|
@ -38,9 +40,9 @@ protected:
|
||||||
void updateClipPath() Q_DECL_OVERRIDE;
|
void updateClipPath() Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Q_DISABLE_COPY(QtMaterialFloatingActionButton)
|
Q_DISABLE_COPY(FloatingActionButton)
|
||||||
Q_DECLARE_PRIVATE(QtMaterialFloatingActionButton)
|
Q_DECLARE_PRIVATE(FloatingActionButton)
|
||||||
|
|
||||||
};
|
};
|
||||||
|
}
|
||||||
#endif // QTMATERIALFAB_H
|
#endif // QTMATERIALFAB_H
|
||||||
|
|
|
@ -2,13 +2,15 @@
|
||||||
#define QTMATERIALFAB_P_H
|
#define QTMATERIALFAB_P_H
|
||||||
|
|
||||||
#include "qtmaterialraisedbutton_p.h"
|
#include "qtmaterialraisedbutton_p.h"
|
||||||
|
namespace md
|
||||||
class QtMaterialFloatingActionButton;
|
|
||||||
|
|
||||||
class QtMaterialFloatingActionButtonPrivate : public QtMaterialRaisedButtonPrivate
|
|
||||||
{
|
{
|
||||||
Q_DISABLE_COPY(QtMaterialFloatingActionButtonPrivate)
|
|
||||||
Q_DECLARE_PUBLIC(QtMaterialFloatingActionButton)
|
class FloatingActionButton;
|
||||||
|
|
||||||
|
class FloatingActionButtonPrivate : public RaisedButtonPrivate
|
||||||
|
{
|
||||||
|
Q_DISABLE_COPY(FloatingActionButtonPrivate)
|
||||||
|
Q_DECLARE_PUBLIC(FloatingActionButton)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum {
|
enum {
|
||||||
|
@ -21,8 +23,8 @@ public:
|
||||||
MiniIconSize = 18
|
MiniIconSize = 18
|
||||||
};
|
};
|
||||||
|
|
||||||
QtMaterialFloatingActionButtonPrivate(QtMaterialFloatingActionButton *q);
|
FloatingActionButtonPrivate(FloatingActionButton *q);
|
||||||
~QtMaterialFloatingActionButtonPrivate();
|
~FloatingActionButtonPrivate();
|
||||||
|
|
||||||
void init();
|
void init();
|
||||||
QRect fabGeometry() const;
|
QRect fabGeometry() const;
|
||||||
|
@ -37,14 +39,14 @@ public:
|
||||||
int offsY;
|
int offsY;
|
||||||
};
|
};
|
||||||
|
|
||||||
inline int QtMaterialFloatingActionButtonPrivate::diameter() const
|
inline int FloatingActionButtonPrivate::diameter() const
|
||||||
{
|
{
|
||||||
return mini ? MiniDiameter : DefaultDiameter;
|
return mini ? MiniDiameter : DefaultDiameter;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline int QtMaterialFloatingActionButtonPrivate::iconSize() const
|
inline int FloatingActionButtonPrivate::iconSize() const
|
||||||
{
|
{
|
||||||
return mini ? MiniIconSize : DefaultIconSize;
|
return mini ? MiniIconSize : DefaultIconSize;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif // QTMATERIALFAB_P_H
|
#endif // QTMATERIALFAB_P_H
|
||||||
|
|
Loading…
Reference in New Issue