Commit 7842bca2 authored by floreal797's avatar floreal797

Create branch 2.1.x

parents
This diff is collapsed.
Bienvenue, et merci d'avoir téléchargé QCeCWriter !
Pour utiliser le logiciel, vous devez tout d'abord compiler le logiciel :
qmake
make
Le logiciel est alors compilé.
Vous pouvez l'exécuter directement dans le dossier, il sera alors fonctionnel.
Pour l'installer sur le système, sous Linux :
exécutez la commande suivante :
./install.sh
Vous pouvez à tout moment désinstaller complètement le logiciel grâce à la commande suivante :
./uninstall.sh
Si vous déplacez l'exécutable, veuillez vous assurer que les dossiers SendToWordpress et modeleHtml sont situés dans le même dossier que l'exécutable.
N'hésitez pas à nous contacter en cas de problèmes,
via le formulaire :
http://www.conseilsencuisine.fr/contact?menu=contact
L'équipe de développement.
<RCC>
<qresource prefix="/">
<file>images/logo.png</file>
<file>images/logo-grand.png</file>
<file>images/image.png</file>
<file>images/splash.jpg</file>
<file>images/abc.png</file>
<file>images/apropos.png</file>
<file>images/comment.png</file>
<file>images/lien_button.png</file>
<file>images/img.png</file>
<file>images/format-indent-less.png</file>
<file>images/format-indent-more.png</file>
<file>images/puce.png</file>
<file>checkGimp.bash</file>
<file>images/apropos1.png</file>
<file>images/apropos2.png</file>
<file>images/editPict_click.png</file>
<file>images/editPict_over.png</file>
<file>images/editPict.png</file>
<file>images/abc_blanc.png</file>
<file>images/img_blanc.png</file>
<file>images/lien_button_blanc.png</file>
<file>images/logo_blanc.png</file>
<file>images/logo-grand_blanc.png</file>
<file>images/QCeCWriter.png</file>
<file>images/print.png</file>
<file>images/noprint.png</file>
<file>images/movie.png</file>
<file>images/media_aspect_ratio.png</file>
<file>images/media_aspect_ratio_blanc.png</file>
<file>images/coup_de_coeur.png</file>
<file>images/coup_de_coeur_2.png</file>
<file>images/coup_de_coeur_3.png</file>
<file>images/coup_de_coeur_01.png</file>
<file>images/coup_de_coeur_02.png</file>
<file>images/coup_de_coeur_03.png</file>
</qresource>
</RCC>
/*
* © 2013-2014 Conseils en Cuisine !
*
* CeCWriter et l'ensemble de ses putils est fournit sous la licence Creative Common BY-NC-SA.
* Toutes les modifications et la redistribution sont autorisés pour une utilisation NON COMMERCIALE.
* Par ailleurs, les modifications et la reproduction doivent respecter les règles ci-dessous :
* - Cette en-tête doit être maintenue.
* - Vous devez redistribuer la version modifiée ou non sous licence Creative Common au moins autant
* restrictive.
* - ConseilsEnCuisine! ne peut être tenu pour responsable des versions modifiées et/ou redistribuées.
* - Toute utilisation commerciale partielle ou complète est interdite.
*/
#include "apropos.h"
#include "ui_apropos.h"
#include <QPixmap>
extern QString VERSION;
Apropos::Apropos(QWidget *parent) :
QDialog(parent),
ui(new Ui::Apropos)
{
ui->setupUi(this);
}
Apropos::~Apropos()
{
delete ui;
}
void Apropos::init() {
QPixmap logo(":/images/apropos2.png");
ui->label_3->setPixmap(logo);
ui->versionApp->setTextFormat(Qt::RichText);
ui->versionApp->setText("<span style=' font-size:12pt;'>VERSION ACTUELLE : "+ VERSION +"</span>");
}
/*
* © 2013-2014 Conseils en Cuisine !
*
* CeCWriter et l'ensemble de ses putils est fournit sous la licence Creative Common BY-NC-SA.
* Toutes les modifications et la redistribution sont autorisés pour une utilisation NON COMMERCIALE.
* Par ailleurs, les modifications et la reproduction doivent respecter les règles ci-dessous :
* - Cette en-tête doit être maintenue.
* - Vous devez redistribuer la version modifiée ou non sous licence Creative Common au moins autant
* restrictive.
* - ConseilsEnCuisine! ne peut être tenu pour responsable des versions modifiées et/ou redistribuées.
* - Toute utilisation commerciale partielle ou complète est interdite.
*/
#ifndef APROPOS_H
#define APROPOS_H
#include <QDialog>
namespace Ui {
class Apropos;
}
class Apropos : public QDialog
{
Q_OBJECT
public:
explicit Apropos(QWidget *parent = 0);
~Apropos();
void init();
private:
Ui::Apropos *ui;
};
#endif // APROPOS_H
This diff is collapsed.
/*
* © 2013-2014 Conseils en Cuisine !
*
* CeCWriter et l'ensemble de ses putils est fournit sous la licence Creative Common BY-NC-SA.
* Toutes les modifications et la redistribution sont autorisés pour une utilisation NON COMMERCIALE.
* Par ailleurs, les modifications et la reproduction doivent respecter les règles ci-dessous :
* - Cette en-tête doit être maintenue.
* - Vous devez redistribuer la version modifiée ou non sous licence Creative Common au moins autant
* restrictive.
* - ConseilsEnCuisine! ne peut être tenu pour responsable des versions modifiées et/ou redistribuées.
* - Toute utilisation commerciale partielle ou complète est interdite.
*/
#include "categories.h"
#include "ui_categories.h"
extern QFile *confCatFile;
Categories::Categories(QWidget *parent) :
QDialog(parent),
ui(new Ui::Categories)
{
ui->setupUi(this);
}
Categories::~Categories()
{
delete ui;
}
void Categories::keyPressEvent(QKeyEvent *e)
{
//Disable hide dialog by press escape
if(e->key() != Qt::Key_Escape)
QDialog::keyPressEvent(e);
}
void Categories::reset()
{
idCatList = 0;
catList.clear();
wid = new QWidget(ui->scroll_categories); //Main widget of the scrollArea
//Creating first line:
QLineEdit *line1 = new QLineEdit();
line1->setMinimumHeight(30);
line1->setText("Entrée");
line1 ->setAlignment(Qt::AlignCenter);
QHBoxLayout *hLay = new QHBoxLayout(wid);
hLay->setAlignment(Qt::AlignTop);
hLay->addWidget(line1);
hLay->addSpacing(30 + hLay->margin());
hLay->setMargin(0);
QWidget *wid1 = new QWidget();
wid1->setLayout(hLay);
vLay = new QVBoxLayout(wid);
vLay->setAlignment(Qt::AlignTop);
vLay->addWidget(wid1);
catList.insert(idCatList, line1);
idCatList++;
//Creating other lines:
for (int wi = 0; wi < 7; ++wi) {
QPushButton* but1 = new QPushButton("-");
but1->setMinimumSize(30,30);
but1->setMaximumSize(30,30);
connect(but1, SIGNAL(released()), &mapper, SLOT(map()));
mapper.setMapping(but1, idCatList);
QLineEdit *line2 = new QLineEdit();
line2 ->setAlignment(Qt::AlignCenter);
if (wi==0){
line2->setText("Plat principal");
}
if (wi==1){
line2->setText("Dessert");
}
if (wi==2){
line2->setText("Accompagnement");
}
if (wi==3){
line2->setText("Base");
}
if (wi==4){
line2->setText("Biscuits & Friandises");
}
if (wi==5){
line2->setText("Pain & Viennoiserie");
}
if (wi==6){
line2->setText("Divers");
}
line2->setMinimumHeight(30);
QWidget *wid2 = new QWidget();
QHBoxLayout *hLay2 = new QHBoxLayout(wid2);
hLay2->setAlignment(Qt::AlignTop);
hLay2->addWidget(line2);
hLay2->addWidget(but1);
hLay2->setMargin(0);
vLay->addWidget(wid2);
sendW.insert(idCatList, wid2);
catList.insert(idCatList, line2);
idCatList++;
}
//Creating last line: the "+" button:
QPushButton* addCat = new QPushButton("+");
addCat->setMinimumSize(30,30);
addCat->setMaximumSize(30,30);
connect(addCat, SIGNAL(released()), this, SLOT(addCatPushed()));
vLay->addWidget(addCat);
vLay->setMargin(0);
//Attribute main widget to scrollArea:
ui->scroll_categories->setWidget(wid);
}
void Categories::on_annuler_clicked()
{
close();
}
void Categories::initCats(QStringList cats)
{
idCatList = 0;
catList.clear();
wid = new QWidget(ui->scroll_categories); //Main widget of the scrollArea
//Creating first line:
QLineEdit *line1 = new QLineEdit();
line1->setMinimumHeight(30);
line1->setText(cats[0].replace("&&", "&"));
line1 ->setAlignment(Qt::AlignCenter);
QHBoxLayout *hLay = new QHBoxLayout(wid);
hLay->setAlignment(Qt::AlignTop);
hLay->addWidget(line1);
hLay->addSpacing(30 + hLay->margin());
hLay->setMargin(0);
QWidget *wid1 = new QWidget();
wid1->setLayout(hLay);
vLay = new QVBoxLayout(wid);
vLay->setAlignment(Qt::AlignTop);
vLay->addWidget(wid1);
catList.insert(idCatList, line1);
idCatList++;
for (int el = 1; el < cats.size(); ++el) {
QPushButton* but1 = new QPushButton("-");
but1->setMinimumSize(30,30);
but1->setMaximumSize(30,30);
connect(but1, SIGNAL(released()), &mapper, SLOT(map()));
mapper.setMapping(but1, idCatList);
QLineEdit *line2 = new QLineEdit();
line2 ->setAlignment(Qt::AlignCenter);
line2->setText(cats[el].replace("&&", "&"));
line2->setMinimumHeight(30);
QWidget *wid2 = new QWidget();
QHBoxLayout *hLay2 = new QHBoxLayout(wid2);
hLay2->setAlignment(Qt::AlignTop);
hLay2->addWidget(line2);
hLay2->addWidget(but1);
hLay2->setMargin(0);
vLay->addWidget(wid2);
sendW.insert(idCatList, wid2);
catList.insert(idCatList, line2);
idCatList++;
}
//Creating last line: the "+" button:
QPushButton* addCat = new QPushButton("+");
addCat->setMinimumSize(30,30);
addCat->setMaximumSize(30,30);
connect(addCat, SIGNAL(released()), this, SLOT(addCatPushed()));
vLay->addWidget(addCat);
vLay->setMargin(0);
//Attribute main widget to scrollArea:
ui->scroll_categories->setWidget(wid);
}
void Categories::init(QStringList cats)
{
connect(&mapper, SIGNAL(mapped(int)), this, SLOT(delCatPushed(int)));
idCatList = 0;
ui->scroll_categories->setStyleSheet("QScrollArea {border: none;}");
setWindowTitle("Gestion des Catégories");
initCats(cats);
}
namespace Ui {
class Categories;
}
void Categories::delCatPushed(int id)
{
delete sendW[id];
sendW.remove(id);
catList.remove(id);
}
void Categories::addCatPushed()
{
QPushButton* but1 = new QPushButton("-");
but1->setMinimumSize(30,30);
but1->setMaximumSize(30,30);
connect(but1, SIGNAL(released()), this, SLOT(delCatPushed()));
QLineEdit *line2 = new QLineEdit();
line2->setMinimumHeight(30);
line2->setAlignment(Qt::AlignCenter);
QWidget *wid2 = new QWidget();
QHBoxLayout *hLay2 = new QHBoxLayout(wid2);
hLay2->setAlignment(Qt::AlignTop);
hLay2->addWidget(line2);
hLay2->addWidget(but1);
hLay2->setMargin(0);
vLay->insertWidget(vLay->count()-1,wid2);
sendW.insert(idCatList, wid2);
catList.insert(idCatList, line2);
idCatList++;
line2->setFocus();
}
void Categories::on_valeurs_def_clicked()
{
delete wid;
reset();
}
void Categories::on_valider_clicked()
{
confCatFile->remove();
confCatFile->open(QIODevice::WriteOnly);
QXmlStreamWriter writer(confCatFile);
writer.setAutoFormatting(true);
writer.writeStartDocument("1.0");
writer.writeStartElement("categories");
int id = 1;
foreach (QLineEdit* catL, catList.values()) {
writer.writeTextElement("cat" + QString::number(id), catL->text());
id++;
}
writer.writeEndElement();
confCatFile->close();
this->close();
}
/*
* © 2013-2014 Conseils en Cuisine !
*
* CeCWriter et l'ensemble de ses putils est fournit sous la licence Creative Common BY-NC-SA.
* Toutes les modifications et la redistribution sont autorisés pour une utilisation NON COMMERCIALE.
* Par ailleurs, les modifications et la reproduction doivent respecter les règles ci-dessous :
* - Cette en-tête doit être maintenue.
* - Vous devez redistribuer la version modifiée ou non sous licence Creative Common au moins autant
* restrictive.
* - ConseilsEnCuisine! ne peut être tenu pour responsable des versions modifiées et/ou redistribuées.
* - Toute utilisation commerciale partielle ou complète est interdite.
*/
#ifndef CATEGORIES_H
#define CATEGORIES_H
#include <QDialog>
#include <QFile>
#include <QHBoxLayout>
#include <QKeyEvent>
#include <QLayout>
#include <QLineEdit>
#include <QMap>
#include <QPushButton>
#include <QSignalMapper>
#include <QVBoxLayout>
#include <QWidget>
#include <QXmlStreamWriter>
namespace Ui {
class Categories;
}
class Categories : public QDialog
{
Q_OBJECT
public slots:
void init(QStringList cats);
void reset();
private slots:
void delCatPushed(int id);
void addCatPushed();
void on_valeurs_def_clicked();
void on_valider_clicked();
void on_annuler_clicked();
public:
static bool saveRecipe(QString filename);
explicit Categories(QWidget *parent = 0);
~Categories();
private:
QString cat_save;
QWidget* wid;
Ui::Categories *ui;
QVBoxLayout *vLay;
QMap<int, QWidget*> sendW;
int idCatList;
QMap<int,QLineEdit*> catList;
QSignalMapper mapper;
private:
void initCats(QStringList cats);
void keyPressEvent(QKeyEvent *e);
};
#endif // CATEGORIES_H
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Categories</class>
<widget class="QDialog" name="Categories">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>589</width>
<height>373</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="leftMargin">
<number>5</number>
</property>
<property name="topMargin">
<number>5</number>
</property>
<property name="rightMargin">
<number>5</number>
</property>
<property name="bottomMargin">
<number>5</number>
</property>
<item>
<widget class="QWidget" name="centralwidget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QScrollArea" name="scroll_categories">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>557</width>
<height>303</height>
</rect>
</property>
</widget>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="valeurs_def">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>Valeurs par défault</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="valider">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>Valider</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="annuler">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>Annuler</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
This diff is collapsed.
/*
* © 2013-2014 Conseils en Cuisine !
*
* CeCWriter et l'ensemble de ses putils est fournit sous la licence Creative Common BY-NC-SA.
* Toutes les modifications et la redistribution sont autorisés pour une utilisation NON COMMERCIALE.
* Par ailleurs, les modifications et la reproduction doivent respecter les règles ci-dessous :
* - Cette en-tête doit être maintenue.
* - Vous devez redistribuer la version modifiée ou non sous licence Creative Common au moins autant
* restrictive.
* - ConseilsEnCuisine! ne peut être tenu pour responsable des versions modifiées et/ou redistribuées.
* - Toute utilisation commerciale partielle ou complète est interdite.
*/
#ifndef CECWRITER_H
#define CECWRITER_H
#include "categories.h"
#include "listviewdelegate.h"
#include "options.h"
#include "functions.h"
#include "apropos.h"
#include "sendmanual.h"
#include "sendautomatic.h"
#include "spellcheckdialog.h"
#include "spellchecker.h"
#include "insertvideo.h"
#include "insertpicture.h"
#include "filedownloader.h"
#include "qinputmultiline.h"
#include "coupdecoeur.h"
#include <QMainWindow>
//Graphic components
#include <QApplication>
#include <QChar>
#include <QCheckBox>
#include <QColor>
#include <QDate>
#include <QDesktopWidget>
#include <QDir>
#include <QFileDialog>
#include <QFontDatabase>
#include <QInputDialog>