diff --git a/src/KGantt/kganttdatetimetimelinedialog.cpp b/src/KGantt/kganttdatetimetimelinedialog.cpp index aeb5ea5..2f2f503 100644 --- a/src/KGantt/kganttdatetimetimelinedialog.cpp +++ b/src/KGantt/kganttdatetimetimelinedialog.cpp @@ -1,122 +1,122 @@ /* * Copyright (C) 2020 Dag Andersen . */ #include "kganttdatetimetimelinedialog.h" #include "ui_kganttdatetimetimelinedialog.h" #include "kganttdatetimetimeline.h" #include "kganttpenstylecombobox.h" #include #include #include #include #include #include #include #include namespace KGantt { class DateTimeTimeLineDialog::Private { public: - Private() {} + Private() : timeLine(nullptr) {} Ui::DateTimeTimeLineDialog ui; DateTimeTimeLine *timeLine; QColor penColor; }; } using namespace KGantt; DateTimeTimeLineDialog::DateTimeTimeLineDialog(DateTimeTimeLine *timeLine, QWidget* parent) : QDialog(parent) , d( new Private()) { d->timeLine = timeLine; d->ui.setupUi(this); DateTimeTimeLine::Options opt = d->timeLine->options(); if (opt & DateTimeTimeLine::Foreground) { d->ui.foreground->setChecked(true); } else if (opt & DateTimeTimeLine::Background) { d->ui.background->setChecked(true); } - d->ui.useCustomPen->setCheckState(opt & DateTimeTimeLine::UseCustomPen ? Qt::Checked : Qt::Unchecked); + d->ui.useCustomPen->setCheckState((opt & DateTimeTimeLine::UseCustomPen) ? Qt::Checked : Qt::Unchecked); QPen pen = d->timeLine->pen(); // get standard if not set d->ui.penWidth->setValue(pen.width()); d->ui.penStyle->setCurrentStyle(pen.style()); d->penColor = pen.color(); d->ui.updateInterval->setTime(QTime::fromMSecsSinceStartOfDay(d->timeLine->interval())); d->ui.dateTime->setDateTime(timeLine->dateTime()); connect(d->ui.buttonBox, &QDialogButtonBox::accepted, this, &DateTimeTimeLineDialog::ok); connect(d->ui.openColorDialog, &QAbstractButton::clicked, this, &DateTimeTimeLineDialog::openColorDialog); QTimer::singleShot(0, this, SLOT(updateColorButton())); // wait for correct button size } DateTimeTimeLineDialog::~DateTimeTimeLineDialog() { } void DateTimeTimeLineDialog::ok() { DateTimeTimeLine::Options opt; if (d->ui.foreground->isChecked()) { opt |= DateTimeTimeLine::Foreground; } else if (d->ui.background->isChecked()) { opt |= DateTimeTimeLine::Background; } if (d->ui.useCustomPen->checkState()) { opt |= DateTimeTimeLine::UseCustomPen; } d->timeLine->setOptions(opt); QPen pen; pen.setWidth(d->ui.penWidth->value()); pen.setStyle(static_cast(d->ui.penStyle->currentData().toInt())); pen.setColor(d->penColor); d->timeLine->setPen(pen); d->timeLine->setInterval(d->ui.updateInterval->time().msecsSinceStartOfDay()); d->timeLine->setDateTime(d->ui.dateTime->dateTime()); } void DateTimeTimeLineDialog::updateColorButton() { QSize size = d->ui.openColorDialog->size(); qInfo()<penColor; QPixmap px(size); px.fill(); QPainter painter(&px); painter.fillRect(0, 0, size.width(), size.height(), d->penColor); d->ui.openColorDialog->setIcon(QIcon(px)); } void DateTimeTimeLineDialog::openColorDialog() { QColorDialog dlg; if (dlg.exec() == QDialog::Accepted) { d->penColor = dlg.selectedColor(); updateColorButton(); } } diff --git a/src/KGantt/kganttpenstylecombobox.h b/src/KGantt/kganttpenstylecombobox.h index 9b4024f..e1467d5 100644 --- a/src/KGantt/kganttpenstylecombobox.h +++ b/src/KGantt/kganttpenstylecombobox.h @@ -1,47 +1,47 @@ /* * Copyright (C) 2020 Dag Andersen . */ #ifndef KGANTTPENSTYLECOMBOBOX_H #define KGANTTPENSTYLECOMBOBOX_H #include #include "kgantt_export.h" QT_BEGIN_NAMESPACE class QPaintEvent; QT_END_NAMESPACE namespace KGantt { class KGANTT_EXPORT PenStyleComboBox : public QComboBox { Q_OBJECT public: - PenStyleComboBox(QWidget *parent = nullptr); + explicit PenStyleComboBox(QWidget *parent = nullptr); void setCurrentStyle(Qt::PenStyle style); Qt::PenStyle currentStyle() const; protected: void paintEvent(QPaintEvent *pe) override; }; } #endif