From e42888cb6969a2b581923e0382a7f99d464edfd9 Mon Sep 17 00:00:00 2001 From: Dylan Date: Thu, 29 Sep 2016 12:13:11 +0100 Subject: [PATCH] Remove and re-add above classes This should solve duplicate classes issue. --- .gitignore | 1 + src/brushtypecombobox.cpp | 62 ---------------- src/brushtypecombobox.h | 31 -------- src/colorboxwidget.cpp | 148 -------------------------------------- src/colorboxwidget.h | 51 ------------- 5 files changed, 1 insertion(+), 292 deletions(-) create mode 100644 .gitignore delete mode 100644 src/brushtypecombobox.cpp delete mode 100644 src/brushtypecombobox.h delete mode 100644 src/colorboxwidget.cpp delete mode 100644 src/colorboxwidget.h diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..890e7805 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +PhotoFiltreLX.pro.user \ No newline at end of file diff --git a/src/brushtypecombobox.cpp b/src/brushtypecombobox.cpp deleted file mode 100644 index 46228910..00000000 --- a/src/brushtypecombobox.cpp +++ /dev/null @@ -1,62 +0,0 @@ -#include -#include -#include -#include - -#include "brushtypecombobox.h" - -class BrushTypeDelegate : public QStyledItemDelegate -{ - void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const - { - QStyledItemDelegate::paint(painter, option, index); - const QPixmap pixmap = index.data(Qt::UserRole).value(); - QRect rect = QRect(option.rect.x(), option.rect.y(), pixmap.width(),pixmap.height()); - painter->drawPixmap(rect, pixmap); - } - - QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const - { - Q_UNUSED(option) - const QPixmap pixmap = index.data(Qt::UserRole).value(); - return pixmap.size(); - } -}; - -BrushTypeComboBox::BrushTypeComboBox(QWidget *parent) : QComboBox(parent) - ,onClickHandler(0) -{ - setItemDelegate(new BrushTypeDelegate()); -} - -BrushTypeComboBox::~BrushTypeComboBox() -{ -} - -void BrushTypeComboBox::paintEvent(QPaintEvent* pEvent) -{ - QComboBox::paintEvent(pEvent); - const QPixmap pixmap = this->itemData(this->currentIndex(), Qt::UserRole).value(); - QRect rect = QRect(1,1,pixmap.width()-20,pixmap.height()-2); - - QPainter painter(this); - painter.drawPixmap(rect, pixmap); -} - -void BrushTypeComboBox::mousePressEvent(QMouseEvent *e) -{ - if(onClickHandler) - { - onClickHandler->mousePressEvent(this,e); - if(e->isAccepted()) - QComboBox::mousePressEvent(e); - } else - { - QComboBox::mousePressEvent(e); - } -} - -void BrushTypeComboBox::setOnClickHandler(QComboBoxEventsInterface *handler) -{ - onClickHandler = handler; -} diff --git a/src/brushtypecombobox.h b/src/brushtypecombobox.h deleted file mode 100644 index 933a97a4..00000000 --- a/src/brushtypecombobox.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef BRUSHTYPECOMBOBOX_H -#define BRUSHTYPECOMBOBOX_H - -#include - -class QComboBoxEventsInterface -{ -public: - virtual void mousePressEvent(QComboBox* obj,QMouseEvent *e) = 0; -}; - -class BrushTypeComboBox : public QComboBox -{ - Q_OBJECT -public: - explicit BrushTypeComboBox(QWidget *parent = 0); - ~BrushTypeComboBox(); - - void setOnClickHandler(QComboBoxEventsInterface *handler); -signals: - -public slots: - -protected: - void paintEvent(QPaintEvent* pEvent); - void mousePressEvent(QMouseEvent *e); -private: - QComboBoxEventsInterface *onClickHandler; -}; - -#endif // BRUSHTYPECOMBOBOX_H diff --git a/src/colorboxwidget.cpp b/src/colorboxwidget.cpp deleted file mode 100644 index 4ab5978a..00000000 --- a/src/colorboxwidget.cpp +++ /dev/null @@ -1,148 +0,0 @@ -/* - - Widget to choose colors. - -*/ - -#include "colorboxwidget.h" -#include "ui_ColorBoxWidget.h" -#include -#include - -ColorBoxWidget::ColorBoxWidget(QWidget *parent) : - QWidget(parent), - ui(new Ui::ColorBoxWidget) -{ - ui->setupUi(this); - - setColor(Qt::black, ui->primaryColorLabel); - setColor(Qt::red, ui->secondaryColorLabel); - - ui->primaryColorLabel->installEventFilter(this); - ui->secondaryColorLabel->installEventFilter(this); - - foreach(QObject* obj, ui->page->children()) { - obj->installEventFilter(this); - } - - ui->bwGradientLabel->installEventFilter(this); - ui->bwGradientLabel->setStyleSheet("background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 black, stop: 1 white);"); - - ui->spectrumLabel->installEventFilter(this); - ui->spectrumLabel->setStyleSheet("background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 red, stop: 0.16 yellow, stop: 0.32 green, \ - stop: 0.48 cyan, stop: 0.64 blue, stop: 0.8 magenta, stop: 1 red);"); -} - -ColorBoxWidget::~ColorBoxWidget() -{ - delete ui; -} - -QColor ColorBoxWidget::primaryColor() const -{ - return getColorFromLabel(ui->primaryColorLabel); -} - -QColor ColorBoxWidget::secondaryColor() const -{ - return getColorFromLabel(ui->secondaryColorLabel); -} - -void ColorBoxWidget::setPrimaryColor(const QColor &color) -{ - setColor(color, ui->primaryColorLabel); - emit primaryColorChanged(color); -} - -void ColorBoxWidget::setSecondaryColor(const QColor &color) -{ - setColor(color, ui->secondaryColorLabel); - emit secondaryColorChanged(color); -} - -bool ColorBoxWidget::eventFilter(QObject *obj, QEvent *event) -{ - if (event->type() == QEvent::MouseButtonRelease) { - if (obj == ui->primaryColorLabel || obj == ui->secondaryColorLabel) { - showColorDialog(static_cast(obj)); - return true; - } - - if(obj->parent() == ui->page) { - QMouseEvent *mevent = (QMouseEvent*)event; - QColor color = getColorFromLabel((QLabel*)obj); - if(mevent->button() == Qt::LeftButton) { - setColor(color, ui->primaryColorLabel); - emit primaryColorChanged(color); - } else { - setColor(color, ui->secondaryColorLabel); - emit secondaryColorChanged(color); - } - return true; - } - - if(obj == ui->bwGradientLabel || obj == ui->spectrumLabel) { - QMouseEvent *mevent = (QMouseEvent*)event; - QLabel* label = (QLabel*)obj; - QPixmap pxm = label->grab(); - QColor color = QColor(pxm.toImage().pixel(mevent->x(),mevent->y())); - if(mevent->button() == Qt::LeftButton) { - setColor(color, ui->primaryColorLabel); - emit primaryColorChanged(color); - } else { - setColor(color, ui->secondaryColorLabel); - emit secondaryColorChanged(color); - } - return true; - } - } - - return QWidget::eventFilter(obj, event); -} - -void ColorBoxWidget::showColorDialog(QWidget *colorLabel) -{ - QColor selectedColor = QColorDialog::getColor(getColorFromLabel(colorLabel), this); - if (selectedColor.isValid()) { - setColor(selectedColor, colorLabel); - - if (colorLabel == ui->primaryColorLabel) - emit primaryColorChanged(selectedColor); - else - emit secondaryColorChanged(selectedColor); - } -} - -void ColorBoxWidget::setColor(const QColor &color, QWidget *colorLabel) -{ - QPalette palette = colorLabel->palette(); - palette.setColor(colorLabel->backgroundRole(), color); - colorLabel->setPalette(palette); -} - -QColor ColorBoxWidget::getColorFromLabel(QWidget *colorLabel) const -{ - return colorLabel->palette().color(colorLabel->backgroundRole()); -} - -void ColorBoxWidget::on_swapColorButton_clicked() -{ - QColor primaryC = getColorFromLabel(ui->primaryColorLabel); - QColor secondaryC = getColorFromLabel(ui->secondaryColorLabel); - - setColor(secondaryC, ui->primaryColorLabel); - emit primaryColorChanged(secondaryC); - setColor(primaryC, ui->secondaryColorLabel); - emit secondaryColorChanged(primaryC); -} - -void ColorBoxWidget::on_prevPage_clicked() -{ - int idx = ui->stackedWidget->currentIndex(); - ui->stackedWidget->setCurrentIndex(idx == 0? 2 : idx-1); -} - -void ColorBoxWidget::on_nextPage_clicked() -{ - ui->stackedWidget->setCurrentIndex((ui->stackedWidget->currentIndex() + 1) % 3); -} diff --git a/src/colorboxwidget.h b/src/colorboxwidget.h deleted file mode 100644 index 7a259661..00000000 --- a/src/colorboxwidget.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef COLORBOXWIDGET_H -#define COLORBOXWIDGET_H - -/* - - Widget to choose colors. - -*/ - -#include - -namespace Ui { -class ColorBoxWidget; -} - -class ColorBoxWidget : public QWidget -{ - Q_OBJECT - -public: - explicit ColorBoxWidget(QWidget *parent = 0); - ~ColorBoxWidget(); - - QColor primaryColor() const; - QColor secondaryColor() const; - - void setPrimaryColor(const QColor &color); - void setSecondaryColor(const QColor &color); - - bool eventFilter(QObject *obj, QEvent *event) override; - -signals: - void primaryColorChanged(const QColor &color); - void secondaryColorChanged(const QColor &color); - -private slots: - void on_swapColorButton_clicked(); - - void on_prevPage_clicked(); - - void on_nextPage_clicked(); - -private: - void showColorDialog(QWidget *colorLabel); - void setColor(const QColor &color, QWidget *colorLabel); - QColor getColorFromLabel(QWidget *colorLabel) const; - - Ui::ColorBoxWidget *ui; -}; - -#endif // COLORBOXWIDGET_H