[SOLVED] CS #include mainwindow.h

$25

File Name: CS_#include_mainwindow.h.zip
File Size: 226.08 KB

5/5 - (1 vote)

#include mainwindow.h
#include ui_mainwindow.h
#include canvaswidget.h

#if FANCY_COLOR_PICKER
#include QtColorWidgets/color_dialog.hpp
#endif

#include
#include
#include
#include
#include

#include

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
canvas = ui->paintCanvas;
// canvas->resize( 300, 300 );

#if FANCY_COLOR_PICKER
colorPicker = new color_widgets::ColorDialog(this);
colorPicker->setColorSpace( color_widgets::ColorWheel::ColorLCH );
colorPicker->setColor( canvas->getColor() );
colorPicker->setAlphaEnabled( true );
colorPicker->setButtonMode( color_widgets::ColorDialog::Close );
connect( colorPicker, &color_widgets::ColorDialog::colorChanged, canvas, &CanvasWidget::setColor );
#endif

// Update the preview window.
connect( canvas, &CanvasWidget::brushChanged, this, &MainWindow::updateBrushPreview );
updateBrushPreview( canvas->getBrushImage() );
}

MainWindow::~MainWindow()
{
delete ui;
}

void MainWindow::closeEvent( QCloseEvent* event )
{
if( saveChangesIfNeeded() ) {
event->accept();
} else {
event->ignore();
}
}

bool MainWindow::open()
{
if( !saveChangesIfNeeded() ) return false;

QString filePath = QFileDialog::getOpenFileName(
this,
Open an Existing Image,
QDir::currentPath(),
Images (*.png *.jpg *.jpeg *.gif *.bmp *.ppm *.svg)
);

if( filePath.isEmpty() ) return false;

return canvas->loadFromPath( filePath );
}

bool MainWindow::saveAs()
{
QString defaultPath = QDir::currentPath() + /untitled.png;

QString savePath = QFileDialog::getSaveFileName(
this,
Save As,
defaultPath,
Images (*.png *.jpg *.jpeg *.gif *.bmp *.ppm *.svg)
);

if( savePath.isEmpty() ) { return false; }

return canvas->saveToPath( savePath );
}

void MainWindow::chooseColor()
{
#if FANCY_COLOR_PICKER
colorPicker->show();
#else
QColor newColor = QColorDialog::getColor( canvas->getColor(), 0, Choose Color, QColorDialog::ShowAlphaChannel );
if( !newColor.isValid() ) return;

canvas->setColor( newColor );
#endif
}

bool MainWindow::saveChangesIfNeeded()
{
if( !canvas->isModified() ) return true;

QMessageBox::StandardButton result;
result = QMessageBox::warning( this,
Airbrush, Do you want to save your changes?,
QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel
);

if( result == QMessageBox::Save ) {
return saveAs();
} else if( result == QMessageBox::Cancel ) {
return false;
} else { // Discard Changes
return true;
}
}

void MainWindow::updateBrushPreview( const QImage& brush )
{
ui->airbrushPreview->setPixmap( QPixmap::fromImage( brush ) );
ui->airbrushPreview->update();
}

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] CS #include mainwindow.h
$25