Merge branch 'dev' into dev-CleanUp

This commit is contained in:
Sonaion
2020-01-30 13:32:26 +01:00
15 changed files with 145 additions and 1092 deletions

View File

@@ -10,5 +10,6 @@
<file>icons/line-tool.svg</file>
<file>icons/flood-fill-tool.svg</file>
<file>icons/plain-tool.svg</file>
<file>icons/gradient-tool.svg</file>
</qresource>
</RCC>

View File

@@ -7,6 +7,8 @@
#include <QCloseEvent>
#include <QDebug>
#include <string>
#include <QScreen>
#include <QGuiApplication>
// IntelliPhotoGui constructor
IntelliPhotoGui::IntelliPhotoGui(){
@@ -20,7 +22,7 @@ IntelliPhotoGui::IntelliPhotoGui(){
setIntelliStyle();
// Size the app
resize(600,600);
showMaximized();
showMaximized();
setDefaultValues();
}
@@ -242,13 +244,13 @@ void IntelliPhotoGui::slotSetActiveLayer(){
void IntelliPhotoGui::slotUpdateFastRenderSettingsOn(){
paintingArea->setRenderSettings(true);
FastRendererLabel->setText("Fast Render: On");
FastRendererLabel->setText("Fast Render: On");
UpdateGui();
}
void IntelliPhotoGui::slotUpdateFastRenderSettingsOff(){
paintingArea->setRenderSettings(false);
FastRendererLabel->setText("Fast Render: Off");
FastRendererLabel->setText("Fast Render: Off");
UpdateGui();
}
@@ -303,8 +305,8 @@ void IntelliPhotoGui::slotCreateFloodFillTool(){
}
void IntelliPhotoGui::slotCreateGradientTool(){
GradientButton->setChecked(true);
paintingArea->createGradientTool();
GradientButton->setChecked(true);
paintingArea->createGradientTool();
}
// Open an about dialog
@@ -330,6 +332,7 @@ void IntelliPhotoGui::slotEnterPressed(){
void IntelliPhotoGui::slotResetToolButtons(){
CircleButton->setChecked(false);
FloodFillButton->setChecked(false);
GradientButton->setChecked(false);
LineButton->setChecked(false);
PenButton->setChecked(false);
PlainButton->setChecked(false);
@@ -421,7 +424,7 @@ void IntelliPhotoGui::createActions(){
connect(actionCreateNewShapedLayer, SIGNAL(triggered()), this, SLOT(slotCreateNewShapedLayer()));
// Delete New Layer action and tie to IntelliPhotoGui::deleteLayer()
actionDeleteLayer = new QAction(tr("&Delete Layer..."), this);
actionDeleteLayer = new QAction(tr("&Delete Layer"), this);
actionDeleteLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_D));
connect(actionDeleteLayer, SIGNAL(triggered()), this, SLOT(slotDeleteLayer()));
@@ -430,39 +433,39 @@ void IntelliPhotoGui::createActions(){
connect(actionChangeDim, SIGNAL(triggered()), this, SLOT(slotChangeDim()));
connect(dimCanvas, SIGNAL(clicked()), this, SLOT(slotChangeDim()));
actionSetActiveLayer = new QAction(tr("&set Active"), this);
actionSetActiveLayer = new QAction(tr("&Set Active"), this);
actionSetActiveLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_A));
connect(actionSetActiveLayer, SIGNAL(triggered()), this, SLOT(slotSetActiveLayer()));
actionSetActiveAlpha = new QAction(tr("&set Alpha"), this);
actionSetActiveAlpha = new QAction(tr("&Set Alpha"), this);
actionSetActiveAlpha->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_A));
connect(actionSetActiveAlpha, SIGNAL(triggered()), this, SLOT(slotSetActiveAlpha()));
actionSetPolygon = new QAction(tr("&set new Polygondata"), this);
actionSetPolygon = new QAction(tr("&Set Polygon Data"), this);
actionSetPolygon->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_P));
connect(actionSetPolygon, SIGNAL(triggered()), this, SLOT(slotSetPolygon()));
actionMovePositionUp = new QAction(tr("&move Up"), this);
actionMovePositionUp = new QAction(tr("&Move Up"), this);
actionMovePositionUp->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up));
connect(actionMovePositionUp, SIGNAL(triggered()), this, SLOT(slotPositionMoveUp()));
actionMovePositionDown = new QAction(tr("&move Down"), this);
actionMovePositionDown = new QAction(tr("&Move Down"), this);
actionMovePositionDown->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down));
connect(actionMovePositionDown, SIGNAL(triggered()), this, SLOT(slotPositionMoveDown()));
actionMovePositionLeft = new QAction(tr("&move Left"), this);
actionMovePositionLeft = new QAction(tr("&Move Left"), this);
actionMovePositionLeft->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left));
connect(actionMovePositionLeft, SIGNAL(triggered()), this, SLOT(slotPositionMoveLeft()));
actionMovePositionRight = new QAction(tr("&move Right"), this);
actionMovePositionRight = new QAction(tr("&Move Right"), this);
actionMovePositionRight->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Right));
connect(actionMovePositionRight, SIGNAL(triggered()), this, SLOT(slotPositionMoveRight()));
actionMoveLayerUp = new QAction(tr("&move Layer Up"), this);
actionMoveLayerUp = new QAction(tr("&Move Forth"), this);
actionMoveLayerUp->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Up));
connect(actionMoveLayerUp, SIGNAL(triggered()), this, SLOT(slotMoveLayerUp()));
actionMoveLayerDown = new QAction(tr("&move Layer Down"), this);
actionMoveLayerDown = new QAction(tr("&Move Back"), this);
actionMoveLayerDown->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Down));
connect(actionMoveLayerDown, SIGNAL(triggered()), this, SLOT(slotMoveLayerDown()));
@@ -528,18 +531,17 @@ void IntelliPhotoGui::createActions(){
connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotResetToolButtons()));
connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotCreateFloodFillTool()));
actionCreateGradientTool = new QAction(tr("&Gradient"),this);
connect(actionCreateGradientTool, SIGNAL(triggered()), this, SLOT(slotResetToolButtons()));
connect(actionCreateGradientTool, SIGNAL(triggered()), this, SLOT(slotCreateGradientTool()));
actionCreateGradientTool = new QAction(tr("&Gradient"),this);
actionCreateGradientTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_G));
connect(actionCreateGradientTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
connect(actionCreateGradientTool, SIGNAL(triggered()), this, SLOT(slotCreateGradientTool()));
// Create about action and tie to IntelliPhotoGui::about()
actionAboutDialog = new QAction(tr("&About"), this);
actionAboutDialog->setShortcut(Qt::Key_F2);
actionAboutDialog = new QAction(tr("&About"), this);
connect(actionAboutDialog, SIGNAL(triggered()), this, SLOT(slotAboutDialog()));
// Create about Qt action and tie to IntelliPhotoGui::aboutQt()
actionAboutQtDialog = new QAction(tr("About &Qt"), this);
actionAboutQtDialog->setShortcut(Qt::Key_F3);
actionAboutQtDialog = new QAction(tr("About &Qt"), this);
connect(actionAboutQtDialog, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
connect(EditLineWidth, SIGNAL(returnPressed()), this, SLOT(slotEnterPressed()));
@@ -551,8 +553,8 @@ void IntelliPhotoGui::createActions(){
connect(FloodFillButton,SIGNAL(pressed()), this, SLOT(slotResetToolButtons()));
connect(FloodFillButton, SIGNAL(clicked()), this, SLOT(slotCreateFloodFillTool()));
connect(GradientButton, SIGNAL(pressed()), this, SLOT(slotResetToolButtons()));
connect(GradientButton, SIGNAL(clicked()), this, SLOT(slotCreateGradientTool()));
connect(GradientButton, SIGNAL(pressed()), this, SLOT(slotResetTools()));
connect(GradientButton, SIGNAL(clicked()), this, SLOT(slotCreateGradientTool()));
connect(LineButton,SIGNAL(pressed()), this, SLOT(slotResetToolButtons()));
connect(LineButton, SIGNAL(clicked()), this, SLOT(slotCreateLineTool()));
@@ -577,11 +579,11 @@ void IntelliPhotoGui::createActions(){
actionSetInnerAlpha->setShortcut(QKeySequence(Qt::ALT + Qt::Key_A));
connect(actionSetInnerAlpha, SIGNAL(triggered()), this, SLOT(slotSetInnerAlpha()));
actionGoBack = new QAction(tr("&Go back"),this);
actionGoBack = new QAction(tr("&Undo"),this);
actionGoBack->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Z));
connect(actionGoBack, SIGNAL(triggered()), this, SLOT(slotGoBack()));
actionGoForward = new QAction(tr("&Go forward"),this);
actionGoForward = new QAction(tr("&Redo"),this);
actionGoForward->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Y));
connect(actionGoForward, SIGNAL(triggered()), this, SLOT(slotGoForward()));
}
@@ -600,13 +602,13 @@ void IntelliPhotoGui::createMenus(){
fileMenu->addSeparator();
fileMenu->addAction(actionExit);
//Attach all actions to Render Settings
// Attach all actions to Render Settings
renderMenu = new QMenu(tr("&Fast Renderer"), this);
renderMenu->addAction(actionUpdateFastRenderSettingsOn);
renderMenu->addAction(actionUpdateFastRenderSettingsOff);
//Attach all Layer Creations to Menu
layerCreationMenu = new QMenu(tr("&Create new Layer"), this);
// Attach all Layer Creations to Menu
layerCreationMenu = new QMenu(tr("&Create Layer"), this);
layerCreationMenu->addAction(actionCreateNewRasterLayer);
layerCreationMenu->addAction(actionCreateNewShapedLayer);
@@ -627,41 +629,37 @@ void IntelliPhotoGui::createMenus(){
layerMenu->addSeparator();
layerMenu->addAction(actionDeleteLayer);
//Attach all Color Options
// Attach all Color Options
colorMenu = new QMenu(tr("&Color"), this);
colorMenu->addAction(actionColorPickerFirstColor);
colorMenu->addAction(actionColorPickerSecondColor);
colorMenu->addAction(actionColorSwap);
//Attach all Tool Creation Actions
toolCreationMenu = new QMenu(tr("&Drawingtools"), this);
// Attach all Tool Creation Actions
toolCreationMenu = new QMenu(tr("&Tool Selection"), this);
toolCreationMenu->addAction(actionCreateCircleTool);
toolCreationMenu->addAction(actionCreateFloodFillTool);
toolCreationMenu->addAction(actionCreateGradientTool);
toolCreationMenu->addAction(actionCreateFloodFillTool);
toolCreationMenu->addAction(actionCreateGradientTool);
toolCreationMenu->addAction(actionCreateLineTool);
toolCreationMenu->addAction(actionCreatePenTool);
toolCreationMenu->addAction(actionCreatePlainTool);
toolCreationMenu->addAction(actionCreatePolygonTool);
toolCreationMenu->addAction(actionCreateRectangleTool);
//Attach all Tool Setting Actions
toolSettingsMenu = new QMenu(tr("&Toolsettings"), this);
// Attach all Tool Setting Actions
toolSettingsMenu = new QMenu(tr("&Tool Settings"), this);
toolSettingsMenu->addAction(actionSetWidth);
toolSettingsMenu->addAction(actionSetInnerAlpha);
//Attach all Tool Options
// Attach all Tool Options
toolMenu = new QMenu(tr("&Tools"), this);
toolMenu->addMenu(toolCreationMenu);
toolMenu->addMenu(toolSettingsMenu);
toolMenu->addSeparator();
toolMenu->addMenu(colorMenu);
toolMenu->addMenu(toolSettingsMenu);
// Attach all actions to Options
optionMenu = new QMenu(tr("&Options"), this);
optionMenu->addAction(actionGoBack);
optionMenu->addAction(actionGoForward);
optionMenu->addMenu(layerMenu);
optionMenu->addMenu(toolMenu);
optionMenu->addAction(actionGoForward);
optionMenu->addSeparator();
optionMenu->addMenu(renderMenu);
optionMenu->addAction(actionChangeDim);
@@ -674,6 +672,9 @@ void IntelliPhotoGui::createMenus(){
// Add menu items to the menubar
menuBar()->addMenu(fileMenu);
menuBar()->addMenu(optionMenu);
menuBar()->addMenu(layerMenu);
menuBar()->addMenu(toolMenu);
menuBar()->addMenu(colorMenu);
menuBar()->addMenu(helpMenu);
}
@@ -691,6 +692,11 @@ void IntelliPhotoGui::createGui(){
paintingArea = new PaintingArea(1280, 720);
paintingArea->guiReference = this;
QScreen *screen = QGuiApplication::primaryScreen();
QRect screenGeometry = screen->geometry();
Buttonsize.setWidth(screenGeometry.width()/20);
Buttonsize.setHeight(screenGeometry.height()/20);
preview = QPixmap(":/Icons/Buttons/icons/circle-tool.svg");
CircleButton = new QPushButton();
CircleButton->setFixedSize(Buttonsize);
@@ -705,7 +711,7 @@ void IntelliPhotoGui::createGui(){
FloodFillButton->setIconSize(Buttonsize);
FloodFillButton->setCheckable(true);
preview = QPixmap(":/Icons/Buttons/icons/icon.png");
preview = QPixmap(":/Icons/Buttons/icons/gradient-tool.svg");
GradientButton = new QPushButton();
GradientButton->setFixedSize(Buttonsize);
GradientButton->setIcon(preview);
@@ -810,9 +816,9 @@ void IntelliPhotoGui::createGui(){
QString String = QString("%1x%2").arg(paintingArea->Canvas->width()).arg(paintingArea->Canvas->height());
dimCanvas->setText(String);
FastRendererLabel = new QLabel();
FastRendererLabel->setFixedSize(Buttonsize.width() * 2 + 15,(Buttonsize.height() * 2) / 3);
FastRendererLabel->setText("Fast Render: On");
FastRendererLabel = new QLabel();
FastRendererLabel->setFixedSize(Buttonsize.width() * 2 + 15,(Buttonsize.height() * 2) / 3);
FastRendererLabel->setText("Fast Render: On");
ScrollArea = new QScrollArea(this);
ScrollArea->setBackgroundRole(QPalette::Dark);
@@ -829,7 +835,7 @@ void IntelliPhotoGui::createGui(){
mainLayout->addWidget(PlainButton,3,2,1,1);
mainLayout->addWidget(PolygonButton,3,3,1,1);
mainLayout->addWidget(RectangleButton,4,2,1,1);
mainLayout->addWidget(GradientButton,4,3,1,1);
mainLayout->addWidget(GradientButton,4,3,1,1);
mainLayout->addWidget(WidthLine,5,2,1,2);
mainLayout->addWidget(EditLineWidth,6,2,1,2);
mainLayout->addWidget(innerAlphaLine,7,2,1,2);
@@ -841,7 +847,7 @@ void IntelliPhotoGui::createGui(){
mainLayout->addWidget(ActiveLayerImageLabel,12,2,1,2);
mainLayout->addWidget(dimActive,13,2,1,2);
mainLayout->addWidget(dimCanvas,14,2,1,2);
mainLayout->addWidget(FastRendererLabel,15,2,1,2);
mainLayout->addWidget(FastRendererLabel,15,2,1,2);
mainLayout->setHorizontalSpacing(0);
}

View File

@@ -290,7 +290,7 @@ QPixmap preview;
/*!
* \brief Buttonsize the size of all standard buttons
*/
const QSize Buttonsize = QSize(35,35);
QSize Buttonsize;
/*!
* \brief CircleButton for creating a circle Tool

135
src/icons/gradient-tool.svg Normal file
View File

@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
viewBox="0 0 67.733332 67.733335"
version="1.1"
id="svg8"
sodipodi:docname="gradient-tool.svg"
inkscape:version="0.92.4 (f8dce91, 2019-08-02)">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient108">
<stop
style="stop-color:#00ff00;stop-opacity:1"
offset="0"
id="stop104" />
<stop
id="stop114"
offset="0.26227671"
style="stop-color:#ffcc00;stop-opacity:1" />
<stop
id="stop112"
offset="0.49107137"
style="stop-color:#ff6600;stop-opacity:1" />
<stop
style="stop-color:#d40000;stop-opacity:1"
offset="0.66964281"
id="stop116" />
<stop
style="stop-color:#00ffff;stop-opacity:1"
offset="1"
id="stop106" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient36">
<stop
style="stop-color:#d40000;stop-opacity:1;"
offset="0"
id="stop32" />
<stop
style="stop-color:#d40000;stop-opacity:0;"
offset="1"
id="stop34" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient36"
id="linearGradient38"
x1="147.98735"
y1="176.19795"
x2="-13.131983"
y2="106.49742"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient108"
id="linearGradient110"
x1="0"
y1="296.99997"
x2="67.73333"
y2="229.26665"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="105.15717"
inkscape:cy="134.5586"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
showguides="false"
inkscape:window-width="1853"
inkscape:window-height="1025"
inkscape:window-x="67"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:snap-page="true" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26665)">
<rect
style="fill:url(#linearGradient110);fill-opacity:1;stroke-width:0.26458332"
id="rect102"
width="67.73333"
height="67.73333"
x="0"
y="229.26665"
ry="3.6852665" />
<path
style="fill:none;stroke:#000000;stroke-width:2.117;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M 7.8430058,289.81843 60.854166,236.80727"
id="path845"
inkscape:connector-curvature="0" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.85208333;stroke-miterlimit:4;stroke-dasharray:none"
id="path4572"
cx="7.8902526"
cy="289.86566"
r="2.5985863" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB