mirror of
https://github.com/creyD/intelliphoto.git
synced 2026-04-15 04:40:37 +02:00
working versiom
This commit is contained in:
9
.gitignore
vendored
Normal file
9
.gitignore
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
IntelliPhoto/build-IntelliPhoto-Desktop_Qt_5_12_5_MinGW_64_bit-Debug/usersjonasappdatalocaltemptmp0l4rts
|
||||||
|
IntelliPhoto/build-IntelliPhoto-Desktop_Qt_5_12_5_MinGW_64_bit-Debug/usersjonasappdatalocaltemptmp0l4rts
|
||||||
|
IntelliPhoto/build-IntelliPhoto-Desktop_Qt_5_12_5_MinGW_64_bit-Debug/usersjonasappdatalocaltemptmp0l4rts
|
||||||
|
IntelliPhoto/build-IntelliPhoto-Desktop_Qt_5_12_5_MinGW_64_bit-Debug/usersjonasappdatalocaltemptmpcvzqoi
|
||||||
|
IntelliPhoto/build-IntelliPhoto-Desktop_Qt_5_12_5_MinGW_64_bit-Debug/usersjonasappdatalocaltemptmpu6gfxp
|
||||||
|
IntelliPhoto/build-IntelliPhoto-Desktop_Qt_5_12_5_MinGW_64_bit-Debug/usersjonasappdatalocaltemptmpqakvqm
|
||||||
|
IntelliPhoto/build-IntelliPhoto-Desktop_Qt_5_12_5_MinGW_64_bit-Debug/usersjonasappdatalocaltemptmpcvzqoi
|
||||||
|
IntelliPhoto/build-IntelliPhoto-Desktop_Qt_5_12_5_MinGW_64_bit-Debug/usersjonasappdatalocaltemptmp0l4rts
|
||||||
73
IntelliPhoto/IntelliPhoto/.gitignore
vendored
73
IntelliPhoto/IntelliPhoto/.gitignore
vendored
@@ -1,73 +0,0 @@
|
|||||||
# This file is used to ignore files which are generated
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
*~
|
|
||||||
*.autosave
|
|
||||||
*.a
|
|
||||||
*.core
|
|
||||||
*.moc
|
|
||||||
*.o
|
|
||||||
*.obj
|
|
||||||
*.orig
|
|
||||||
*.rej
|
|
||||||
*.so
|
|
||||||
*.so.*
|
|
||||||
*_pch.h.cpp
|
|
||||||
*_resource.rc
|
|
||||||
*.qm
|
|
||||||
.#*
|
|
||||||
*.*#
|
|
||||||
core
|
|
||||||
!core/
|
|
||||||
tags
|
|
||||||
.DS_Store
|
|
||||||
.directory
|
|
||||||
*.debug
|
|
||||||
Makefile*
|
|
||||||
*.prl
|
|
||||||
*.app
|
|
||||||
moc_*.cpp
|
|
||||||
ui_*.h
|
|
||||||
qrc_*.cpp
|
|
||||||
Thumbs.db
|
|
||||||
*.res
|
|
||||||
*.rc
|
|
||||||
/.qmake.cache
|
|
||||||
/.qmake.stash
|
|
||||||
|
|
||||||
# qtcreator generated files
|
|
||||||
*.pro.user*
|
|
||||||
|
|
||||||
# xemacs temporary files
|
|
||||||
*.flc
|
|
||||||
|
|
||||||
# Vim temporary files
|
|
||||||
.*.swp
|
|
||||||
|
|
||||||
# Visual Studio generated files
|
|
||||||
*.ib_pdb_index
|
|
||||||
*.idb
|
|
||||||
*.ilk
|
|
||||||
*.pdb
|
|
||||||
*.sln
|
|
||||||
*.suo
|
|
||||||
*.vcproj
|
|
||||||
*vcproj.*.*.user
|
|
||||||
*.ncb
|
|
||||||
*.sdf
|
|
||||||
*.opensdf
|
|
||||||
*.vcxproj
|
|
||||||
*vcxproj.*
|
|
||||||
|
|
||||||
# MinGW generated files
|
|
||||||
*.Debug
|
|
||||||
*.Release
|
|
||||||
|
|
||||||
# Python byte code
|
|
||||||
*.pyc
|
|
||||||
|
|
||||||
# Binaries
|
|
||||||
# --------
|
|
||||||
*.dll
|
|
||||||
*.exe
|
|
||||||
|
|
||||||
@@ -1,128 +0,0 @@
|
|||||||
#include "LayerManager.h"
|
|
||||||
|
|
||||||
LayerManager::LayerManager(){
|
|
||||||
//setup the label for the image
|
|
||||||
this->imgLabel = new QLabel("");
|
|
||||||
}
|
|
||||||
|
|
||||||
LayerManager::~LayerManager(){
|
|
||||||
delete this->imgLabel;
|
|
||||||
for(auto element:Ebenen){
|
|
||||||
delete element;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int LayerManager::getLayerCount(){
|
|
||||||
return static_cast<int>(this->Ebenen.size());
|
|
||||||
}
|
|
||||||
|
|
||||||
void LayerManager::setLayerVisbility(int idx, int alpha){
|
|
||||||
//current alpha is ignored, just one image is shown
|
|
||||||
//all images should hold on to their current alpha
|
|
||||||
for(auto &element: this->MetaEbenen){
|
|
||||||
element.a=0;
|
|
||||||
}
|
|
||||||
MetaEbenen[static_cast<size_t>(idx)].a=255;
|
|
||||||
}
|
|
||||||
|
|
||||||
void LayerManager::activateLayer(int idx){
|
|
||||||
//all images should blurr an active layer should show
|
|
||||||
for(auto& element: this->MetaEbenen){
|
|
||||||
element.a = 0;
|
|
||||||
}
|
|
||||||
MetaEbenen[static_cast<size_t>(idx)].a=255;
|
|
||||||
}
|
|
||||||
|
|
||||||
void LayerManager::goLayerUp(){
|
|
||||||
//at current state, sets the alpha of the higher one up
|
|
||||||
for(size_t i=0; i<static_cast<size_t>(this->getLayerCount()); i++){
|
|
||||||
if(this->MetaEbenen[i].a==255){
|
|
||||||
if(i==static_cast<size_t>(this->getLayerCount())-1){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
MetaEbenen[i].a=0;
|
|
||||||
MetaEbenen[i+1].a=255;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LayerManager::goLayerDown(){
|
|
||||||
//at current state, sets the alpha of the higher one down
|
|
||||||
for(size_t i=0; i<static_cast<size_t>(this->getLayerCount()); i++){
|
|
||||||
if(this->MetaEbenen[i].a==255){
|
|
||||||
if(i==0){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
MetaEbenen[i].a=0;
|
|
||||||
MetaEbenen[i-1].a=255;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LayerManager::AddLayerAfer(int idx){
|
|
||||||
//layer dimension needs to be asked, maybe in seperat window
|
|
||||||
Layer* newLayer = new Layer(600,400);
|
|
||||||
|
|
||||||
//hardcoded layer for test sake
|
|
||||||
for(int i=0; i<600; i++){
|
|
||||||
for(int j=0; j<400; j++){
|
|
||||||
newLayer->setPixel(i,j,255,0,0,255);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for(int i=0; i<300; i++){
|
|
||||||
for(int j = 0; j<5; j++)
|
|
||||||
newLayer->setPixel(i,j,0,255,255,255);
|
|
||||||
}
|
|
||||||
maxWidth=100;
|
|
||||||
maxHeight=100;
|
|
||||||
|
|
||||||
|
|
||||||
Ebenen.insert(Ebenen.begin()+idx, newLayer);
|
|
||||||
MetaEbenen.insert(MetaEbenen.begin()+idx, EbenenMetaDaten(0,0,0));
|
|
||||||
}
|
|
||||||
|
|
||||||
void LayerManager::DeleteLayer(int idx){
|
|
||||||
Ebenen.erase(Ebenen.begin()+idx);
|
|
||||||
MetaEbenen.erase(MetaEbenen.begin()+idx);
|
|
||||||
}
|
|
||||||
|
|
||||||
QLabel* LayerManager::getDisplayable(){
|
|
||||||
|
|
||||||
//Tranzparenz der Ebenen muss möglich sein
|
|
||||||
QPixmap aMap;
|
|
||||||
for(size_t i=0; i<static_cast<size_t>(this->getLayerCount()); i++){
|
|
||||||
if(MetaEbenen[i].a==255){
|
|
||||||
aMap = Ebenen[i]->getAsPixmap();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this->imgLabel->setPixmap(aMap);
|
|
||||||
return imgLabel;
|
|
||||||
}
|
|
||||||
|
|
||||||
void LayerManager::floodFillLayer(int r, int g, int b){
|
|
||||||
for(size_t i=0; i< static_cast<size_t>(this->getLayerCount()); i++){
|
|
||||||
if(MetaEbenen[i].a==255){
|
|
||||||
Ebenen[i]->floodFill(r,g,b);
|
|
||||||
this->UpdateLabel();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LayerManager::UpdateLabel(){
|
|
||||||
//Tranzparenz der Ebenen muss möglich sein
|
|
||||||
QPixmap aMap;
|
|
||||||
for(size_t i=0; i<static_cast<size_t>(this->getLayerCount()); i++){
|
|
||||||
if(MetaEbenen[i].a==255){
|
|
||||||
aMap = Ebenen[i]->getAsPixmap();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this->imgLabel->setPixmap(aMap);
|
|
||||||
}
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
#ifndef CANVAS_H
|
|
||||||
#define CANVAS_H
|
|
||||||
#include"layer.h"
|
|
||||||
|
|
||||||
#include<vector>
|
|
||||||
#include <QLabel>
|
|
||||||
#include <QWidget>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class LayerManager{
|
|
||||||
private:
|
|
||||||
//Uses to handle the Meta Data of each layer in comparission to 'global' propteries
|
|
||||||
struct EbenenMetaDaten{
|
|
||||||
unsigned int x;
|
|
||||||
unsigned int y;
|
|
||||||
unsigned int a;
|
|
||||||
EbenenMetaDaten(unsigned int x, unsigned int y, unsigned int a){
|
|
||||||
this->x = x;
|
|
||||||
this->y = y;
|
|
||||||
this->a = a;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
//max width of the layer (max(EbenenMetaDaten.x+Layer.width))
|
|
||||||
int maxWidth;
|
|
||||||
//max width of the layer (max(EbenenMetaDaten.y+Layer.height))
|
|
||||||
int maxHeight;
|
|
||||||
|
|
||||||
// The label where the image is shown
|
|
||||||
QLabel* imgLabel;
|
|
||||||
|
|
||||||
//all the possible layers in one container
|
|
||||||
std::vector<Layer*> Ebenen;
|
|
||||||
|
|
||||||
//all the meta data parallel to Ebenen Container
|
|
||||||
std::vector<EbenenMetaDaten> MetaEbenen;
|
|
||||||
|
|
||||||
//updates the display
|
|
||||||
void UpdateLabel();
|
|
||||||
public:
|
|
||||||
LayerManager();
|
|
||||||
~LayerManager();
|
|
||||||
|
|
||||||
//gets the count of layers
|
|
||||||
int getLayerCount();
|
|
||||||
|
|
||||||
//set one layer to a given alpha value
|
|
||||||
void setLayerVisbility(int idx, int alpha);
|
|
||||||
|
|
||||||
//activates one layer to work on it
|
|
||||||
void activateLayer(int idx);
|
|
||||||
|
|
||||||
//changes the active layer one up
|
|
||||||
void goLayerUp();
|
|
||||||
|
|
||||||
//changes the active layer one down
|
|
||||||
void goLayerDown();
|
|
||||||
|
|
||||||
//adds a new layer after (on top of) the given idx (-1 create bottom layer)
|
|
||||||
void AddLayerAfer(int idx);
|
|
||||||
|
|
||||||
//delets a layer at the given index
|
|
||||||
void DeleteLayer(int idx);
|
|
||||||
|
|
||||||
//fill active Layer
|
|
||||||
void floodFillLayer(int r, int g, int b);
|
|
||||||
|
|
||||||
//returns the output ready label
|
|
||||||
QLabel* getDisplayable();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // CANVAS_H
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
#include "intelligui.h"
|
|
||||||
#include "ui_intelligui.h"
|
|
||||||
#include "LayerManager.h"
|
|
||||||
|
|
||||||
#include<QDebug>
|
|
||||||
|
|
||||||
IntelliGUI::IntelliGUI(QWidget *parent)
|
|
||||||
: QMainWindow(parent),
|
|
||||||
ui(new Ui::IntelliGUI){
|
|
||||||
ui->setupUi(this);
|
|
||||||
|
|
||||||
//Setting up basic IntelliPhoto structure
|
|
||||||
this->EbenenManager = new LayerManager();
|
|
||||||
|
|
||||||
//Test Layer
|
|
||||||
this->EbenenManager->AddLayerAfer(0);
|
|
||||||
this->EbenenManager->activateLayer(0);
|
|
||||||
|
|
||||||
//Setting up basic IntelliGui Structure
|
|
||||||
this->GUI = new QWidget();
|
|
||||||
this->Layout = new QGridLayout(GUI);
|
|
||||||
this->setCentralWidget(GUI);
|
|
||||||
|
|
||||||
//setup all gui elements down here
|
|
||||||
this->EinKnopf = new QPushButton("Ein Knopf");
|
|
||||||
this->Red = new QLineEdit();
|
|
||||||
this->Blue = new QLineEdit();
|
|
||||||
this->Green = new QLineEdit();
|
|
||||||
|
|
||||||
//Manage signals and slots in here
|
|
||||||
QObject::connect(EinKnopf, SIGNAL(clicked()), this, SLOT(on_EinKnopf_clicked()));
|
|
||||||
|
|
||||||
//Merge all gui elements to Layout down here
|
|
||||||
this->Layout->addWidget(this->EinKnopf, 0,10);
|
|
||||||
this->Layout->addWidget(this->Red, 1,10);
|
|
||||||
this->Layout->addWidget(this->Green, 2,10);
|
|
||||||
this->Layout->addWidget(this->Blue, 3,10);
|
|
||||||
this->Layout->addWidget(this->EbenenManager->getDisplayable(),0,0,10,10);
|
|
||||||
|
|
||||||
|
|
||||||
//set style here
|
|
||||||
this->setStyleSheet("background-color:rgb(60,60,60)");
|
|
||||||
this->EinKnopf->setStyleSheet("color:rgb(250,250,250)");
|
|
||||||
this->Red->setStyleSheet("color:rgb(250,250,250)");
|
|
||||||
this->Green->setStyleSheet("color:rgb(250,250,250)");
|
|
||||||
this->Blue->setStyleSheet("color:rgb(250,250,250)");
|
|
||||||
|
|
||||||
//Layout is set in here
|
|
||||||
this->setLayout(Layout);
|
|
||||||
}
|
|
||||||
|
|
||||||
IntelliGUI::~IntelliGUI(){
|
|
||||||
delete ui;
|
|
||||||
delete GUI;
|
|
||||||
delete Layout;
|
|
||||||
delete EbenenManager;
|
|
||||||
|
|
||||||
//delete all Gui elements down here
|
|
||||||
delete EinKnopf;
|
|
||||||
delete Red;
|
|
||||||
delete Blue;
|
|
||||||
delete Green;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void IntelliGUI::on_EinKnopf_clicked(){
|
|
||||||
int redCol = Red->text().toInt();
|
|
||||||
int greCol = Green->text().toInt();
|
|
||||||
int bluCol = Blue->text().toInt();
|
|
||||||
qDebug() << redCol << " " << greCol << " " << bluCol << '\n';
|
|
||||||
EbenenManager->floodFillLayer(redCol, greCol, bluCol);
|
|
||||||
}
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
#ifndef INTELLIGUI_H
|
|
||||||
#define INTELLIGUI_H
|
|
||||||
|
|
||||||
#include <QMainWindow>
|
|
||||||
#include <QPushButton>
|
|
||||||
#include <LayerManager.h>
|
|
||||||
#include <QGridLayout>
|
|
||||||
#include <QLineEdit>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
namespace Ui { class IntelliGUI; }
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
class IntelliGUI : public QMainWindow
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
//basics for programm logic
|
|
||||||
LayerManager *EbenenManager;
|
|
||||||
|
|
||||||
//basics for GUI build
|
|
||||||
QWidget *GUI;
|
|
||||||
QGridLayout *Layout;
|
|
||||||
|
|
||||||
//Declare all Gui elements down here
|
|
||||||
QPushButton *EinKnopf;
|
|
||||||
QLineEdit *Red;
|
|
||||||
QLineEdit *Blue;
|
|
||||||
QLineEdit *Green;
|
|
||||||
|
|
||||||
private:
|
|
||||||
Ui::IntelliGUI *ui;
|
|
||||||
|
|
||||||
public:
|
|
||||||
//Sets up everything to display first loaded projekt, maybe show load window for a project
|
|
||||||
IntelliGUI(QWidget *parent = nullptr);
|
|
||||||
//Delets everything in connection to one project
|
|
||||||
~IntelliGUI();
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
void on_EinKnopf_clicked();
|
|
||||||
};
|
|
||||||
#endif // INTELLIGUI_H
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
#include "layer.h"
|
|
||||||
|
|
||||||
Layer::Layer(const int& width,const int& height){
|
|
||||||
this->Canvas = new QImage(width, height, QImage::Format_RGB32);
|
|
||||||
this->width=width;
|
|
||||||
this->height=height;
|
|
||||||
}
|
|
||||||
|
|
||||||
Layer::~Layer(){
|
|
||||||
delete this->Canvas;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Layer::setPixel(const int& w,const int& h, const int& r,const int& g,const int& b, const int& a){
|
|
||||||
this->Canvas->setPixelColor(w,h,QColor(r,g,b,a));
|
|
||||||
}
|
|
||||||
|
|
||||||
void Layer::loadImage(const QString& fileName){
|
|
||||||
//load of image an specifing fileformat needs to be implemented
|
|
||||||
}
|
|
||||||
|
|
||||||
QPixmap Layer::getAsPixmap(){
|
|
||||||
return QPixmap::fromImage(*(this->Canvas));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Layer::floodFill(int r, int g, int b){
|
|
||||||
for(int i=0; i<width; i++){
|
|
||||||
for(int j=0; j<height; j++){
|
|
||||||
this->Canvas->setPixelColor(i,j,QColor(r,g,b,255));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
#ifndef LAYER_H
|
|
||||||
#define LAYER_H
|
|
||||||
#include<QImage>
|
|
||||||
#include<QPixmap>
|
|
||||||
#include<QString>
|
|
||||||
|
|
||||||
class Layer{
|
|
||||||
private:
|
|
||||||
//pixelmap for the image, used because of performance and api reasons
|
|
||||||
QImage* Canvas;
|
|
||||||
|
|
||||||
//width of the image
|
|
||||||
int width;
|
|
||||||
|
|
||||||
//height of the imahe
|
|
||||||
int height;
|
|
||||||
public:
|
|
||||||
//setup everything for the image
|
|
||||||
Layer(const int& width,const int& height);
|
|
||||||
~Layer();
|
|
||||||
|
|
||||||
//set one pixel with rgba values
|
|
||||||
void setPixel(const int& w,const int& h,const int& r,const int& g,const int& b, const int& a);
|
|
||||||
|
|
||||||
//load an image to the canvas
|
|
||||||
void loadImage(const QString& fileName);
|
|
||||||
|
|
||||||
//flood fills canvas
|
|
||||||
void floodFill(int r, int g, int b);
|
|
||||||
|
|
||||||
//return the image as QPixmap
|
|
||||||
QPixmap getAsPixmap();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // LAYER_H
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
#include<QDebug>
|
|
||||||
|
|
||||||
#include "intelligui.h"
|
|
||||||
|
|
||||||
#include <QApplication>
|
|
||||||
#include<QHBoxLayout>
|
|
||||||
#include<QLabel>
|
|
||||||
#include<QPushButton>
|
|
||||||
#include<QImage>
|
|
||||||
#include<QPixmap>
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
QApplication application(argc, argv);
|
|
||||||
IntelliGUI* win = new IntelliGUI();
|
|
||||||
win->show();
|
|
||||||
return application.exec();
|
|
||||||
}
|
|
||||||
@@ -16,18 +16,16 @@ DEFINES += QT_DEPRECATED_WARNINGS
|
|||||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
LayerManager.cpp \
|
main.cpp \
|
||||||
intelligui.cpp \
|
mainwindow.cpp \
|
||||||
layer.cpp \
|
scribblearea.cpp
|
||||||
main.cpp
|
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
LayerManager.h \
|
mainwindow.h \
|
||||||
intelligui.h \
|
scribblearea.h
|
||||||
layer.h
|
|
||||||
|
|
||||||
FORMS += \
|
FORMS += \
|
||||||
intelligui.ui
|
widget.ui
|
||||||
|
|
||||||
# Default rules for deployment.
|
# Default rules for deployment.
|
||||||
qnx: target.path = /tmp/$${TARGET}/bin
|
qnx: target.path = /tmp/$${TARGET}/bin
|
||||||
337
IntelliPhoto/Scribble/Scribble.pro.user
Normal file
337
IntelliPhoto/Scribble/Scribble.pro.user
Normal file
@@ -0,0 +1,337 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE QtCreatorProject>
|
||||||
|
<!-- Written by QtCreator 4.10.2, 2019-11-21T11:35:08. -->
|
||||||
|
<qtcreator>
|
||||||
|
<data>
|
||||||
|
<variable>EnvironmentId</variable>
|
||||||
|
<value type="QByteArray">{426164d9-3771-4235-8f83-cb0b49423ffc}</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||||
|
<value type="int">0</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||||
|
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||||
|
<value type="QString" key="language">Cpp</value>
|
||||||
|
<valuemap type="QVariantMap" key="value">
|
||||||
|
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||||
|
</valuemap>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||||
|
<value type="QString" key="language">QmlJS</value>
|
||||||
|
<valuemap type="QVariantMap" key="value">
|
||||||
|
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||||
|
</valuemap>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||||
|
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||||
|
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
|
||||||
|
<value type="QString">-fno-delayed-template-parsing</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.12.5 MinGW 64-bit</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.12.5 MinGW 64-bit</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5125.win64_mingw73_kit</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/jonas/OneDrive/Desktop/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Debug</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||||
|
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||||
|
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/jonas/OneDrive/Desktop/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Release</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||||
|
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||||
|
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/jonas/OneDrive/Desktop/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Profile</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||||
|
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||||
|
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||||
|
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
|
||||||
|
<value type="QString">cpu-cycles</value>
|
||||||
|
</valuelist>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
|
||||||
|
<value type="int" key="Analyzer.Perf.Frequency">250</value>
|
||||||
|
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||||
|
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||||
|
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||||
|
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||||
|
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||||
|
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||||
|
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||||
|
<value type="int">0</value>
|
||||||
|
<value type="int">1</value>
|
||||||
|
<value type="int">2</value>
|
||||||
|
<value type="int">3</value>
|
||||||
|
<value type="int">4</value>
|
||||||
|
<value type="int">5</value>
|
||||||
|
<value type="int">6</value>
|
||||||
|
<value type="int">7</value>
|
||||||
|
<value type="int">8</value>
|
||||||
|
<value type="int">9</value>
|
||||||
|
<value type="int">10</value>
|
||||||
|
<value type="int">11</value>
|
||||||
|
<value type="int">12</value>
|
||||||
|
<value type="int">13</value>
|
||||||
|
<value type="int">14</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Scribble</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/jonas/OneDrive/Desktop/Scribble/Scribble.pro</value>
|
||||||
|
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||||
|
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/jonas/OneDrive/Desktop/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Debug</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||||
|
<value type="int">1</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||||
|
<value type="int">22</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>Version</variable>
|
||||||
|
<value type="int">22</value>
|
||||||
|
</data>
|
||||||
|
</qtcreator>
|
||||||
337
IntelliPhoto/Scribble/Scribble.pro.user.87de10b
Normal file
337
IntelliPhoto/Scribble/Scribble.pro.user.87de10b
Normal file
@@ -0,0 +1,337 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE QtCreatorProject>
|
||||||
|
<!-- Written by QtCreator 4.10.2, 2019-11-20T18:43:58. -->
|
||||||
|
<qtcreator>
|
||||||
|
<data>
|
||||||
|
<variable>EnvironmentId</variable>
|
||||||
|
<value type="QByteArray">{87de10b7-9dd6-4379-8674-fd04613e186e}</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||||
|
<value type="int">0</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||||
|
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||||
|
<value type="QString" key="language">Cpp</value>
|
||||||
|
<valuemap type="QVariantMap" key="value">
|
||||||
|
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||||
|
</valuemap>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||||
|
<value type="QString" key="language">QmlJS</value>
|
||||||
|
<valuemap type="QVariantMap" key="value">
|
||||||
|
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||||
|
</valuemap>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||||
|
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||||
|
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
|
||||||
|
<value type="QString">-fno-delayed-template-parsing</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.12.5 MinGW 64-bit</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.12.5 MinGW 64-bit</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5125.win64_mingw73_kit</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/Jonas/Documents/QML/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Debug</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||||
|
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||||
|
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/Jonas/Documents/QML/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Release</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||||
|
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||||
|
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/Jonas/Documents/QML/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Profile</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||||
|
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||||
|
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||||
|
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
|
||||||
|
<value type="QString">cpu-cycles</value>
|
||||||
|
</valuelist>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
|
||||||
|
<value type="int" key="Analyzer.Perf.Frequency">250</value>
|
||||||
|
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||||
|
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||||
|
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||||
|
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||||
|
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||||
|
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||||
|
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||||
|
<value type="int">0</value>
|
||||||
|
<value type="int">1</value>
|
||||||
|
<value type="int">2</value>
|
||||||
|
<value type="int">3</value>
|
||||||
|
<value type="int">4</value>
|
||||||
|
<value type="int">5</value>
|
||||||
|
<value type="int">6</value>
|
||||||
|
<value type="int">7</value>
|
||||||
|
<value type="int">8</value>
|
||||||
|
<value type="int">9</value>
|
||||||
|
<value type="int">10</value>
|
||||||
|
<value type="int">11</value>
|
||||||
|
<value type="int">12</value>
|
||||||
|
<value type="int">13</value>
|
||||||
|
<value type="int">14</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Scribble</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/Jonas/Documents/QML/Scribble/Scribble.pro</value>
|
||||||
|
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||||
|
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/Jonas/Documents/QML/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Debug</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||||
|
<value type="int">1</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||||
|
<value type="int">22</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>Version</variable>
|
||||||
|
<value type="int">22</value>
|
||||||
|
</data>
|
||||||
|
</qtcreator>
|
||||||
26
IntelliPhoto/Scribble/main.cpp
Normal file
26
IntelliPhoto/Scribble/main.cpp
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ---------- main.cpp ----------
|
||||||
|
|
||||||
|
#include "mainwindow.h"
|
||||||
|
#include <QApplication>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
// The main application
|
||||||
|
QApplication app(argc, argv);
|
||||||
|
|
||||||
|
// Create and open the main window
|
||||||
|
MainWindow window;
|
||||||
|
window.show();
|
||||||
|
|
||||||
|
// Display the main window
|
||||||
|
return app.exec();
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------- END main.cpp ----------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
281
IntelliPhoto/Scribble/mainwindow.cpp
Normal file
281
IntelliPhoto/Scribble/mainwindow.cpp
Normal file
@@ -0,0 +1,281 @@
|
|||||||
|
// ---------- mainwindow.cpp ----------
|
||||||
|
|
||||||
|
#include <QtWidgets>
|
||||||
|
|
||||||
|
#include "mainwindow.h"
|
||||||
|
#include "scribblearea.h"
|
||||||
|
|
||||||
|
// MainWindow constructor
|
||||||
|
MainWindow::MainWindow()
|
||||||
|
{
|
||||||
|
//create Gui elemnts and lay them out
|
||||||
|
createGui();
|
||||||
|
// Create actions
|
||||||
|
createActions();
|
||||||
|
//create Menus
|
||||||
|
createMenus();
|
||||||
|
//set style of the gui
|
||||||
|
setIntelliStyle();
|
||||||
|
|
||||||
|
// Size the app
|
||||||
|
resize(500, 500);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// User tried to close the app
|
||||||
|
void MainWindow::closeEvent(QCloseEvent *event)
|
||||||
|
{
|
||||||
|
// If they try to close maybeSave() returns true
|
||||||
|
// if no changes have been made and the app closes
|
||||||
|
if (maybeSave()) {
|
||||||
|
event->accept();
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// If there have been changes ignore the event
|
||||||
|
event->ignore();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if the current image has been changed and then
|
||||||
|
// open a dialog to open a file
|
||||||
|
void MainWindow::open()
|
||||||
|
{
|
||||||
|
// Check if changes have been made since last save
|
||||||
|
// maybeSave() returns true if no changes have been made
|
||||||
|
if (maybeSave()) {
|
||||||
|
|
||||||
|
// Get the file to open from a dialog
|
||||||
|
// tr sets the window title to Open File
|
||||||
|
// QDir opens the current dirctory
|
||||||
|
QString fileName = QFileDialog::getOpenFileName(this,
|
||||||
|
tr("Open File"), QDir::currentPath());
|
||||||
|
|
||||||
|
// If we have a file name load the image and place
|
||||||
|
// it in the scribbleArea
|
||||||
|
if (!fileName.isEmpty())
|
||||||
|
scribbleArea->openImage(fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Called when the user clicks Save As in the menu
|
||||||
|
void MainWindow::save()
|
||||||
|
{
|
||||||
|
// A QAction represents the action of the user clicking
|
||||||
|
QAction *action = qobject_cast<QAction *>(sender());
|
||||||
|
|
||||||
|
// Stores the array of bytes of the users data
|
||||||
|
QByteArray fileFormat = action->data().toByteArray();
|
||||||
|
|
||||||
|
// Pass it to be saved
|
||||||
|
saveFile(fileFormat);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Opens a dialog to change the pen color
|
||||||
|
void MainWindow::penColor()
|
||||||
|
{
|
||||||
|
// Store the chosen color from the dialog
|
||||||
|
QColor newColor = QColorDialog::getColor(scribbleArea->penColor());
|
||||||
|
|
||||||
|
// If a valid color set it
|
||||||
|
if (newColor.isValid())
|
||||||
|
scribbleArea->setPenColor(newColor);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Opens a dialog that allows the user to change the pen width
|
||||||
|
void MainWindow::penWidth()
|
||||||
|
{
|
||||||
|
// Stores button value
|
||||||
|
bool ok;
|
||||||
|
|
||||||
|
// tr("Scribble") is the title
|
||||||
|
// the next tr is the text to display
|
||||||
|
// Get the current pen width
|
||||||
|
// Define the min, max, step and ok button
|
||||||
|
int newWidth = QInputDialog::getInt(this, tr("Scribble"),
|
||||||
|
tr("Select pen width:"),
|
||||||
|
scribbleArea->penWidth(),
|
||||||
|
1, 500, 1, &ok);
|
||||||
|
// Change the pen width
|
||||||
|
if (ok)
|
||||||
|
scribbleArea->setPenWidth(newWidth);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Open an about dialog
|
||||||
|
void MainWindow::about()
|
||||||
|
{
|
||||||
|
// Window title and text to display
|
||||||
|
QMessageBox::about(this, tr("About Scribble"),
|
||||||
|
tr("<p>The <b>Scribble</b> example is awesome</p>"));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Define menu actions that call functions
|
||||||
|
void MainWindow::createActions()
|
||||||
|
{
|
||||||
|
//connect signal and slots of gui element
|
||||||
|
connect(this->clearButton, SIGNAL(clicked()), scribbleArea, SLOT(clearImage()));
|
||||||
|
|
||||||
|
// Create the action tied to the menu
|
||||||
|
openAct = new QAction(tr("&Open..."), this);
|
||||||
|
|
||||||
|
// Define the associated shortcut key
|
||||||
|
openAct->setShortcuts(QKeySequence::Open);
|
||||||
|
|
||||||
|
// Tie the action to MainWindow::open()
|
||||||
|
connect(openAct, SIGNAL(triggered()), this, SLOT(open()));
|
||||||
|
|
||||||
|
// Get a list of the supported file formats
|
||||||
|
// QImageWriter is used to write images to files
|
||||||
|
foreach (QByteArray format, QImageWriter::supportedImageFormats()) {
|
||||||
|
QString text = tr("%1...").arg(QString(format).toUpper());
|
||||||
|
|
||||||
|
// Create an action for each file format
|
||||||
|
QAction *action = new QAction(text, this);
|
||||||
|
|
||||||
|
// Set an action for each file format
|
||||||
|
action->setData(format);
|
||||||
|
|
||||||
|
// When clicked call MainWindow::save()
|
||||||
|
connect(action, SIGNAL(triggered()), this, SLOT(save()));
|
||||||
|
|
||||||
|
// Attach each file format option menu item to Save As
|
||||||
|
saveAsActs.append(action);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Create exit action and tie to MainWindow::close()
|
||||||
|
exitAct = new QAction(tr("E&xit"), this);
|
||||||
|
exitAct->setShortcuts(QKeySequence::Quit);
|
||||||
|
connect(exitAct, SIGNAL(triggered()), this, SLOT(close()));
|
||||||
|
|
||||||
|
// Create pen color action and tie to MainWindow::penColor()
|
||||||
|
penColorAct = new QAction(tr("&Pen Color..."), this);
|
||||||
|
connect(penColorAct, SIGNAL(triggered()), this, SLOT(penColor()));
|
||||||
|
|
||||||
|
// Create pen width action and tie to MainWindow::penWidth()
|
||||||
|
penWidthAct = new QAction(tr("Pen &Width..."), this);
|
||||||
|
connect(penWidthAct, SIGNAL(triggered()), this, SLOT(penWidth()));
|
||||||
|
|
||||||
|
// Create clear screen action and tie to MainWindow::clearImage()
|
||||||
|
clearScreenAct = new QAction(tr("&Clear Screen"), this);
|
||||||
|
clearScreenAct->setShortcut(tr("Ctrl+L"));
|
||||||
|
connect(clearScreenAct, SIGNAL(triggered()),
|
||||||
|
scribbleArea, SLOT(clearImage()));
|
||||||
|
|
||||||
|
// Create about action and tie to MainWindow::about()
|
||||||
|
aboutAct = new QAction(tr("&About"), this);
|
||||||
|
connect(aboutAct, SIGNAL(triggered()), this, SLOT(about()));
|
||||||
|
|
||||||
|
// Create about Qt action and tie to MainWindow::aboutQt()
|
||||||
|
aboutQtAct = new QAction(tr("About &Qt"), this);
|
||||||
|
connect(aboutQtAct, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create the menubar
|
||||||
|
void MainWindow::createMenus()
|
||||||
|
{
|
||||||
|
// Create Save As option and the list of file types
|
||||||
|
saveAsMenu = new QMenu(tr("&Save As"), this);
|
||||||
|
foreach (QAction *action, saveAsActs)
|
||||||
|
saveAsMenu->addAction(action);
|
||||||
|
|
||||||
|
// Attach all actions to File
|
||||||
|
fileMenu = new QMenu(tr("&File"), this);
|
||||||
|
fileMenu->addAction(openAct);
|
||||||
|
fileMenu->addMenu(saveAsMenu);
|
||||||
|
fileMenu->addSeparator();
|
||||||
|
fileMenu->addAction(exitAct);
|
||||||
|
|
||||||
|
// Attach all actions to Options
|
||||||
|
optionMenu = new QMenu(tr("&Options"), this);
|
||||||
|
optionMenu->addAction(penColorAct);
|
||||||
|
optionMenu->addAction(penWidthAct);
|
||||||
|
optionMenu->addSeparator();
|
||||||
|
optionMenu->addAction(clearScreenAct);
|
||||||
|
|
||||||
|
// Attach all actions to Help
|
||||||
|
helpMenu = new QMenu(tr("&Help"), this);
|
||||||
|
helpMenu->addAction(aboutAct);
|
||||||
|
helpMenu->addAction(aboutQtAct);
|
||||||
|
|
||||||
|
// Add menu items to the menubar
|
||||||
|
menuBar()->addMenu(fileMenu);
|
||||||
|
menuBar()->addMenu(optionMenu);
|
||||||
|
menuBar()->addMenu(helpMenu);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::createGui(){
|
||||||
|
//create a central widget to work on
|
||||||
|
centralGuiWidget = new QWidget(this);
|
||||||
|
setCentralWidget(centralGuiWidget);
|
||||||
|
|
||||||
|
//create the grid for the layout
|
||||||
|
mainLayout = new QGridLayout(centralGuiWidget);
|
||||||
|
centralGuiWidget->setLayout(mainLayout);
|
||||||
|
|
||||||
|
//create Gui elements
|
||||||
|
clearButton = new QPushButton("Clear");
|
||||||
|
scribbleArea = new ScribbleArea();
|
||||||
|
|
||||||
|
//set gui elemtns position
|
||||||
|
mainLayout->addWidget(scribbleArea,0,0,10,10);
|
||||||
|
mainLayout->addWidget(clearButton,0,10,1,1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::setIntelliStyle(){
|
||||||
|
// Set the title
|
||||||
|
setWindowTitle("IntelliPhoto Prototype");
|
||||||
|
//set style sheet
|
||||||
|
this->setStyleSheet("background-color:rgb(64,64,64)");
|
||||||
|
this->centralGuiWidget->setStyleSheet("color:rgb(255,255,255)");
|
||||||
|
this->menuBar()->setStyleSheet("color:rgb(255,255,255)");
|
||||||
|
}
|
||||||
|
|
||||||
|
bool MainWindow::maybeSave()
|
||||||
|
{
|
||||||
|
// Check for changes since last save
|
||||||
|
if (scribbleArea->isModified()) {
|
||||||
|
QMessageBox::StandardButton ret;
|
||||||
|
|
||||||
|
// Scribble is the title
|
||||||
|
// Add text and the buttons
|
||||||
|
ret = QMessageBox::warning(this, tr("Scribble"),
|
||||||
|
tr("The image has been modified.\n"
|
||||||
|
"Do you want to save your changes?"),
|
||||||
|
QMessageBox::Save | QMessageBox::Discard
|
||||||
|
| QMessageBox::Cancel);
|
||||||
|
|
||||||
|
// If save button clicked call for file to be saved
|
||||||
|
if (ret == QMessageBox::Save) {
|
||||||
|
return saveFile("png");
|
||||||
|
|
||||||
|
// If cancel do nothing
|
||||||
|
} else if (ret == QMessageBox::Cancel) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool MainWindow::saveFile(const QByteArray &fileFormat)
|
||||||
|
{
|
||||||
|
// Define path, name and default file type
|
||||||
|
QString initialPath = QDir::currentPath() + "/untitled." + fileFormat;
|
||||||
|
|
||||||
|
// Get selected file from dialog
|
||||||
|
// Add the proper file formats and extensions
|
||||||
|
QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"),
|
||||||
|
initialPath,
|
||||||
|
tr("%1 Files (*.%2);;All Files (*)")
|
||||||
|
.arg(QString::fromLatin1(fileFormat.toUpper()))
|
||||||
|
.arg(QString::fromLatin1(fileFormat)));
|
||||||
|
|
||||||
|
// If no file do nothing
|
||||||
|
if (fileName.isEmpty()) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// Call for the file to be saved
|
||||||
|
return scribbleArea->saveImage(fileName, fileFormat.constData());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
77
IntelliPhoto/Scribble/mainwindow.h
Normal file
77
IntelliPhoto/Scribble/mainwindow.h
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
#ifndef MAINWINDOW_H
|
||||||
|
#define MAINWINDOW_H
|
||||||
|
|
||||||
|
#include <QList>
|
||||||
|
#include <QMainWindow>
|
||||||
|
#include<QGridLayout>
|
||||||
|
#include<QPushButton>
|
||||||
|
|
||||||
|
// ScribbleArea used to paint the image
|
||||||
|
class ScribbleArea;
|
||||||
|
|
||||||
|
class MainWindow : public QMainWindow
|
||||||
|
{
|
||||||
|
// Declares our class as a QObject which is the base class
|
||||||
|
// for all Qt objects
|
||||||
|
// QObjects handle events
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
MainWindow();
|
||||||
|
protected:
|
||||||
|
// Function used to close an event
|
||||||
|
void closeEvent(QCloseEvent *event) override;
|
||||||
|
|
||||||
|
// The events that can be triggered
|
||||||
|
private slots:
|
||||||
|
void open();
|
||||||
|
void save();
|
||||||
|
void penColor();
|
||||||
|
void penWidth();
|
||||||
|
void about();
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Will tie user actions to functions
|
||||||
|
void createActions();
|
||||||
|
void createMenus();
|
||||||
|
|
||||||
|
//setup GUI elements
|
||||||
|
void createGui();
|
||||||
|
|
||||||
|
//set style of the GUI
|
||||||
|
void setIntelliStyle();
|
||||||
|
|
||||||
|
// Will check if changes have occurred since last save
|
||||||
|
bool maybeSave();
|
||||||
|
|
||||||
|
// Opens the Save dialog and saves
|
||||||
|
bool saveFile(const QByteArray &fileFormat);
|
||||||
|
|
||||||
|
// What we'll draw on
|
||||||
|
ScribbleArea *scribbleArea;
|
||||||
|
|
||||||
|
// The menu widgets
|
||||||
|
QMenu *saveAsMenu;
|
||||||
|
QMenu *fileMenu;
|
||||||
|
QMenu *optionMenu;
|
||||||
|
QMenu *helpMenu;
|
||||||
|
|
||||||
|
// All the actions that can occur
|
||||||
|
QAction *openAct;
|
||||||
|
|
||||||
|
// Actions tied to specific file formats
|
||||||
|
QList<QAction *> saveAsActs;
|
||||||
|
QAction *exitAct;
|
||||||
|
QAction *penColorAct;
|
||||||
|
QAction *penWidthAct;
|
||||||
|
QAction *clearScreenAct;
|
||||||
|
QAction *aboutAct;
|
||||||
|
QAction *aboutQtAct;
|
||||||
|
|
||||||
|
//main GUI elements
|
||||||
|
QWidget* centralGuiWidget;
|
||||||
|
QGridLayout *mainLayout;
|
||||||
|
QPushButton *clearButton;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
171
IntelliPhoto/Scribble/scribblearea.cpp
Normal file
171
IntelliPhoto/Scribble/scribblearea.cpp
Normal file
@@ -0,0 +1,171 @@
|
|||||||
|
// ---------- scribblearea.cpp ----------
|
||||||
|
|
||||||
|
#include <QtWidgets>
|
||||||
|
#include "scribblearea.h"
|
||||||
|
|
||||||
|
ScribbleArea::ScribbleArea(QWidget *parent)
|
||||||
|
: QWidget(parent)
|
||||||
|
{
|
||||||
|
// Roots the widget to the top left even if resized
|
||||||
|
setAttribute(Qt::WA_StaticContents);
|
||||||
|
|
||||||
|
// Set defaults for the monitored variables
|
||||||
|
modified = false;
|
||||||
|
scribbling = false;
|
||||||
|
myPenWidth = 1;
|
||||||
|
myPenColor = Qt::blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Used to load the image and place it in the widget
|
||||||
|
bool ScribbleArea::openImage(const QString &fileName)
|
||||||
|
{
|
||||||
|
// Holds the image
|
||||||
|
QImage loadedImage;
|
||||||
|
|
||||||
|
// If the image wasn't loaded leave this function
|
||||||
|
if (!loadedImage.load(fileName))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
QSize newSize = loadedImage.size().expandedTo(size());
|
||||||
|
resizeImage(&loadedImage, newSize);
|
||||||
|
image = loadedImage;
|
||||||
|
modified = false;
|
||||||
|
update();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save the current image
|
||||||
|
bool ScribbleArea::saveImage(const QString &fileName, const char *fileFormat)
|
||||||
|
{
|
||||||
|
// Created to hold the image
|
||||||
|
QImage visibleImage = image;
|
||||||
|
resizeImage(&visibleImage, size());
|
||||||
|
|
||||||
|
if (visibleImage.save(fileName, fileFormat)) {
|
||||||
|
modified = false;
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Used to change the pen color
|
||||||
|
void ScribbleArea::setPenColor(const QColor &newColor)
|
||||||
|
{
|
||||||
|
myPenColor = newColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Used to change the pen width
|
||||||
|
void ScribbleArea::setPenWidth(int newWidth)
|
||||||
|
{
|
||||||
|
myPenWidth = newWidth;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Color the image area with white
|
||||||
|
void ScribbleArea::clearImage()
|
||||||
|
{
|
||||||
|
image.fill(qRgb(255, 255, 255));
|
||||||
|
modified = true;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
// If a mouse button is pressed check if it was the
|
||||||
|
// left button and if so store the current position
|
||||||
|
// Set that we are currently drawing
|
||||||
|
void ScribbleArea::mousePressEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
if (event->button() == Qt::LeftButton) {
|
||||||
|
lastPoint = event->pos();
|
||||||
|
scribbling = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// When the mouse moves if the left button is clicked
|
||||||
|
// we call the drawline function which draws a line
|
||||||
|
// from the last position to the current
|
||||||
|
void ScribbleArea::mouseMoveEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
if ((event->buttons() & Qt::LeftButton) && scribbling)
|
||||||
|
drawLineTo(event->pos());
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the button is released we set variables to stop drawing
|
||||||
|
void ScribbleArea::mouseReleaseEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
if (event->button() == Qt::LeftButton && scribbling) {
|
||||||
|
drawLineTo(event->pos());
|
||||||
|
scribbling = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// QPainter provides functions to draw on the widget
|
||||||
|
// The QPaintEvent is sent to widgets that need to
|
||||||
|
// update themselves
|
||||||
|
void ScribbleArea::paintEvent(QPaintEvent *event)
|
||||||
|
{
|
||||||
|
QPainter painter(this);
|
||||||
|
|
||||||
|
// Returns the rectangle that needs to be updated
|
||||||
|
QRect dirtyRect = event->rect();
|
||||||
|
|
||||||
|
// Draws the rectangle where the image needs to
|
||||||
|
// be updated
|
||||||
|
painter.drawImage(dirtyRect, image, dirtyRect);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Resize the image to slightly larger then the main window
|
||||||
|
// to cut down on the need to resize the image
|
||||||
|
void ScribbleArea::resizeEvent(QResizeEvent *event)
|
||||||
|
{
|
||||||
|
if (width() > image.width() || height() > image.height()) {
|
||||||
|
int newWidth = qMax(width() + 128, image.width());
|
||||||
|
int newHeight = qMax(height() + 128, image.height());
|
||||||
|
resizeImage(&image, QSize(newWidth, newHeight));
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
QWidget::resizeEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScribbleArea::drawLineTo(const QPoint &endPoint)
|
||||||
|
{
|
||||||
|
// Used to draw on the widget
|
||||||
|
QPainter painter(&image);
|
||||||
|
|
||||||
|
// Set the current settings for the pen
|
||||||
|
painter.setPen(QPen(myPenColor, myPenWidth, Qt::SolidLine, Qt::RoundCap,
|
||||||
|
Qt::RoundJoin));
|
||||||
|
|
||||||
|
// Draw a line from the last registered point to the current
|
||||||
|
painter.drawLine(lastPoint, endPoint);
|
||||||
|
|
||||||
|
// Set that the image hasn't been saved
|
||||||
|
modified = true;
|
||||||
|
|
||||||
|
int rad = (myPenWidth / 2) + 2;
|
||||||
|
|
||||||
|
// Call to update the rectangular space where we drew
|
||||||
|
update(QRect(lastPoint, endPoint).normalized()
|
||||||
|
.adjusted(-rad, -rad, +rad, +rad));
|
||||||
|
|
||||||
|
// Update the last position where we left off drawing
|
||||||
|
lastPoint = endPoint;
|
||||||
|
}
|
||||||
|
|
||||||
|
// When the app is resized create a new image using
|
||||||
|
// the changes made to the image
|
||||||
|
void ScribbleArea::resizeImage(QImage *image, const QSize &newSize)
|
||||||
|
{
|
||||||
|
// Check if we need to redraw the image
|
||||||
|
if (image->size() == newSize)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Create a new image to display and fill it with white
|
||||||
|
QImage newImage(newSize, QImage::Format_RGB32);
|
||||||
|
newImage.fill(qRgb(255, 255, 255));
|
||||||
|
|
||||||
|
// Draw the image
|
||||||
|
QPainter painter(&newImage);
|
||||||
|
painter.drawImage(QPoint(0, 0), *image);
|
||||||
|
*image = newImage;
|
||||||
|
}
|
||||||
|
|
||||||
73
IntelliPhoto/Scribble/scribblearea.h
Normal file
73
IntelliPhoto/Scribble/scribblearea.h
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
// ---------- scribblearea.h ----------
|
||||||
|
|
||||||
|
#ifndef SCRIBBLEAREA_H
|
||||||
|
#define SCRIBBLEAREA_H
|
||||||
|
|
||||||
|
#include <QColor>
|
||||||
|
#include <QImage>
|
||||||
|
#include <QPoint>
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
class ScribbleArea : public QWidget
|
||||||
|
{
|
||||||
|
// Declares our class as a QObject which is the base class
|
||||||
|
// for all Qt objects
|
||||||
|
// QObjects handle events
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
ScribbleArea(QWidget *parent = nullptr);
|
||||||
|
|
||||||
|
// Handles all events
|
||||||
|
bool openImage(const QString &fileName);
|
||||||
|
bool saveImage(const QString &fileName, const char *fileFormat);
|
||||||
|
void setPenColor(const QColor &newColor);
|
||||||
|
void setPenWidth(int newWidth);
|
||||||
|
|
||||||
|
// Has the image been modified since last save
|
||||||
|
bool isModified() const { return modified; }
|
||||||
|
QColor penColor() const { return myPenColor; }
|
||||||
|
int penWidth() const { return myPenWidth; }
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
|
||||||
|
// Events to handle
|
||||||
|
void clearImage();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void mousePressEvent(QMouseEvent *event) override;
|
||||||
|
void mouseMoveEvent(QMouseEvent *event) override;
|
||||||
|
void mouseReleaseEvent(QMouseEvent *event) override;
|
||||||
|
|
||||||
|
// Updates the scribble area where we are painting
|
||||||
|
void paintEvent(QPaintEvent *event) override;
|
||||||
|
|
||||||
|
// Makes sure the area we are drawing on remains
|
||||||
|
// as large as the widget
|
||||||
|
void resizeEvent(QResizeEvent *event) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void drawLineTo(const QPoint &endPoint);
|
||||||
|
void resizeImage(QImage *image, const QSize &newSize);
|
||||||
|
|
||||||
|
// Will be marked true or false depending on if
|
||||||
|
// we have saved after a change
|
||||||
|
bool modified;
|
||||||
|
|
||||||
|
// Marked true or false depending on if the user
|
||||||
|
// is drawing
|
||||||
|
bool scribbling;
|
||||||
|
|
||||||
|
// Holds the current pen width & color
|
||||||
|
int myPenWidth;
|
||||||
|
QColor myPenColor;
|
||||||
|
|
||||||
|
// Stores the image being drawn
|
||||||
|
QImage image;
|
||||||
|
|
||||||
|
// Stores the location at the current mouse event
|
||||||
|
QPoint lastPoint;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -1,22 +1,18 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>IntelliGUI</class>
|
<class>Widget</class>
|
||||||
<widget class="QMainWindow" name="IntelliGUI">
|
<widget class="QWidget" name="Widget">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>800</width>
|
<width>800</width>
|
||||||
<height>438</height>
|
<height>600</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>IntelliGUI</string>
|
<string>Widget</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="styleSheet">
|
|
||||||
<string notr="true"/>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="centralwidget"/>
|
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections/>
|
<connections/>
|
||||||
Reference in New Issue
Block a user