From b5e05a9c6a3c15c6ccbd5e0b1fd310862234eb24 Mon Sep 17 00:00:00 2001 From: AshBastian Date: Wed, 15 Jan 2020 15:48:38 +0100 Subject: [PATCH] Update InputBoxes --- src/GUI/IntelliInputDialog.cpp | 31 +++--- src/GUI/IntelliInputDialog.h | 13 +-- src/GUI/IntelliPhotoGui.cpp | 118 ++++++++++------------ src/GUI/IntelliPhotoGui.h | 3 +- src/IntelliHelper/IntelliToolsettings.cpp | 24 +---- src/IntelliHelper/IntelliToolsettings.h | 2 - src/IntelliPhoto.pro | 2 + 7 files changed, 79 insertions(+), 114 deletions(-) diff --git a/src/GUI/IntelliInputDialog.cpp b/src/GUI/IntelliInputDialog.cpp index e62b091..4e7bee6 100644 --- a/src/GUI/IntelliInputDialog.cpp +++ b/src/GUI/IntelliInputDialog.cpp @@ -1,8 +1,8 @@ #include "IntelliInputDialog.h" - -IntelliInputDialog::IntelliInputDialog(Speichereinheit &Speicher, QEventLoop* Loop, IntelliInputDialog* Dialog, QString Title, QString Label, int value, int minValue, int maxValue, int step) +#include +IntelliInputDialog::IntelliInputDialog(QEventLoop* Loop, IntelliInputDialog* Dialog, QString Title, QString Label, int value, int minValue, int maxValue, int step) { - this->Dialog = Dialog; + this->Dialog = Dialog; createInputBox(Title, Label, value, minValue, maxValue, step); createConnections(Loop); setValuesOfPalette(); @@ -54,7 +54,7 @@ void IntelliInputDialog::createInputBox(QString Title, QString Label, int value, } void IntelliInputDialog::createConnections(QEventLoop* Loop){ - connect(okButton, SIGNAL(clicked()), this, SLOT(slotEingabe(Speicher))); + connect(okButton, SIGNAL(clicked()), this, SLOT(slotEingabe())); connect(okButton, SIGNAL(clicked()), Loop, SLOT(quit())); connect(cancelButton, SIGNAL(clicked()), this, SLOT(slotCloseEvent())); connect(cancelButton, SIGNAL(clicked()), Loop, SLOT(quit())); @@ -84,16 +84,21 @@ void IntelliInputDialog::slotCloseEvent(){ Dialog->close(); } -void IntelliInputDialog::slotEingabe(Speichereinheit &Speicher){ - qDebug() << Input->value(); - SetValueToGUI(); +void IntelliInputDialog::slotEingabe(){ + QFile File("test.txt"); + + if(!File.open(QIODevice::WriteOnly | QIODevice::Text)){ + qDebug() << "Error Write to File"; + } + std::string test = QString("%1").arg(Input->value()).toStdString(); + const char* p = test.c_str(); + File.write(p); + File.close(); + Dialog->close(); } -void IntelliInputDialog::SetValueToGUI(){ - Input->value(); -} - -void IntelliInputDialog::getIntInput(Speichereinheit &Speicher, QEventLoop* Loop, IntelliInputDialog* Dialog, QString Title, QString Label, int value, int minValue, int maxValue, int step){ - this->Dialog = new IntelliInputDialog(Speicher, Loop, Dialog, Title, Label, value, minValue, maxValue, step); +void IntelliInputDialog::getIntInput(QEventLoop* Loop, IntelliInputDialog* Dialog, QString Title, QString Label, int value, int minValue, int maxValue, int step){ + this->Dialog = new IntelliInputDialog(Loop, Dialog, Title, Label, value, minValue, maxValue, step); + Loop->exec(); } diff --git a/src/GUI/IntelliInputDialog.h b/src/GUI/IntelliInputDialog.h index c78f63b..d420e8b 100644 --- a/src/GUI/IntelliInputDialog.h +++ b/src/GUI/IntelliInputDialog.h @@ -3,23 +3,18 @@ #include #include -#include "IntelliPhotoGui.h" - -class Speichereinheit { -int value; -}; class IntelliInputDialog : public QDialog { Q_OBJECT public: -IntelliInputDialog(Speichereinheit &Speicher, QEventLoop* Loop = nullptr, IntelliInputDialog* Dialog = nullptr, QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1); +IntelliInputDialog(QEventLoop* Loop = nullptr, IntelliInputDialog* Dialog = nullptr, QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1); -void getIntInput(Speichereinheit &Speicher, QEventLoop* Loop = nullptr, IntelliInputDialog* Dialog = nullptr, QString Title = "InputBox", QString Label = "Weight:", int value = 0, int minValue = -2147483647, int maxValue = 2147483647, int step = 1); +void getIntInput(QEventLoop* Loop = nullptr, IntelliInputDialog* Dialog = nullptr, QString Title = "InputBox", QString Label = "Weight:", int value = 0, int minValue = -2147483647, int maxValue = 2147483647, int step = 1); public slots: void slotCloseEvent(); -void slotEingabe(Speichereinheit &Speicher); +void slotEingabe(); private: void createInputBox(QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1); @@ -27,8 +22,6 @@ void createConnections(QEventLoop* Loop = nullptr); void setValuesOfPalette(); void setInputBoxStyle(); -void SetValueToGUI(); - QDialog* Dialog; QGridLayout* Layout; diff --git a/src/GUI/IntelliPhotoGui.cpp b/src/GUI/IntelliPhotoGui.cpp index 88b0a4f..6281e92 100644 --- a/src/GUI/IntelliPhotoGui.cpp +++ b/src/GUI/IntelliPhotoGui.cpp @@ -5,7 +5,7 @@ // IntelliPhotoGui constructor IntelliPhotoGui::IntelliPhotoGui(IntelliInputDialog* InputDialog){ - //this->InputDialog = InputDialog; + this->InputDialog = InputDialog; // create Gui elements and lay them out createGui(); // Create actions @@ -68,19 +68,16 @@ void IntelliPhotoGui::slotSave(){ // Opens a dialog that allows the user to create a New Layer void IntelliPhotoGui::slotCreateNewLayer(){ - // Stores button value - // "New Layer" is the title of the window // the next tr is the text to display // Define the standard Value, min, max, step and ok button - Speichereinheit Speicher; - this->InputDialog->getIntInput(Speicher, &Loop, this->InputDialog, "New Layer", "Width:", 5, 0, 5000, 1); + this->InputDialog->getIntInput(&Loop, this->InputDialog, "New Layer", "Width:", 200, 0, 5000, 1); - int width = returnValueOfInputDialog; + int width = getReturnValueOfDialog(); - qDebug() << width; + this->InputDialog->getIntInput(&Loop, this->InputDialog, "New Layer", "Height:", 200, 0, 5000, 1); - int height = 25;//QInputDialog::getInt(this, tr("New Layer"),tr("Height:"),200,1, 500, 1, &ok2); + int height = getReturnValueOfDialog(); // Create New Layer paintingArea->addLayer(width,height,0,0); @@ -89,41 +86,29 @@ void IntelliPhotoGui::slotCreateNewLayer(){ // Opens a dialog that allows the user to delete a Layer void IntelliPhotoGui::slotDeleteLayer(){ - // Stores button value - bool ok; - // "delete Layer" is the title of the window // the next tr is the text to display // Define the standard Value, min, max, step and ok button - int layerNumber = QInputDialog::getInt(this, tr("delete Layer"), - tr("Number:"), - paintingArea->getNumberOfActiveLayer()+1,1, 501, 1, &ok); + this->InputDialog->getIntInput(&Loop, this->InputDialog, "Delete Layer", "Number:", paintingArea->getNumberOfActiveLayer()+1, 1, 501, 1); + int layerNumber = getReturnValueOfDialog(); + // Create New Layer - if (ok) { - paintingArea->deleteLayer(layerNumber-1); - UpdateGui(); - } + paintingArea->deleteLayer(layerNumber-1); + UpdateGui(); } void IntelliPhotoGui::slotSetActiveAlpha(){ - // Stores button value - bool ok1, ok2; - // "Layer to set on" is the title of the window // the next tr is the text to display // Define the standard Value, min, max, step and ok button - int layer = QInputDialog::getInt(this, tr("Layer to set on"), - tr("Layer:"), - 1,1,500,1, &ok1); + this->InputDialog->getIntInput(&Loop, this->InputDialog, "Layer to set on", "Layer:", paintingArea->getNumberOfActiveLayer()+1, 1, 501, 1); + int layer = getReturnValueOfDialog(); + // "New Alpha" is the title of the window - int alpha = QInputDialog::getInt(this, tr("New Alpha"), - tr("Alpha:"), - 255,0, 255, 1, &ok2); - if (ok1&&ok2) - { - paintingArea->setLayerAlpha(layer-1,alpha); - UpdateGui(); - } + this->InputDialog->getIntInput(&Loop, this->InputDialog, "New Alpha", "Alpha:", 255, 0, 255, 1); + int alpha = getReturnValueOfDialog(); + paintingArea->setLayerAlpha(layer-1,alpha); + UpdateGui(); } void IntelliPhotoGui::slotPositionMoveUp(){ @@ -157,49 +142,36 @@ void IntelliPhotoGui::slotMoveLayerDown(){ } void IntelliPhotoGui::slotClearActiveLayer(){ - // Stores button value - bool ok1, ok2, ok3, ok4; - // "Red Input" is the title of the window // the next tr is the text to display // Define the standard Value, min, max, step and ok button - int red = QInputDialog::getInt(this, tr("Red Input"), - tr("Red:"), - 255,0, 255,1, &ok1); + this->InputDialog->getIntInput(&Loop, this->InputDialog, "Red Input", "Red:", 255, 0, 255, 1); + int red = getReturnValueOfDialog(); + // "Green Input" is the title of the window - int green = QInputDialog::getInt(this, tr("Green Input"), - tr("Green:"), - 255,0, 255, 1, &ok2); + this->InputDialog->getIntInput(&Loop, this->InputDialog, "Green Input", "Green:", 255, 0, 255, 1); + int green = getReturnValueOfDialog(); + // "Blue Input" is the title of the window - int blue = QInputDialog::getInt(this, tr("Blue Input"), - tr("Blue:"), - 255,0, 255, 1, &ok3); + this->InputDialog->getIntInput(&Loop, this->InputDialog, "Blue Input", "Blue:", 255, 0, 255, 1); + int blue = getReturnValueOfDialog(); + // "Alpha Input" is the title of the window - int alpha = QInputDialog::getInt(this, tr("Alpha Input"), - tr("Alpha:"), - 255,0, 255, 1, &ok4); - if (ok1&&ok2&&ok3&&ok4) - { - paintingArea->floodFill(red, green, blue, alpha); - UpdateGui(); - } + this->InputDialog->getIntInput(&Loop, this->InputDialog, "Alpha Input", "Alpha:", 255, 0, 255, 1); + int alpha = getReturnValueOfDialog(); + + paintingArea->floodFill(red, green, blue, alpha); + UpdateGui(); } void IntelliPhotoGui::slotSetActiveLayer(){ - // Stores button value - bool ok1; - // "Layer to set on" is the title of the window // the next tr is the text to display // Define the standard Value, min, max, step and ok button - int layer = QInputDialog::getInt(this, tr("Layer to set on"), - tr("Layer:"), - 1,1,500,1, &ok1); - if (ok1) - { - paintingArea->setLayerActive(layer-1); - UpdateGui(); - } + this->InputDialog->getIntInput(&Loop, this->InputDialog, "Layer to set on", "Layer:", 1, 1, 501, 1); + int layer = getReturnValueOfDialog(); + paintingArea->setLayerActive(layer-1); + UpdateGui(); } void IntelliPhotoGui::slotUpdateRenderSettingsOn(){ @@ -293,12 +265,14 @@ void IntelliPhotoGui::slotResetTools(){ } void IntelliPhotoGui::slotSetWidth(){ - paintingArea->Toolsettings.setLineWidth(); + this->InputDialog->getIntInput(&Loop, this->InputDialog, "Toolsettings", "Width:", 5, 1, 50, 1); + paintingArea->Toolsettings.setLineWidth(getReturnValueOfDialog()); EditLineWidth->setText(QString("%1").arg(paintingArea->Toolsettings.getLineWidth())); } void IntelliPhotoGui::slotSetInnerAlpha(){ - paintingArea->Toolsettings.setInnerAlpha(); + this->InputDialog->getIntInput(&Loop, this->InputDialog, "Toolsettings", "Inner Alpha:", 255, 0, 255, 1); + paintingArea->Toolsettings.setInnerAlpha(getReturnValueOfDialog()); EditLineInnerAlpha->setText(QString("%1").arg(paintingArea->Toolsettings.getInnerAlpha())); } @@ -667,7 +641,7 @@ void IntelliPhotoGui::createGui(){ SwitchColorButton->setIconSize(QSize(Buttonsize.width()*2,Buttonsize.height())); ActiveLayerLine = new QLabel(); - QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1); + QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1); ActiveLayerLine->setText(string); ActiveLayerLine->setFixedSize(Buttonsize.width()*2+10,(Buttonsize.height()*2)/3); @@ -823,3 +797,15 @@ void IntelliPhotoGui::UpdateGui(){ string = QString("background-color: %1").arg(paintingArea->colorPicker.getSecondColor().name()); SecondColorButton->setStyleSheet(string); } + +int IntelliPhotoGui::getReturnValueOfDialog(){ + QFile File("test.txt"); + if(!File.open(QIODevice::ReadOnly | QIODevice::Text)){ + qDebug() << "Error Read from File"; + } + + QByteArray line = File.readLine(); + File.close(); + + return line.toInt(); +} diff --git a/src/GUI/IntelliPhotoGui.h b/src/GUI/IntelliPhotoGui.h index 27909ee..ee58016 100644 --- a/src/GUI/IntelliPhotoGui.h +++ b/src/GUI/IntelliPhotoGui.h @@ -38,7 +38,6 @@ IntelliPhotoGui(IntelliInputDialog* InputDialog); void UpdateGui(); void setToolWidth(int value); -int returnValueOfInputDialog = 5; protected: // Function used to close an event @@ -106,6 +105,8 @@ bool saveFile(const QByteArray &fileFormat); void setDefaultToolValue(); +int getReturnValueOfDialog(); + // What we'll draw on PaintingArea* paintingArea; IntelliInputDialog* InputDialog; diff --git a/src/IntelliHelper/IntelliToolsettings.cpp b/src/IntelliHelper/IntelliToolsettings.cpp index 7a4219c..2232cc0 100644 --- a/src/IntelliHelper/IntelliToolsettings.cpp +++ b/src/IntelliHelper/IntelliToolsettings.cpp @@ -16,36 +16,16 @@ int IntelliToolsettings::getLineWidth(){ return lineWidth; } -void IntelliToolsettings::setLineWidth(){ - lineWidth = QInputDialog::getInt(nullptr,"Line Width Input", "Width",1,1,50,1); -} - void IntelliToolsettings::setLineWidth(int LineWidth){ - if(LineWidth < 1) { - LineWidth = 1; - } - else if(LineWidth > 50) { - LineWidth = 50; - } - lineWidth = LineWidth; + lineWidth = LineWidth; } int IntelliToolsettings::getInnerAlpha(){ return this->innerAlpha; } -void IntelliToolsettings::setInnerAlpha(){ - this->innerAlpha = QInputDialog::getInt(nullptr,"Inner Aplha Input", "Value",0,0,255,1); -} - void IntelliToolsettings::setInnerAlpha(int innerAlpha){ - if(innerAlpha < 0) { - innerAlpha = 0; - } - else if(innerAlpha > 255) { - innerAlpha = 255; - } - this->innerAlpha = innerAlpha; + this->innerAlpha = innerAlpha; } IntelliToolsettings::LineStyle IntelliToolsettings::getLinestyle(){ diff --git a/src/IntelliHelper/IntelliToolsettings.h b/src/IntelliHelper/IntelliToolsettings.h index 1a63bbc..b96e953 100644 --- a/src/IntelliHelper/IntelliToolsettings.h +++ b/src/IntelliHelper/IntelliToolsettings.h @@ -13,10 +13,8 @@ enum class LineStyle { IntelliToolsettings(); virtual ~IntelliToolsettings(); int getLineWidth(); -void setLineWidth(); void setLineWidth(int LineWidth); int getInnerAlpha(); -void setInnerAlpha(); void setInnerAlpha(int innerAlpha); LineStyle getLinestyle(); diff --git a/src/IntelliPhoto.pro b/src/IntelliPhoto.pro index f3c669a..faf6c86 100644 --- a/src/IntelliPhoto.pro +++ b/src/IntelliPhoto.pro @@ -72,3 +72,5 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin RESOURCES += \ Bilder.qrc + +DISTFILES +=