update second
This commit is contained in:
ShootingStarDragons 2022-07-14 17:54:17 +08:00
parent 8b99ff3895
commit 5dc525bad0
19 changed files with 183 additions and 210 deletions

View File

@ -2,6 +2,7 @@
YouTube video preview [available here](http://www.youtube.com/watch?v=21UMeNVBPU4). YouTube video preview [available here](http://www.youtube.com/watch?v=21UMeNVBPU4).
<table> <table>
<tbody> <tbody>
<tr> <tr>

View File

@ -2,8 +2,8 @@
#include <QEvent> #include <QEvent>
/*! /*!
* \class QtMaterialOverlayWidget * @class QtMaterialOverlayWidget
* \internal * @internal
*/ */
QtMaterialOverlayWidget::QtMaterialOverlayWidget(QWidget *parent) QtMaterialOverlayWidget::QtMaterialOverlayWidget(QWidget *parent)
@ -17,7 +17,7 @@ QtMaterialOverlayWidget::QtMaterialOverlayWidget(QWidget *parent)
QtMaterialOverlayWidget::~QtMaterialOverlayWidget() {} QtMaterialOverlayWidget::~QtMaterialOverlayWidget() {}
/*! /*!
* \reimp * @reimp
*/ */
bool QtMaterialOverlayWidget::event(QEvent *event) bool QtMaterialOverlayWidget::event(QEvent *event)
{ {
@ -41,7 +41,7 @@ bool QtMaterialOverlayWidget::event(QEvent *event)
} }
/*! /*!
* \reimp * @reimp
*/ */
bool QtMaterialOverlayWidget::eventFilter(QObject *obj, QEvent *event) bool QtMaterialOverlayWidget::eventFilter(QObject *obj, QEvent *event)
{ {

View File

@ -1,11 +1,11 @@
#include "qtmaterialcircularprogress.h" #include "qtmaterialcircularprogress.h"
#include "lib/qtmaterialstyle.h"
#include "qtmaterialcircularprogress_internal.h"
#include "qtmaterialcircularprogress_p.h" #include "qtmaterialcircularprogress_p.h"
#include <QPropertyAnimation>
#include <QParallelAnimationGroup>
#include <QPainter> #include <QPainter>
#include <QPainterPath> #include <QPainterPath>
#include "qtmaterialcircularprogress_internal.h" #include <QParallelAnimationGroup>
#include "lib/qtmaterialstyle.h" #include <QPropertyAnimation>
/*! /*!
* \class QtMaterialCircularProgressPrivate * \class QtMaterialCircularProgressPrivate
@ -17,22 +17,19 @@ QtMaterialCircularProgressPrivate::QtMaterialCircularProgressPrivate(QtMaterialC
{ {
} }
QtMaterialCircularProgressPrivate::~QtMaterialCircularProgressPrivate() QtMaterialCircularProgressPrivate::~QtMaterialCircularProgressPrivate() {}
{
}
void QtMaterialCircularProgressPrivate::init() void QtMaterialCircularProgressPrivate::init()
{ {
Q_Q(QtMaterialCircularProgress); Q_Q(QtMaterialCircularProgress);
delegate = new QtMaterialCircularProgressDelegate(q); delegate = new QtMaterialCircularProgressDelegate(q);
progressType = Material::IndeterminateProgress; progressType = Material::IndeterminateProgress;
penWidth = 6.25; penWidth = 6.25;
size = 64; size = 64;
useThemeColors = true; useThemeColors = true;
q->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, q->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
QSizePolicy::MinimumExpanding));
QParallelAnimationGroup *group = new QParallelAnimationGroup(q); QParallelAnimationGroup *group = new QParallelAnimationGroup(q);
group->setLoopCount(-1); group->setLoopCount(-1);
@ -82,15 +79,13 @@ void QtMaterialCircularProgressPrivate::init()
*/ */
QtMaterialCircularProgress::QtMaterialCircularProgress(QWidget *parent) QtMaterialCircularProgress::QtMaterialCircularProgress(QWidget *parent)
: QProgressBar(parent), : QProgressBar(parent)
d_ptr(new QtMaterialCircularProgressPrivate(this)) , d_ptr(new QtMaterialCircularProgressPrivate(this))
{ {
d_func()->init(); d_func()->init();
} }
QtMaterialCircularProgress::~QtMaterialCircularProgress() QtMaterialCircularProgress::~QtMaterialCircularProgress() {}
{
}
void QtMaterialCircularProgress::setProgressType(Material::ProgressType type) void QtMaterialCircularProgress::setProgressType(Material::ProgressType type)
{ {
@ -186,7 +181,7 @@ QSize QtMaterialCircularProgress::sizeHint() const
{ {
Q_D(const QtMaterialCircularProgress); Q_D(const QtMaterialCircularProgress);
const qreal s = d->size+d->penWidth+8; const qreal s = d->size + d->penWidth + 8;
return QSize(s, s); return QSize(s, s);
} }
@ -202,21 +197,19 @@ void QtMaterialCircularProgress::paintEvent(QPaintEvent *event)
QPainter painter(this); QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing); painter.setRenderHint(QPainter::Antialiasing);
if (!isEnabled()) if (!isEnabled()) {
{
QPen pen; QPen pen;
pen.setCapStyle(Qt::RoundCap); pen.setCapStyle(Qt::RoundCap);
pen.setWidthF(d->penWidth); pen.setWidthF(d->penWidth);
pen.setColor(QtMaterialStyle::instance().themeColor("border")); pen.setColor(QtMaterialStyle::instance().themeColor("border"));
painter.setPen(pen); painter.setPen(pen);
painter.drawLine(rect().center()-QPointF(20, 20), rect().center()+QPointF(20, 20)); painter.drawLine(rect().center() - QPointF(20, 20), rect().center() + QPointF(20, 20));
painter.drawLine(rect().center()+QPointF(20, -20), rect().center()-QPointF(20, -20)); painter.drawLine(rect().center() + QPointF(20, -20), rect().center() - QPointF(20, -20));
return; return;
} }
if (Material::IndeterminateProgress == d->progressType) if (Material::IndeterminateProgress == d->progressType) {
{ painter.translate(width() / 2.0, height() / 2.0);
painter.translate(width()/2.0, height()/2.0);
painter.rotate(d->delegate->angle()); painter.rotate(d->delegate->angle());
} }
@ -225,26 +218,23 @@ void QtMaterialCircularProgress::paintEvent(QPaintEvent *event)
pen.setWidthF(d->penWidth); pen.setWidthF(d->penWidth);
pen.setColor(color()); pen.setColor(color());
if (Material::IndeterminateProgress == d->progressType) if (Material::IndeterminateProgress == d->progressType) {
{
QVector<qreal> pattern; QVector<qreal> pattern;
pattern << d->delegate->dashLength()*d->size/50 << 30.0*d->size/50; pattern << d->delegate->dashLength() * d->size / 50 << 30.0 * d->size / 50;
pen.setDashOffset(d->delegate->dashOffset()*d->size/50); pen.setDashOffset(d->delegate->dashOffset() * d->size / 50);
pen.setDashPattern(pattern); pen.setDashPattern(pattern);
painter.setPen(pen); painter.setPen(pen);
painter.drawEllipse(QPoint(0, 0), d->size/2, d->size/2); painter.drawEllipse(QPoint(0, 0), d->size / 2, d->size / 2);
} } else {
else
{
painter.setPen(pen); painter.setPen(pen);
const qreal x = (width()-d->size)/2.0; const qreal x = (width() - d->size) / 2.0;
const qreal y = (height()-d->size)/2.0; const qreal y = (height() - d->size) / 2.0;
const qreal a = 360.0*(value()-minimum())/(maximum()-minimum()); const qreal a = 360.0 * (value() - minimum()) / (maximum() - minimum());
QPainterPath path; QPainterPath path;
path.arcMoveTo(x, y, d->size, d->size, 0); path.arcMoveTo(x, y, d->size, d->size, 0);

View File

@ -11,8 +11,8 @@
#include <QtWidgets/QStackedLayout> #include <QtWidgets/QStackedLayout>
/*! /*!
* \class QtMaterialDialogPrivate * @class QtMaterialDialogPrivate
* \internal * @internal
*/ */
QtMaterialDialogPrivate::QtMaterialDialogPrivate(QtMaterialDialog *q) QtMaterialDialogPrivate::QtMaterialDialogPrivate(QtMaterialDialog *q)
@ -22,8 +22,10 @@ QtMaterialDialogPrivate::QtMaterialDialogPrivate(QtMaterialDialog *q)
QtMaterialDialogPrivate::~QtMaterialDialogPrivate() {} QtMaterialDialogPrivate::~QtMaterialDialogPrivate() {}
// main
void QtMaterialDialogPrivate::init() void QtMaterialDialogPrivate::init()
{ {
// get public class
Q_Q(QtMaterialDialog); Q_Q(QtMaterialDialog);
dialogWindow = new QtMaterialDialogWindow(q); dialogWindow = new QtMaterialDialogWindow(q);
@ -31,6 +33,7 @@ void QtMaterialDialogPrivate::init()
stateMachine = new QStateMachine(q); stateMachine = new QStateMachine(q);
proxy = new QtMaterialDialogProxy(dialogWindow, proxyStack, q); proxy = new QtMaterialDialogProxy(dialogWindow, proxyStack, q);
// qvbox
QVBoxLayout *layout = new QVBoxLayout; QVBoxLayout *layout = new QVBoxLayout;
q->setLayout(layout); q->setLayout(layout);
@ -38,6 +41,7 @@ void QtMaterialDialogPrivate::init()
widget->setLayout(proxyStack); widget->setLayout(proxyStack);
widget->setMinimumWidth(400); widget->setMinimumWidth(400);
// shadoweffect
QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect; QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect;
effect->setColor(QColor(0, 0, 0, 200)); effect->setColor(QColor(0, 0, 0, 200));
effect->setBlurRadius(64); effect->setBlurRadius(64);
@ -100,7 +104,7 @@ void QtMaterialDialogPrivate::init()
} }
/*! /*!
* \class QtMaterialDialog * @class QtMaterialDialog
*/ */
QtMaterialDialog::QtMaterialDialog(QWidget *parent) QtMaterialDialog::QtMaterialDialog(QWidget *parent)
@ -143,6 +147,7 @@ void QtMaterialDialog::hideDialog()
d->proxyStack->setCurrentIndex(1); d->proxyStack->setCurrentIndex(1);
} }
// just paint shadow
void QtMaterialDialog::paintEvent(QPaintEvent *event) void QtMaterialDialog::paintEvent(QPaintEvent *event)
{ {
Q_UNUSED(event) Q_UNUSED(event)

View File

@ -6,8 +6,8 @@
#include <QtWidgets/QStackedLayout> #include <QtWidgets/QStackedLayout>
/*! /*!
* \class QtMaterialDialogProxy * @class QtMaterialDialogProxy
* \internal * @internal
*/ */
QtMaterialDialogProxy::QtMaterialDialogProxy(QtMaterialDialogWindow *source, QtMaterialDialogProxy::QtMaterialDialogProxy(QtMaterialDialogWindow *source,
@ -80,8 +80,8 @@ void QtMaterialDialogProxy::paintEvent(QPaintEvent *event)
} }
/*! /*!
* \class QtMaterialDialogWindow * @class QtMaterialDialogWindow
* \internal * @internal
*/ */
QtMaterialDialogWindow::QtMaterialDialogWindow(QtMaterialDialog *dialog, QWidget *parent) QtMaterialDialogWindow::QtMaterialDialogWindow(QtMaterialDialog *dialog, QWidget *parent)

View File

@ -11,12 +11,12 @@
#include <QtWidgets/QVBoxLayout> #include <QtWidgets/QVBoxLayout>
/*! /*!
* \class QtMaterialDrawerPrivate * @class QtMaterialDrawerPrivate
* \internal * @internal
*/ */
/*! /*!
* \internal * @internal
*/ */
QtMaterialDrawerPrivate::QtMaterialDrawerPrivate(QtMaterialDrawer *q) QtMaterialDrawerPrivate::QtMaterialDrawerPrivate(QtMaterialDrawer *q)
: q_ptr(q) : q_ptr(q)
@ -24,12 +24,12 @@ QtMaterialDrawerPrivate::QtMaterialDrawerPrivate(QtMaterialDrawer *q)
} }
/*! /*!
* \internal * @internal
*/ */
QtMaterialDrawerPrivate::~QtMaterialDrawerPrivate() {} QtMaterialDrawerPrivate::~QtMaterialDrawerPrivate() {}
/*! /*!
* \internal * @internal
*/ */
void QtMaterialDrawerPrivate::init() void QtMaterialDrawerPrivate::init()
{ {
@ -57,7 +57,7 @@ void QtMaterialDrawerPrivate::init()
} }
/*! /*!
* \class QtMaterialDrawer * @class QtMaterialDrawer
*/ */
QtMaterialDrawer::QtMaterialDrawer(QWidget *parent) QtMaterialDrawer::QtMaterialDrawer(QWidget *parent)
@ -158,9 +158,10 @@ void QtMaterialDrawer::openDrawer()
void QtMaterialDrawer::closeDrawer() void QtMaterialDrawer::closeDrawer()
{ {
Q_D(QtMaterialDrawer); Q_D(QtMaterialDrawer);
// emit signal to close
emit d->stateMachine->signalClose(); emit d->stateMachine->signalClose();
// reset the attribute
if (d->overlay) { if (d->overlay) {
setAttribute(Qt::WA_TransparentForMouseEvents); setAttribute(Qt::WA_TransparentForMouseEvents);
setAttribute(Qt::WA_NoSystemBackground); setAttribute(Qt::WA_NoSystemBackground);
@ -184,6 +185,7 @@ bool QtMaterialDrawer::event(QEvent *event)
return QtMaterialOverlayWidget::event(event); return QtMaterialOverlayWidget::event(event);
} }
// size
bool QtMaterialDrawer::eventFilter(QObject *obj, QEvent *event) bool QtMaterialDrawer::eventFilter(QObject *obj, QEvent *event)
{ {
Q_D(QtMaterialDrawer); Q_D(QtMaterialDrawer);
@ -192,7 +194,9 @@ bool QtMaterialDrawer::eventFilter(QObject *obj, QEvent *event)
case QEvent::MouseButtonPress: { case QEvent::MouseButtonPress: {
QMouseEvent *mouseEvent; QMouseEvent *mouseEvent;
if ((mouseEvent = static_cast<QMouseEvent *>(event))) { if ((mouseEvent = static_cast<QMouseEvent *>(event))) {
// check canClose
const bool canClose = d->clickToClose || d->overlay; const bool canClose = d->clickToClose || d->overlay;
// auto close location
if (!d->widget->geometry().contains(mouseEvent->pos()) && canClose) { if (!d->widget->geometry().contains(mouseEvent->pos()) && canClose) {
closeDrawer(); closeDrawer();
} }
@ -222,6 +226,7 @@ void QtMaterialDrawer::paintEvent(QPaintEvent *event)
if (!d->overlay || d->stateMachine->isInClosedState()) { if (!d->overlay || d->stateMachine->isInClosedState()) {
return; return;
} }
// shadow
QPainter painter(this); QPainter painter(this);
painter.setOpacity(d->stateMachine->opacity()); painter.setOpacity(d->stateMachine->opacity());
painter.fillRect(rect(), Qt::SolidPattern); painter.fillRect(rect(), Qt::SolidPattern);

View File

@ -7,8 +7,8 @@
#include <QtWidgets/QLayout> #include <QtWidgets/QLayout>
/*! /*!
* \class QtMaterialDrawerStateMachine * @class QtMaterialDrawerStateMachine
* \internal * @internal
*/ */
QtMaterialDrawerStateMachine::QtMaterialDrawerStateMachine(QtMaterialDrawerWidget *drawer, QtMaterialDrawer *parent) QtMaterialDrawerStateMachine::QtMaterialDrawerStateMachine(QtMaterialDrawerWidget *drawer, QtMaterialDrawer *parent)

View File

@ -7,12 +7,12 @@
#include <QtWidgets/QGraphicsDropShadowEffect> #include <QtWidgets/QGraphicsDropShadowEffect>
/*! /*!
* \class QtMaterialFloatingActionButtonPrivate * @class QtMaterialFloatingActionButtonPrivate
* \internal * @internal
*/ */
/*! /*!
* \internal * @internal
*/ */
QtMaterialFloatingActionButtonPrivate::QtMaterialFloatingActionButtonPrivate(QtMaterialFloatingActionButton *q) QtMaterialFloatingActionButtonPrivate::QtMaterialFloatingActionButtonPrivate(QtMaterialFloatingActionButton *q)
: QtMaterialRaisedButtonPrivate(q) : QtMaterialRaisedButtonPrivate(q)
@ -20,12 +20,12 @@ QtMaterialFloatingActionButtonPrivate::QtMaterialFloatingActionButtonPrivate(QtM
} }
/*! /*!
* \internal * @internal
*/ */
QtMaterialFloatingActionButtonPrivate::~QtMaterialFloatingActionButtonPrivate() {} QtMaterialFloatingActionButtonPrivate::~QtMaterialFloatingActionButtonPrivate() {}
/*! /*!
* \internal * @internal
*/ */
void QtMaterialFloatingActionButtonPrivate::init() void QtMaterialFloatingActionButtonPrivate::init()
{ {
@ -50,7 +50,7 @@ void QtMaterialFloatingActionButtonPrivate::init()
} }
/*! /*!
* \internal * @internal
*/ */
QRect QtMaterialFloatingActionButtonPrivate::fabGeometry() const QRect QtMaterialFloatingActionButtonPrivate::fabGeometry() const
{ {
@ -78,7 +78,7 @@ QRect QtMaterialFloatingActionButtonPrivate::fabGeometry() const
} }
/*! /*!
* \internal * @internal
*/ */
void QtMaterialFloatingActionButtonPrivate::setupProperties() void QtMaterialFloatingActionButtonPrivate::setupProperties()
{ {
@ -98,7 +98,7 @@ void QtMaterialFloatingActionButtonPrivate::setupProperties()
} }
/*! /*!
* \class QtMaterialFloatingActionButton * @class QtMaterialFloatingActionButton
*/ */
QtMaterialFloatingActionButton::QtMaterialFloatingActionButton(const QIcon &icon, QWidget *parent) QtMaterialFloatingActionButton::QtMaterialFloatingActionButton(const QIcon &icon, QWidget *parent)
@ -112,7 +112,7 @@ QtMaterialFloatingActionButton::QtMaterialFloatingActionButton(const QIcon &icon
QtMaterialFloatingActionButton::~QtMaterialFloatingActionButton() {} QtMaterialFloatingActionButton::~QtMaterialFloatingActionButton() {}
/*! /*!
* \reimp * @reimp
*/ */
QSize QtMaterialFloatingActionButton::sizeHint() const QSize QtMaterialFloatingActionButton::sizeHint() const
{ {
@ -222,7 +222,7 @@ int QtMaterialFloatingActionButton::yOffset() const
} }
/*! /*!
* \reimp * @reimp
*/ */
bool QtMaterialFloatingActionButton::event(QEvent *event) bool QtMaterialFloatingActionButton::event(QEvent *event)
{ {
@ -248,7 +248,7 @@ bool QtMaterialFloatingActionButton::event(QEvent *event)
} }
/*! /*!
* \reimp * @reimp
*/ */
bool QtMaterialFloatingActionButton::eventFilter(QObject *obj, QEvent *event) bool QtMaterialFloatingActionButton::eventFilter(QObject *obj, QEvent *event)
{ {
@ -263,7 +263,7 @@ bool QtMaterialFloatingActionButton::eventFilter(QObject *obj, QEvent *event)
} }
/*! /*!
* \reimp * @reimp
*/ */
void QtMaterialFloatingActionButton::paintEvent(QPaintEvent *event) void QtMaterialFloatingActionButton::paintEvent(QPaintEvent *event)
{ {

View File

@ -1,17 +1,17 @@
#include "qtmaterialraisedbutton.h" #include "qtmaterialraisedbutton.h"
#include "qtmaterialraisedbutton_p.h" #include "qtmaterialraisedbutton_p.h"
#include <QEventTransition>
#include <QPropertyAnimation>
#include <QStateMachine> #include <QStateMachine>
#include <QtWidgets/QGraphicsDropShadowEffect> #include <QtWidgets/QGraphicsDropShadowEffect>
#include <QPropertyAnimation>
#include <QEventTransition>
/*! /*!
* \class QtMaterialRaisedButtonPrivate * @class QtMaterialRaisedButtonPrivate
* \internal * @internal
*/ */
/*! /*!
* \internal * @internal
*/ */
QtMaterialRaisedButtonPrivate::QtMaterialRaisedButtonPrivate(QtMaterialRaisedButton *q) QtMaterialRaisedButtonPrivate::QtMaterialRaisedButtonPrivate(QtMaterialRaisedButton *q)
: QtMaterialFlatButtonPrivate(q) : QtMaterialFlatButtonPrivate(q)
@ -19,23 +19,21 @@ QtMaterialRaisedButtonPrivate::QtMaterialRaisedButtonPrivate(QtMaterialRaisedBut
} }
/*! /*!
* \internal * @internal
*/ */
QtMaterialRaisedButtonPrivate::~QtMaterialRaisedButtonPrivate() QtMaterialRaisedButtonPrivate::~QtMaterialRaisedButtonPrivate() {}
{
}
/*! /*!
* \internal * @internal
*/ */
void QtMaterialRaisedButtonPrivate::init() void QtMaterialRaisedButtonPrivate::init()
{ {
Q_Q(QtMaterialRaisedButton); Q_Q(QtMaterialRaisedButton);
shadowStateMachine = new QStateMachine(q); shadowStateMachine = new QStateMachine(q);
normalState = new QState; normalState = new QState;
pressedState = new QState; pressedState = new QState;
effect = new QGraphicsDropShadowEffect; effect = new QGraphicsDropShadowEffect;
effect->setBlurRadius(7); effect->setBlurRadius(7);
effect->setOffset(QPointF(0, 2)); effect->setOffset(QPointF(0, 2));
@ -84,7 +82,7 @@ void QtMaterialRaisedButtonPrivate::init()
} }
/*! /*!
* \class QtMaterialRaisedButton * @class QtMaterialRaisedButton
*/ */
QtMaterialRaisedButton::QtMaterialRaisedButton(QWidget *parent) QtMaterialRaisedButton::QtMaterialRaisedButton(QWidget *parent)
@ -101,9 +99,7 @@ QtMaterialRaisedButton::QtMaterialRaisedButton(const QString &text, QWidget *par
setText(text); setText(text);
} }
QtMaterialRaisedButton::~QtMaterialRaisedButton() QtMaterialRaisedButton::~QtMaterialRaisedButton() {}
{
}
QtMaterialRaisedButton::QtMaterialRaisedButton(QtMaterialRaisedButtonPrivate &d, QWidget *parent) QtMaterialRaisedButton::QtMaterialRaisedButton(QtMaterialRaisedButtonPrivate &d, QWidget *parent)
: QtMaterialFlatButton(d, parent) : QtMaterialFlatButton(d, parent)

View File

@ -19,10 +19,10 @@ public:
void init(); void init();
QStateMachine *shadowStateMachine; QStateMachine *shadowStateMachine;
QState *normalState; QState *normalState;
QState *pressedState; QState *pressedState;
QGraphicsDropShadowEffect *effect; QGraphicsDropShadowEffect *effect;
}; };
#endif // QTMATERIALRAISEDBUTTON_P_H #endif // QTMATERIALRAISEDBUTTON_P_H

View File

@ -1,8 +1,8 @@
#ifndef QTMATERIALSCROLLBAR_P_H #ifndef QTMATERIALSCROLLBAR_P_H
#define QTMATERIALSCROLLBAR_P_H #define QTMATERIALSCROLLBAR_P_H
#include <QtGlobal>
#include <QColor> #include <QColor>
#include <QtGlobal>
class QtMaterialScrollBar; class QtMaterialScrollBar;
class QtMaterialScrollBarStateMachine; class QtMaterialScrollBarStateMachine;
@ -18,13 +18,13 @@ public:
void init(); void init();
QtMaterialScrollBar *const q_ptr; QtMaterialScrollBar *const q_ptr;
QtMaterialScrollBarStateMachine *stateMachine; QtMaterialScrollBarStateMachine *stateMachine;
QColor backgroundColor; QColor backgroundColor;
QColor sliderColor; QColor sliderColor;
QColor canvasColor; QColor canvasColor;
bool hideOnMouseOut; bool hideOnMouseOut;
bool useThemeColors; bool useThemeColors;
}; };
#endif // QTMATERIALSCROLLBAR_P_H #endif // QTMATERIALSCROLLBAR_P_H

View File

@ -1,10 +1,10 @@
#include "qtmaterialslider.h" #include "qtmaterialslider.h"
#include "qtmaterialslider_p.h"
#include <QtWidgets/QApplication>
#include <QMouseEvent>
#include "qtmaterialslider_internal.h"
#include "lib/qtmaterialstyle.h"
#include "lib/qtmaterialstatetransitionevent.h" #include "lib/qtmaterialstatetransitionevent.h"
#include "lib/qtmaterialstyle.h"
#include "qtmaterialslider_internal.h"
#include "qtmaterialslider_p.h"
#include <QMouseEvent>
#include <QtWidgets/QApplication>
/*! /*!
* \class QtMaterialSliderPrivate * \class QtMaterialSliderPrivate
@ -16,33 +16,30 @@ QtMaterialSliderPrivate::QtMaterialSliderPrivate(QtMaterialSlider *q)
{ {
} }
QtMaterialSliderPrivate::~QtMaterialSliderPrivate() QtMaterialSliderPrivate::~QtMaterialSliderPrivate() {}
{
}
void QtMaterialSliderPrivate::init() void QtMaterialSliderPrivate::init()
{ {
Q_Q(QtMaterialSlider); Q_Q(QtMaterialSlider);
thumb = new QtMaterialSliderThumb(q); thumb = new QtMaterialSliderThumb(q);
track = new QtMaterialSliderTrack(thumb, q); track = new QtMaterialSliderTrack(thumb, q);
stateMachine = new QtMaterialSliderStateMachine(q, thumb, track); stateMachine = new QtMaterialSliderStateMachine(q, thumb, track);
stepTo = 0; stepTo = 0;
oldValue = q->value(); oldValue = q->value();
trackWidth = 2; trackWidth = 2;
hoverTrack = false; hoverTrack = false;
hoverThumb = false; hoverThumb = false;
hover = false; hover = false;
step = false; step = false;
pageStepMode = true; pageStepMode = true;
useThemeColors = true; useThemeColors = true;
q->setMouseTracking(true); q->setMouseTracking(true);
q->setFocusPolicy(Qt::StrongFocus); q->setFocusPolicy(Qt::StrongFocus);
q->setPageStep(1); q->setPageStep(1);
QSizePolicy sp(QSizePolicy::Expanding, QSizePolicy sp(QSizePolicy::Expanding, QSizePolicy::Fixed);
QSizePolicy::Fixed);
if (q->orientation() == Qt::Vertical) { if (q->orientation() == Qt::Vertical) {
sp.transpose(); sp.transpose();
@ -59,24 +56,25 @@ QRectF QtMaterialSliderPrivate::trackBoundingRect() const
{ {
Q_Q(const QtMaterialSlider); Q_Q(const QtMaterialSlider);
qreal hw = static_cast<qreal>(trackWidth)/2; qreal hw = static_cast<qreal>(trackWidth) / 2;
return Qt::Horizontal == q->orientation() return Qt::Horizontal == q->orientation() ?
? QRectF(QT_MATERIAL_SLIDER_MARGIN, q->height()/2 - hw, QRectF(QT_MATERIAL_SLIDER_MARGIN, q->height() / 2.0 - hw, q->width() - QT_MATERIAL_SLIDER_MARGIN * 2, hw * 2) :
q->width() - QT_MATERIAL_SLIDER_MARGIN*2, hw*2) QRectF(q->width() / 2.0 - hw, QT_MATERIAL_SLIDER_MARGIN, hw * 2, q->height() - QT_MATERIAL_SLIDER_MARGIN * 2);
: QRectF(q->width()/2 - hw, QT_MATERIAL_SLIDER_MARGIN, hw*2,
q->height() - QT_MATERIAL_SLIDER_MARGIN*2);
} }
QRectF QtMaterialSliderPrivate::thumbBoundingRect() const QRectF QtMaterialSliderPrivate::thumbBoundingRect() const
{ {
Q_Q(const QtMaterialSlider); Q_Q(const QtMaterialSlider);
return Qt::Horizontal == q->orientation() return Qt::Horizontal == q->orientation() ? QRectF(thumb->offset(),
? QRectF(thumb->offset(), q->height()/2 - QT_MATERIAL_SLIDER_MARGIN, q->height() / 2.0 - QT_MATERIAL_SLIDER_MARGIN,
QT_MATERIAL_SLIDER_MARGIN*2, QT_MATERIAL_SLIDER_MARGIN*2) QT_MATERIAL_SLIDER_MARGIN * 2,
: QRectF(q->width()/2 - QT_MATERIAL_SLIDER_MARGIN, thumb->offset(), QT_MATERIAL_SLIDER_MARGIN * 2) :
QT_MATERIAL_SLIDER_MARGIN*2, QT_MATERIAL_SLIDER_MARGIN*2); QRectF(q->width() / 2.0 - QT_MATERIAL_SLIDER_MARGIN,
thumb->offset(),
QT_MATERIAL_SLIDER_MARGIN * 2,
QT_MATERIAL_SLIDER_MARGIN * 2);
} }
int QtMaterialSliderPrivate::valueFromPosition(const QPoint &pos) const int QtMaterialSliderPrivate::valueFromPosition(const QPoint &pos) const
@ -85,16 +83,11 @@ int QtMaterialSliderPrivate::valueFromPosition(const QPoint &pos) const
const int position = Qt::Horizontal == q->orientation() ? pos.x() : pos.y(); const int position = Qt::Horizontal == q->orientation() ? pos.x() : pos.y();
const int span = Qt::Horizontal == q->orientation() const int span = Qt::Horizontal == q->orientation() ? q->width() - QT_MATERIAL_SLIDER_MARGIN * 2 :
? q->width() - QT_MATERIAL_SLIDER_MARGIN*2 q->height() - QT_MATERIAL_SLIDER_MARGIN * 2;
: q->height() - QT_MATERIAL_SLIDER_MARGIN*2;
return QtMaterialStyle::sliderValueFromPosition( return QtMaterialStyle::sliderValueFromPosition(
q->minimum(), q->minimum(), q->maximum(), position - QT_MATERIAL_SLIDER_MARGIN, span, q->invertedAppearance());
q->maximum(),
position - QT_MATERIAL_SLIDER_MARGIN,
span,
q->invertedAppearance());
} }
void QtMaterialSliderPrivate::setHovered(bool status) void QtMaterialSliderPrivate::setHovered(bool status)
@ -123,15 +116,13 @@ void QtMaterialSliderPrivate::setHovered(bool status)
*/ */
QtMaterialSlider::QtMaterialSlider(QWidget *parent) QtMaterialSlider::QtMaterialSlider(QWidget *parent)
: QAbstractSlider(parent), : QAbstractSlider(parent)
d_ptr(new QtMaterialSliderPrivate(this)) , d_ptr(new QtMaterialSliderPrivate(this))
{ {
d_func()->init(); d_func()->init();
} }
QtMaterialSlider::~QtMaterialSlider() QtMaterialSlider::~QtMaterialSlider() {}
{
}
void QtMaterialSlider::setUseThemeColors(bool value) void QtMaterialSlider::setUseThemeColors(bool value)
{ {
@ -237,9 +228,7 @@ bool QtMaterialSlider::pageStepMode() const
*/ */
QSize QtMaterialSlider::minimumSizeHint() const QSize QtMaterialSlider::minimumSizeHint() const
{ {
return Qt::Horizontal == orientation() return Qt::Horizontal == orientation() ? QSize(130, 34) : QSize(34, 130);
? QSize(130, 34)
: QSize(34, 130);
} }
void QtMaterialSlider::setInvertedAppearance(bool value) void QtMaterialSlider::setInvertedAppearance(bool value)
@ -256,16 +245,13 @@ void QtMaterialSlider::sliderChange(SliderChange change)
{ {
Q_D(QtMaterialSlider); Q_D(QtMaterialSlider);
if (SliderOrientationChange == change) if (SliderOrientationChange == change) {
{
QSizePolicy sp(QSizePolicy::Expanding, QSizePolicy::Fixed); QSizePolicy sp(QSizePolicy::Expanding, QSizePolicy::Fixed);
if (orientation() == Qt::Vertical) { if (orientation() == Qt::Vertical) {
sp.transpose(); sp.transpose();
} }
setSizePolicy(sp); setSizePolicy(sp);
} } else if (SliderValueChange == change) {
else if (SliderValueChange == change)
{
if (minimum() == value()) { if (minimum() == value()) {
triggerAction(SliderToMinimum); triggerAction(SliderToMinimum);
d->stateMachine->postEvent(new QtMaterialStateTransitionEvent(SliderChangedToMinimum)); d->stateMachine->postEvent(new QtMaterialStateTransitionEvent(SliderChangedToMinimum));
@ -290,12 +276,9 @@ void QtMaterialSlider::mouseMoveEvent(QMouseEvent *event)
{ {
Q_D(QtMaterialSlider); Q_D(QtMaterialSlider);
if (isSliderDown()) if (isSliderDown()) {
{
setSliderPosition(d->valueFromPosition(event->pos())); setSliderPosition(d->valueFromPosition(event->pos()));
} } else {
else
{
QRectF track(d->trackBoundingRect().adjusted(-2, -2, 2, 2)); QRectF track(d->trackBoundingRect().adjusted(-2, -2, 2, 2));
if (track.contains(event->pos()) != d->hoverTrack) { if (track.contains(event->pos()) != d->hoverTrack) {
@ -344,9 +327,7 @@ void QtMaterialSlider::mousePressEvent(QMouseEvent *event)
d->step = true; d->step = true;
d->stepTo = d->valueFromPosition(pos); d->stepTo = d->valueFromPosition(pos);
SliderAction action = d->stepTo > sliderPosition() SliderAction action = d->stepTo > sliderPosition() ? SliderPageStepAdd : SliderPageStepSub;
? SliderPageStepAdd
: SliderPageStepSub;
triggerAction(action); triggerAction(action);
setRepeatAction(action, 400, 8); setRepeatAction(action, 400, 8);
@ -398,9 +379,7 @@ void QtMaterialSlider::updateThumbOffset()
minimum(), minimum(),
maximum(), maximum(),
sliderPosition(), sliderPosition(),
Qt::Horizontal == orientation() Qt::Horizontal == orientation() ? width() - QT_MATERIAL_SLIDER_MARGIN * 2 : height() - QT_MATERIAL_SLIDER_MARGIN * 2,
? width() - QT_MATERIAL_SLIDER_MARGIN*2
: height() - QT_MATERIAL_SLIDER_MARGIN*2,
invertedAppearance()); invertedAppearance());
d->thumb->setOffset(offset); d->thumb->setOffset(offset);

View File

@ -1,9 +1,9 @@
#ifndef QTMATERIALSLIDER_P_H #ifndef QTMATERIALSLIDER_P_H
#define QTMATERIALSLIDER_P_H #define QTMATERIALSLIDER_P_H
#include <QtGlobal>
#include <QColor> #include <QColor>
#include <QRectF> #include <QRectF>
#include <QtGlobal>
class QtMaterialSlider; class QtMaterialSlider;
class QtMaterialSliderThumb; class QtMaterialSliderThumb;
@ -28,22 +28,22 @@ public:
void setHovered(bool status); void setHovered(bool status);
QtMaterialSlider *const q_ptr; QtMaterialSlider *const q_ptr;
QtMaterialSliderThumb *thumb; QtMaterialSliderThumb *thumb;
QtMaterialSliderTrack *track; QtMaterialSliderTrack *track;
QtMaterialSliderStateMachine *stateMachine; QtMaterialSliderStateMachine *stateMachine;
QColor thumbColor; QColor thumbColor;
QColor trackColor; QColor trackColor;
QColor disabledColor; QColor disabledColor;
int stepTo; int stepTo;
int oldValue; int oldValue;
int trackWidth; int trackWidth;
bool hoverTrack; bool hoverTrack;
bool hoverThumb; bool hoverThumb;
bool hover; bool hover;
bool step; bool step;
bool pageStepMode; bool pageStepMode;
bool useThemeColors; bool useThemeColors;
}; };
#endif // QTMATERIALSLIDER_P_H #endif // QTMATERIALSLIDER_P_H

View File

@ -1,13 +1,13 @@
#include "dialogsettingseditor.h" #include "dialogsettingseditor.h"
#include <QVBoxLayout>
#include <QColorDialog> #include <QColorDialog>
#include <QVBoxLayout>
#include <qtmaterialdialog.h> #include <qtmaterialdialog.h>
#include <qtmaterialflatbutton.h> #include <qtmaterialflatbutton.h>
DialogSettingsEditor::DialogSettingsEditor(QWidget *parent) DialogSettingsEditor::DialogSettingsEditor(QWidget *parent)
: QWidget(parent), : QWidget(parent)
ui(new Ui::DialogSettingsForm), , ui(new Ui::DialogSettingsForm)
m_dialog(new QtMaterialDialog) , m_dialog(new QtMaterialDialog)
{ {
QVBoxLayout *layout = new QVBoxLayout; QVBoxLayout *layout = new QVBoxLayout;
setLayout(layout); setLayout(layout);
@ -26,6 +26,7 @@ DialogSettingsEditor::DialogSettingsEditor(QWidget *parent)
canvas->setLayout(layout); canvas->setLayout(layout);
canvas->setMaximumHeight(300); canvas->setMaximumHeight(300);
// set parent
m_dialog->setParent(this); m_dialog->setParent(this);
QWidget *dialogWidget = new QWidget; QWidget *dialogWidget = new QWidget;
@ -56,10 +57,6 @@ DialogSettingsEditor::~DialogSettingsEditor()
delete ui; delete ui;
} }
void DialogSettingsEditor::setupForm() void DialogSettingsEditor::setupForm() {}
{
}
void DialogSettingsEditor::updateWidget() void DialogSettingsEditor::updateWidget() {}
{
}

View File

@ -1,8 +1,8 @@
#ifndef DIALOGSETTINGSEDITOR_H #ifndef DIALOGSETTINGSEDITOR_H
#define DIALOGSETTINGSEDITOR_H #define DIALOGSETTINGSEDITOR_H
#include <QWidget>
#include "ui_dialogsettingsform.h" #include "ui_dialogsettingsform.h"
#include <QWidget>
class QtMaterialDialog; class QtMaterialDialog;
@ -20,7 +20,7 @@ protected slots:
private: private:
Ui::DialogSettingsForm *const ui; Ui::DialogSettingsForm *const ui;
QtMaterialDialog *const m_dialog; QtMaterialDialog *const m_dialog;
}; };
#endif // DIALOGSETTINGSEDITOR_H #endif // DIALOGSETTINGSEDITOR_H

View File

@ -1,8 +1,8 @@
#ifndef DRAWERSETTINGSEDITOR_H #ifndef DRAWERSETTINGSEDITOR_H
#define DRAWERSETTINGSEDITOR_H #define DRAWERSETTINGSEDITOR_H
#include <QWidget>
#include "ui_drawersettingsform.h" #include "ui_drawersettingsform.h"
#include <QWidget>
class QtMaterialDrawer; class QtMaterialDrawer;
@ -20,7 +20,7 @@ protected slots:
private: private:
Ui::DrawerSettingsForm *const ui; Ui::DrawerSettingsForm *const ui;
QtMaterialDrawer *const m_drawer; QtMaterialDrawer *const m_drawer;
}; };
#endif // DRAWERSETTINGSEDITOR_H #endif // DRAWERSETTINGSEDITOR_H

View File

@ -1,12 +1,12 @@
#include "iconbuttonsettingseditor.h" #include "iconbuttonsettingseditor.h"
#include <QColorDialog> #include <QColorDialog>
#include <qtmaterialiconbutton.h>
#include <lib/qtmaterialtheme.h> #include <lib/qtmaterialtheme.h>
#include <qtmaterialiconbutton.h>
IconButtonSettingsEditor::IconButtonSettingsEditor(QWidget *parent) IconButtonSettingsEditor::IconButtonSettingsEditor(QWidget *parent)
: QWidget(parent), : QWidget(parent)
ui(new Ui::IconButtonSettingsForm), , ui(new Ui::IconButtonSettingsForm)
m_button(new QtMaterialIconButton(QtMaterialTheme::icon("toggle", "star"))) , m_button(new QtMaterialIconButton(QtMaterialTheme::icon("toggle", "star")))
{ {
init(); init();
} }
@ -17,9 +17,9 @@ IconButtonSettingsEditor::~IconButtonSettingsEditor()
} }
IconButtonSettingsEditor::IconButtonSettingsEditor(QtMaterialIconButton *button, QWidget *parent) IconButtonSettingsEditor::IconButtonSettingsEditor(QtMaterialIconButton *button, QWidget *parent)
: QWidget(parent), : QWidget(parent)
ui(new Ui::IconButtonSettingsForm), , ui(new Ui::IconButtonSettingsForm)
m_button(button) , m_button(button)
{ {
init(); init();
} }

View File

@ -1,8 +1,8 @@
#ifndef RADIOBUTTONSETTINGSEDITOR_H #ifndef RADIOBUTTONSETTINGSEDITOR_H
#define RADIOBUTTONSETTINGSEDITOR_H #define RADIOBUTTONSETTINGSEDITOR_H
#include <QWidget>
#include "ui_radiobuttonsettingsform.h" #include "ui_radiobuttonsettingsform.h"
#include <QWidget>
class QtMaterialRadioButton; class QtMaterialRadioButton;
class RadioButton; class RadioButton;
@ -22,9 +22,9 @@ protected slots:
private: private:
Ui::RadioButtonSettingsForm *const ui; Ui::RadioButtonSettingsForm *const ui;
QtMaterialRadioButton *const m_radioButton1; QtMaterialRadioButton *const m_radioButton1;
QtMaterialRadioButton *const m_radioButton2; QtMaterialRadioButton *const m_radioButton2;
QtMaterialRadioButton *const m_radioButton3; QtMaterialRadioButton *const m_radioButton3;
}; };
#endif // RADIOBUTTONSETTINGSEDITOR_H #endif // RADIOBUTTONSETTINGSEDITOR_H

View File

@ -1,8 +1,8 @@
#ifndef TOGGLESETTINGSEDITOR_H #ifndef TOGGLESETTINGSEDITOR_H
#define TOGGLESETTINGSEDITOR_H #define TOGGLESETTINGSEDITOR_H
#include <QWidget>
#include "ui_togglesettingsform.h" #include "ui_togglesettingsform.h"
#include <QWidget>
class QtMaterialToggle; class QtMaterialToggle;
@ -21,7 +21,7 @@ protected slots:
private: private:
Ui::ToggleSettingsForm *const ui; Ui::ToggleSettingsForm *const ui;
QtMaterialToggle *const m_toggle; QtMaterialToggle *const m_toggle;
}; };
#endif // TOGGLESETTINGSEDITOR_H #endif // TOGGLESETTINGSEDITOR_H