Skip to content
Snippets Groups Projects
Commit 8ff74267 authored by i19001384's avatar i19001384
Browse files

ColoPickerWidget added

parent 8aed05da
No related branches found
No related tags found
1 merge request!1Dev
#include "colorpickerwidget.h" #include "colorpickerwidget.h"
#include <QColorDialog>
#include <QListWidget>
#include <QListWidgetItem>
#include <QVBoxLayout>
#include <QPushButton>
ColorPickerWidget::ColorPickerWidget(QWidget *parent) ColorPickerWidget::ColorPickerWidget(QWidget *parent)
: QWidget{parent} : QWidget(parent) {
{ QVBoxLayout *layout = new QVBoxLayout(this);
colorListWidget = new QListWidget(this);
layout->addWidget(colorListWidget);
QPushButton *addColorButton = new QPushButton("Add Color", this);
connect(addColorButton, &QPushButton::clicked, this, &ColorPickerWidget::addColor);
layout->addWidget(addColorButton);
QPushButton *pickColorButton = new QPushButton("Pick Color", this);
connect(pickColorButton, &QPushButton::clicked, this, &ColorPickerWidget::pickColor);
layout->addWidget(pickColorButton);
}
void ColorPickerWidget::addColor() {
QColor color = QColorDialog::getColor(Qt::white, this, "Select Color");
if (color.isValid()) {
QListWidgetItem *item = new QListWidgetItem(colorListWidget);
item->setBackground(QBrush(color));
}
}
void ColorPickerWidget::pickColor() {
QListWidgetItem *selectedItem = colorListWidget->currentItem();
if (selectedItem) {
QColor color = QColorDialog::getColor(selectedItem->background().color(), this, "Pick Color");
if (color.isValid()) {
selectedItem->setBackground(QBrush(color));
}
} }
}
#ifndef COLORPICKERWIDGET_H #ifndef COLORPICKERWIDGET_H
#define COLORPICKERWIDGET_H #define COLORPICKERWIDGET_H
#include <QWidget> #include <QColorDialog>
#include <QListWidget>
#include <QListWidgetItem>
#include <QVBoxLayout>
#include <QPushButton>
class ColorPickerWidget : public QWidget class ColorPickerWidget : public QWidget {
{
Q_OBJECT Q_OBJECT
public: public:
explicit ColorPickerWidget(QWidget *parent = nullptr); ColorPickerWidget(QWidget *parent = nullptr);
signals: private slots:
void addColor();
void pickColor();
private:
QListWidget *colorListWidget;
}; };
#endif // COLORPICKERWIDGET_H #endif // COLORPICKERWIDGET_H
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
#include <QApplication> #include <QApplication>
#include <QQuickStyle> #include <QQuickStyle>
#include <QFile> #include <QFile>
#include <colorpickerwidget.h>
QString getStyleSheet(const QString & path) { QString getStyleSheet(const QString & path) {
QFile file(path); QFile file(path);
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <QListWidgetItem> #include <QListWidgetItem>
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QPushButton> #include <QPushButton>
#include <colorpickerwidget.h>
#include <ui/menu/filemenulambda.h> #include <ui/menu/filemenulambda.h>
...@@ -14,6 +15,8 @@ ...@@ -14,6 +15,8 @@
MainWindow::MainWindow(QWidget * parent) MainWindow::MainWindow(QWidget * parent)
: QMainWindow(parent), _toolRegister(), _fileselectorManager(nullptr), _viewManager(nullptr) { : QMainWindow(parent), _toolRegister(), _fileselectorManager(nullptr), _viewManager(nullptr) {
this->setupUi(this); this->setupUi(this);
this->setAcceptDrops(true); this->setAcceptDrops(true);
this->_imageTabs->clear(); this->_imageTabs->clear();
...@@ -25,6 +28,11 @@ MainWindow::MainWindow(QWidget * parent) ...@@ -25,6 +28,11 @@ MainWindow::MainWindow(QWidget * parent)
QObject::connect(this->_remove_selectable_element, SIGNAL(released()), this->_fileselectorManager, SLOT(removeSelectedItem())); QObject::connect(this->_remove_selectable_element, SIGNAL(released()), this->_fileselectorManager, SLOT(removeSelectedItem()));
QObject::connect(this->_add_selectable_element, SIGNAL(released()), this->_fileselectorManager, SLOT(pushItem())); QObject::connect(this->_add_selectable_element, SIGNAL(released()), this->_fileselectorManager, SLOT(pushItem()));
ColorWindow = findChild<QPushButton*>("ColorWindow");
// Connect the button's clicked signal to the openColorPicker slot
connect(ColorWindow, &QPushButton::clicked, this, &MainWindow::openColorPicker);
this->_viewManager = new ui::ViewManager(this->_fileselectorManager, this->_imageTabs); this->_viewManager = new ui::ViewManager(this->_fileselectorManager, this->_imageTabs);
this->_menubarManager.insert(this->_menuFile, QSharedPointer<ui::MenuLambda>(new ui::FilemenuLambda(this->_fileselectorManager))); this->_menubarManager.insert(this->_menuFile, QSharedPointer<ui::MenuLambda>(new ui::FilemenuLambda(this->_fileselectorManager)));
...@@ -40,6 +48,11 @@ void MainWindow::dragEnterEvent(QDragEnterEvent *e) { ...@@ -40,6 +48,11 @@ void MainWindow::dragEnterEvent(QDragEnterEvent *e) {
void MainWindow::dropEvent(QDropEvent * e) { void MainWindow::dropEvent(QDropEvent * e) {
this->_fileselectorManager->onDrop(e); this->_fileselectorManager->onDrop(e);
} }
void MainWindow::openColorPicker()
{
colorPickerWidget.show();
}
MainWindow::~MainWindow() { MainWindow::~MainWindow() {
delete this->_fileselectorManager; delete this->_fileselectorManager;
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "ui/menu/menubarmanager.h" #include "ui/menu/menubarmanager.h"
#include "ui/files/fileselector.h" #include "ui/files/fileselector.h"
#include "ui/view/viewmanager.h" #include "ui/view/viewmanager.h"
#include <colorpickerwidget.h>
class MainWindow : public QMainWindow, private Ui::MainWindow { class MainWindow : public QMainWindow, private Ui::MainWindow {
Q_OBJECT Q_OBJECT
...@@ -25,4 +26,10 @@ class MainWindow : public QMainWindow, private Ui::MainWindow { ...@@ -25,4 +26,10 @@ class MainWindow : public QMainWindow, private Ui::MainWindow {
virtual void dropEvent(QDropEvent * e); virtual void dropEvent(QDropEvent * e);
virtual void dragEnterEvent(QDragEnterEvent *e); virtual void dragEnterEvent(QDragEnterEvent *e);
private slots:
void openColorPicker(); // Slot to open the ColorPickerWidget
private:
ColorPickerWidget colorPickerWidget; // Declare ColorPickerWidget as a private member
QPushButton *ColorWindow; // Assuming you have a QPushButton in your UI
}; };
...@@ -319,6 +319,13 @@ ...@@ -319,6 +319,13 @@
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
</property> </property>
<item>
<widget class="QPushButton" name="ColorWindow">
<property name="text">
<string>Open Color Picker</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QListWidget" name="_toolbox"> <widget class="QListWidget" name="_toolbox">
<property name="sizePolicy"> <property name="sizePolicy">
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment