From: Norbert Moutarde Date: Sat, 14 Jun 2014 12:10:05 +0000 (+0200) Subject: now, you can send every data that you put in diary-mobile. Into a ftp X-Git-Url: https://git.nothing2do.fr/?a=commitdiff_plain;h=39dca5408895370f476ab91f90b80f0cb4164cbb;p=diary-mobile.git now, you can send every data that you put in diary-mobile. Into a ftp server --- diff --git a/mainwindow.cpp b/mainwindow.cpp index 6d98856..3c57947 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -77,7 +77,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) } void MainWindow::start(){ way=conf->value(QString("start")).toStringList(); - if(!way.isEmpty())getButtons(way.takeLast()); + if(!way.isEmpty())get(QString("buttons"), way.takeLast()); } MainWindow::~MainWindow() { @@ -155,9 +155,9 @@ void MainWindow::action(const QString &a){ qDebug()<<"action("<value(QString("sepcmd")).toString()); + int bs=b.size(), part=a.count(conf->value(QString("sepcmd")).toString()); if(part){ for(int d=0; d<=part; d++){ action(a.split(conf->value(QString("sepcmd")).toString())[d]); @@ -225,12 +225,16 @@ void MainWindow::action(const QString &a){ send(c); } else if(b[0]==QString("back")){ - int ws=way.size(), d; - if(way.size()>=2){ - way.removeLast(); - getButtons(way.takeLast()); + if(way.size()>1){ + int e; + if(bs>1)e=b[2].toInt(&ok); + else e=1; + for(int bcl=0;bcl=2)d=b[1].toInt(); - else return; - for (int e=ws-1; e>=d; e--){ - way.removeAt(e); - } - getButtons(way.takeLast()); + int d; + if(b.size()>=2){ + d=b[1].toInt(); + way.removeAt(d); } + } else if(b[0]==QString("read")){ if(bs==2){ QFile a(b[1]); a.open(QIODevice::ReadOnly); - readData(a.readAll()); + read(QString("buttons"),a.readAll()); }else{ QMessageBox::warning(this, trUtf8("Error", "title of box if action(\"read\" has too much (or too \"less\") value"), trUtf8("Bad number of value", "text of box if action(\"read\") has too much (or too \"less\") value")); } @@ -354,7 +356,7 @@ void MainWindow::action(const QString &a){ } } else { - getButtons(a); + get(QString("buttons"),a); } } @@ -367,12 +369,12 @@ void MainWindow::createMenuBar(){ FileMenu->addAction(trUtf8("Reset RAW", "File|resetRAW"), this, SLOT(resetRAW()), QKeySequence(trUtf8("Ctrl+E", "File|Reset"))); FileMenu->addAction(trUtf8("&Quit", "File|Quit"), this, SLOT(quit()),QKeySequence(trUtf8("Ctrl+Q", "File|Quit"))); menuBar()->addMenu(FileMenu); - EditMenu=new QMenu(trUtf8("&Buttons", "top menu")); - EditMenu->addAction(trUtf8("&Download", "Buttons|Downlad"), this, SLOT(downloadData()),QKeySequence(trUtf8("Ctrl+W", "Buttons|Downlad"))); - EditMenu->addAction(trUtf8("A&dd", "Buttons|Add"), this, SLOT(addButtonDB()), QKeySequence(trUtf8("Ctrl+D", "Buttons|Add"))); - EditMenu->addAction(trUtf8("Sa&v", "Buttons|Sav"), this, SLOT(savButtons()), QKeySequence(trUtf8("Ctrl+V", "Buttons|Save"))); - EditMenu->addAction(trUtf8("Reset", "Buttons|Reset"), this, SLOT(resetUi()), QKeySequence(trUtf8("Ctrl+Z", "Buttons|Reset"))); - EditMenu->addAction(trUtf8("&Edit", "Buttons|Edit"), this, SLOT(chooseButtonDB()), QKeySequence(trUtf8("Ctrl+E", "Buttons|&Edit"))); + EditMenu=new QMenu(trUtf8("&Data", "top menu")); + EditMenu->addAction(trUtf8("&Download", "Data|Downlad"), this, SLOT(downloadData()),QKeySequence(trUtf8("Ctrl+W", "Data|Downlad"))); + EditMenu->addAction(trUtf8("A&dd", "Data|Add"), this, SLOT(addDataDB()), QKeySequence(trUtf8("Ctrl+D", "Data|Add"))); + EditMenu->addAction(trUtf8("Sa&v", "Data|Sav"), this, SLOT(savData()), QKeySequence(trUtf8("Ctrl+V", "Data|Save"))); + EditMenu->addAction(trUtf8("Reset", "Data|Reset"), this, SLOT(reset()), QKeySequence(trUtf8("Ctrl+Z", "Data|Reset"))); + EditMenu->addAction(trUtf8("&Edit", "Data|Edit"), this, SLOT(chooseDB()), QKeySequence(trUtf8("Ctrl+E", "Data|&Edit"))); menuBar()->addMenu(EditMenu); HackMenu=new QMenu(trUtf8("&Hack", "top menu")); HackMenu->addAction(trUtf8("New entry", "Hack|Entry"), this, SLOT(entry())); @@ -457,9 +459,11 @@ void MainWindow::firstrun(){ conf->setValue(QString("fileraw"), QVariant("raw")); conf->setValue(QString("filebuttons"), QVariant("ui.sql+")); conf->setValue(QString("maxcolumn"), QVariant(2)); - conf->setValue(QString("maxline"), QVariant(4)); + conf->setValue(QString("maxline"), QVariant(3)); conf->setValue(QString("SQLsettings"), QVariant("connect_timeout=10000")); conf->setValue(QString("button"), QVariant("background-color: red;border-style: outset;border-width: 7px;border-radius: 10px;border-color: beige;font: bold 15px;padding: 6px;")); + conf->setValue(QString("buttonbefore"), QVariant("border-style: outset")); + conf->setValue(QString("buttonafter"), QVariant("border-style: inset")); conf->setValue(QString("menu"), QVariant(0)); conf->setValue(QString("download"), QVariant("http://www.nothing2do.eu/ui.sql+")); conf->setValue(QString("userftp"), QVariant("")); @@ -489,17 +493,15 @@ void MainWindow::firstrun(){ conf->setValue(QString("sepcmd"), QVariant("!@!")); conf->setValue(QString("sepchc"), QVariant("!#!")); conf->setValue(QString("sepraw"), QVariant(" ")); - conf->setValue(QString("sepbuttons"), QVariant("$")); + conf->setValue(QString("sepcolbuttons"), QVariant("$")); conf->setValue(QString("sqlval"), QVariant("?")); conf->setValue(QString("always"), QVariant("+always")); qDebug()<<"firstrun() finished"; } QString MainWindow::get(int column){ - //tmp=q->value(column).toString(); return q->value(column).toString(); } QString MainWindow::get2(int column){ - //tmp2=qq->value(column).toString(); return qq->value(column).toString(); } int MainWindow::exec(const QList & a){ @@ -543,7 +545,7 @@ void MainWindow::entry(const QString &a){ context.append(way.last()); if(a=="")label=context+" : "; else label=context+", "+a+" : "; - entry=QInputDialog::getText(this, trUtf8("New entry"), label, QLineEdit::Normal, "", &ok); + entry=QInputDialog::getMultiLineText(this, trUtf8("New entry"), label, "", &ok); if(!ok)return; QString c; if(a=="")c=context+" : "+entry; @@ -561,20 +563,20 @@ void MainWindow::createDB(){ exec(QList({"create table ui(id INTEGER PRIMARY KEY AUTOINCREMENT, keyword text, label text, action text);"})); exec(QList({"create table raw(id INTEGER PRIMARY KEY AUTOINCREMENT, date timestamp, texte text);"})); } -void MainWindow::addButtonDB(){ - qDebug()<<"addButtonDB()"; +void MainWindow::addDB(const QString & tmp){ + qDebug()<<"addDB()"; bool ok=0; QString cur=label->text(); - QString a, b, c=QInputDialog::getText(this, trUtf8("label", "Title of box where ask for new button's label"), trUtf8("Enter his label", "his/her/?they? I've forget my school lesson"),QLineEdit::Normal, QString(""), &ok); + QString a, b, c=QInputDialog::getMultiLineText(this, trUtf8("label", "Title of box where ask for new button's label"), trUtf8("Enter his label", "his/her/?they? I've forget my school lesson"), QString(""), &ok); if ((c=="")||(ok==0))return; - b=QInputDialog::getText(this, trUtf8("keyword", "Title of box where ask for new button's keyword"), trUtf8("Enter they keyword (no limit !)"), QLineEdit::Normal, cur, &ok); + b=QInputDialog::getMultiLineText(this, trUtf8("keyword", "Title of box where ask for new button's keyword"), trUtf8("Enter they keyword (no limit !)"), cur, &ok); if ((b=="")||(ok==0))return; - a=QInputDialog::getText(this, trUtf8("action", "Title of box where ask for new button's action"), trUtf8("Enter his action"), QLineEdit::Normal, c, &ok); + a=QInputDialog::getMultiLineText(this, trUtf8("action", "Title of box where ask for new button's action"), trUtf8("Enter his action"), c, &ok); if ((a=="")||(ok==0))return; - insertButton(b, c, a); + insert(tmp, b, c, a); return; } -void MainWindow::getButtons(const QString &b){ +void MainWindow::get(const QString & d, const QString &b){ QString a=b;lastprint=b; if((b[0]!='-')&&(b[0]!='+'))way.append(a); else a.remove(0, 1); @@ -603,42 +605,51 @@ void MainWindow::getButtons(const QString &b){ qDebug()<<"end getButtons : "<value("askkeyword").toBool())a=QInputDialog::getText(this, trUtf8("chooseButtonDB"), trUtf8("Enter the keyword : "), QLineEdit::Normal, label->text(), &ok); - else a=label->text(); - if(ok)chooseButtonDB(a); + if(conf->value("askkeyword").toBool())b=QInputDialog::getText(this, trUtf8("chooseDB"), trUtf8("Enter the keyword : "), QLineEdit::Normal, label->text(), &ok); + else b=label->text(); + if(ok)chooseDB(QString("buttons"), b); } -void MainWindow::chooseButtonDB(const QString & a){ +void MainWindow::chooseDB(const QString & b){ flush(); - QString b="%"+a+"%"; - qDebug()<<"exec()="<({conf->value(QString("choosebuttons")).toString(), b})); + QString c="%"+b+"%", a="buttons"; + qDebug()<<"exec()="<({conf->value(QString("choose"+a)).toString(), c})); while (q->next()) { const QString action="edit "+q->value(0).toString(); addWidget(action, new CLabel(q->value(1).toString(), conf->value(QString("button")).toString())); } } -void MainWindow::editButtonDB(const QString & a){ +void MainWindow::chooseDB(const QString & a,const QString & b){ + flush(); + QString c="%"+b+"%"; + qDebug()<<"exec()="<({conf->value(QString("choose"+a)).toString(), c})); + while (q->next()) { + const QString action="edit "+q->value(0).toString(); + addWidget(action, new CLabel(q->value(1).toString(), conf->value(QString("button")).toString())); + } +} +void MainWindow::editDB(const QString & a, const QString & b){ qDebug()<<"a="<({conf->value(QString("editbuttons")).toString(), a})); + exec(QList({conf->value(QString("edit")+a).toString(), b})); if(q->isSelect())q->first(); bool ok; QString keyword=q->value(1).toString(); QString label=q->value(2).toString(); QString action=q->value(3).toString(); - const QString tmpkeyword=QInputDialog::getText(this, trUtf8("keyword", "Title of box where ask for button's keyword"), trUtf8("new keyword", "question to get new button's keyword"), QLineEdit::Normal, keyword, &ok); + const QString tmpkeyword=QInputDialog::getMultiLineText(this, trUtf8("keyword", "Title of box where ask for button's keyword"), trUtf8("new keyword", "question to get new button's keyword"), keyword, &ok); if(!ok)return; - const QString tmplabel=QInputDialog::getText(this, trUtf8("label", "Title of box where ask for button's label"), trUtf8("new label", "question to get new button's label"), QLineEdit::Normal, label, &ok); + const QString tmplabel=QInputDialog::getMultiLineText(this, trUtf8("label", "Title of box where ask for button's label"), trUtf8("new label", "question to get new button's label"), label, &ok); if(!ok)return; - const QString tmpaction=QInputDialog::getText(this, trUtf8("action", "Title of box where ask for button's action"), trUtf8("new action", "question to get new button's action"), QLineEdit::Normal, action, &ok); + const QString tmpaction=QInputDialog::getMultiLineText(this, trUtf8("action", "Title of box where ask for button's action"), trUtf8("new action", "question to get new button's action"), action, &ok); if(!ok)return; if((tmpkeyword=="")||(tmplabel=="")||(tmpaction=="")){ //exec(QList({conf->value(QString("deletebuttons")).toString(), a})); - removeButton(keyword, label, action); + remove(b, keyword, label, action); return; } - exec(QList({conf->value(QString("updatebuttons")).toString(), tmpkeyword, tmplabel, tmpaction, a})); + exec(QList({conf->value(QString("update")+a).toString(), tmpkeyword, tmplabel, tmpaction, b})); } void MainWindow::downloadData(){ @@ -647,7 +658,7 @@ void MainWindow::downloadData(){ connect(m, SIGNAL(downloaded()), SLOT(writeData())); } void MainWindow::writeData(){ - readData(m->downloadedData()); + read(QString("buttons"), m->downloadedData()); m->deleteLater(); conf->setValue(QString("lastdownload"), QDateTime::currentDateTime().toString(Qt::ISODate)); } @@ -681,10 +692,10 @@ void MainWindow::RAWsent(){ } void MainWindow::back(){ if(!((video)&&(playlist))){ - getButtons(conf->value(QString("menuback")).toString()); - }else if(label->text()==conf->value(QString("menuback")).toString())getButtons(way.takeLast()); + get(QString("buttons"),conf->value(QString("menuback")).toString()); + }else if(label->text()==conf->value(QString("menuback")).toString())get(QString("buttons"),way.takeLast()); else{ - getButtons(QString("+video")); + get(QString("buttons"), QString("+video")); } } void MainWindow::keyReleaseEvent(QKeyEvent *event) @@ -737,22 +748,21 @@ QByteArray FileDownloader::downloadedData() const { return m_DownloadedData; } -void MainWindow::readData(const QByteArray &in){ - qDebug()<<"readButtons"; +void MainWindow::read(const QString &a, const QByteArray &in){ + qDebug()<<"read : "<exec("PRAGMA foreign_keys=OFF;"); q->exec("BEGIN TRANSACTION;");// these 2 line is SQLite specific - int a=in.count('\n'); - /*QString d=in.split('\n').at(0); - qDebug()<<"first line : "<setValue(QString("firstline"), d);*/ - QString d=conf->value(QString("sqlbuttons")).toString(); - for(int i=0; ivalue(QString("sql")+a).toString(), sep=conf->value(QString("sepcol")+a).toString(); + qDebug()<<"sql"<bindValue(j, QString(in.split('\n').at(i).split('$').at(j))); - //qDebug()<<"bind "<bindValue(j, tmp); + qDebug()<<"bind "<exec() : "<exec()<<" lastError()="<lastError(); @@ -766,11 +776,7 @@ void MainWindow::datasent(){ texte=texte+conf->value(QString("uploadDB")).toString(); qDebug()<<"texte : "<({"delete from ui;"})); - + QMessageBox::information(this, trUtf8("upload", "pop-up title when data has been sent"), texte); } void MainWindow::downloadDB(){ qDebug()<<"restoreDB() : "<value(QString("restore")).toString(); @@ -799,27 +805,26 @@ void MainWindow::download(const QString & a, const QString & b){ file=b; connect(m, SIGNAL(downloaded()), this, SLOT(writeFile())); } -void MainWindow::savButtons(){ - exec(QList ({conf->value(QString("selectbuttons")).toString()})); - QFile a(conf->value(QString("filebuttons")).toString()); - a.open(QIODevice::WriteOnly|QIODevice::Text); - QTextStream b(&a); - int c=conf->value(QString("columnbuttons")).toInt()-1; - QString sep=conf->value(QString("sepbuttons")).toString(); - qDebug()<<"c="<value("firstline").toString()<<"\n"; +void MainWindow::sav(const QString & a){ + exec(QList ({conf->value(QString("select")+a).toString()})); + QString tmp="file"+a; + QFile b(conf->value(tmp).toString()); + b.open(QIODevice::WriteOnly|QIODevice::Text); + QTextStream c(&b); + int d=conf->value(QString("column")+a).toInt()-1; + QString sep=conf->value(QString("sep")+a).toString(); + qDebug()<<"d="<next()) { - for (int i=0; ivalue(i).toString()<value(i).toString()<value(2).toString()<<"\n"; + c<value(d).toString()<<"\n"; } - a.close(); - //QUrl upload(conf->value(QString("uploadUi")).toString()); - QUrl upload(QString("ftp://")+conf->value(QString("userftp")).toString()+QString(":")+conf->value(QString("passftp")).toString()+QString("@")+conf->value(QString("hostftp")).toString()+QString("/")+conf->value(QString("filebuttons")).toString()); + b.close(); + QUrl upload(QString("ftp://")+conf->value(QString("userftp")).toString()+QString(":")+conf->value(QString("passftp")).toString()+QString("@")+conf->value(QString("hostftp")).toString()+QString("/")+conf->value(QString("file")+a).toString()); net=new QNetworkAccessManager(this); - a.open(QIODevice::ReadOnly | QIODevice::Text); - rep=net->put(QNetworkRequest(upload), a.readAll()); + b.open(QIODevice::ReadOnly | QIODevice::Text); + rep=net->put(QNetworkRequest(upload), b.readAll()); qDebug()<<"net->put : "<({"delete from raw;"})); +void MainWindow::reset(const QString & a){ + exec(QList({"delete from "+a+";"})); } -void MainWindow::getButtons(){ - const QString a=QInputDialog::getText(this, trUtf8("getButtons", "title to ask keyword fot getbuttons"), trUtf8("Enter the keyword : ", "ask keyword to get buttons")); - getButtons(a); +void MainWindow::get(const QString & a){ + const QString b=QInputDialog::getText(this, trUtf8("getButtons", "title to ask keyword fot getbuttons"), trUtf8("Enter the keyword : ", "ask keyword to get buttons")); + get(a, b); } -void MainWindow::insertButton(const QString & keyword, const QString & label, const QString & action){ +void MainWindow::insert(const QString & a, const QString & keyword, const QString & label, const QString & action){ QList tmp; - tmp.append(conf->value(QString("testbuttons")).toString()); + tmp.append(conf->value(QString("test")+a).toString()); tmp.append(label); tmp.append(action); exec(tmp); @@ -847,15 +852,15 @@ void MainWindow::insertButton(const QString & keyword, const QString & label, co count++; key=q->value(1).toString()+" "+key; } - if(count==0)exec(QList({conf->value(QString("addbuttons")).toString(), label, key, action})); - else{exec(QList({conf->value(QString("updatebuttons")).toString(), key, label, action, id})); + if(count==0)exec(QList({conf->value(QString("add")+a).toString(), label, key, action})); + else{exec(QList({conf->value(QString("update")+a).toString(), key, label, action, id})); } } -void MainWindow::removeButton(const QString & keyword, const QString & label, const QString & action){ +void MainWindow::remove(const QString & a, const QString & keyword, const QString & label, const QString & action){ qDebug()<<"keyword="<value(QString("test")+a).toString()); tmp.append(label); tmp.append(action); exec(tmp); @@ -868,7 +873,7 @@ void MainWindow::removeButton(const QString & keyword, const QString & label, co key=key+" "+cur; } qDebug()<<"key="<({conf->value(QString("deletebutton")).toString(), id})); + if(key==QString(" ").repeated(key.size()))exec(QList({conf->value(QString("delete")+a).toString(), id})); else{ key.replace(keyword, QString("")); exec(QList({conf->value(QString("updatebuttons")).toString(), key, label, action, id})); @@ -941,7 +946,7 @@ void MainWindow::tmpdown(){ connect(m, SIGNAL(downloaded()), this, SLOT(readData())); } void MainWindow::readData(){ - readData(m->downloadedData()); + read(QString("buttons"), m->downloadedData()); m->disconnect(m, SIGNAL(downloaded()),this, SLOT(readData())); } void MainWindow::send(const QString & a){ @@ -962,12 +967,10 @@ void MainWindow::send(const QString & a){ b<value(c).toString()<<"\n"; } tmp.close(); - qDebug()<<"a.open()="<value(QString("uploadRAW")).toString()); - t=a+"file"; + t="file"+a; QUrl upload(QString("ftp://")+conf->value(QString("userftp")).toString()+QString(":")+conf->value(QString("passftp")).toString()+QString("@")+conf->value(QString("hostftp")).toString()+QString("/")+conf->value(t).toString()); net=new QNetworkAccessManager(this); - //a.open(QIODevice::ReadOnly | QIODevice::Text); + tmp.open(QIODevice::ReadOnly | QIODevice::Text); rep=net->put(QNetworkRequest(upload), tmp.readAll()); qDebug()<<"net->put : "<({conf->value(QString("changekey")).toString(), a})); QString key; - - qDebug()<<"key="<next()){ key=get(c); if(key.contains(a)){ key.replace(a,b); QList tmp({conf->value(QString("updatebuttons")).toString()}); for(int t=0;t<4;t++){//4 is conf("changekey") column - if(t=c)tmp.append(key); + if(t==c)tmp.append(key); else tmp.append(get(t)); } exec2(tmp); } } - getButtons(lastprint); + get(QString("buttons"), lastprint); +} +void MainWindow::addDataDB(){ + addDB(QString("buttons")); +} +void MainWindow::savData(){ + sav(QString("buttons")); +} +void MainWindow::reset(){ + reset(QString("ui")); } diff --git a/mainwindow.h b/mainwindow.h index 840b02f..deb6fcd 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -123,8 +123,8 @@ public: void keyReleaseEvent(QKeyEvent *event); explicit MainWindow(QWidget *parent = 0); virtual ~MainWindow(); - void insertButton(const QString &, const QString &, const QString &); - void removeButton(const QString &, const QString &, const QString &); + void insert(const QString &, const QString &, const QString &, const QString &); + void remove(const QString &, const QString &, const QString &, const QString &); // Note that this will only have an effect on Symbian and Fremantle. void setOrientation(ScreenOrientation orientation); @@ -142,7 +142,8 @@ private slots: void back(); void start(); void quit(); - void resetRAW(); + void reset(const QString &); + void reset(); void action(const QString &); void action(); void createMenuBar(); @@ -158,14 +159,16 @@ private slots: void entry(const QString &); void entry(); void createDB(); - void addButtonDB(); + void addDB(const QString &); + void addDataDB(); void writeDB(); - void chooseButtonDB(); - void chooseButtonDB(const QString &); + void chooseDB(); + void chooseDB(const QString &); + void chooseDB(const QString &,const QString &); void addMedia(const QString &); - void editButtonDB(const QString &); - void getButtons(const QString &); - void getButtons(); + void editDB(const QString &, const QString &); + void get(const QString &, const QString &); + void get(const QString &); void downloadData(); void writeData(); void writeTr(); @@ -173,9 +176,10 @@ private slots: void sendRAW(); void RAWsent(); void Uisent(); - void savButtons(); - void readData(const QByteArray &); - void resetUi(); + void sav(const QString &); + //void savButtons(); + void savData(); + void read(const QString &, const QByteArray &); void downloadDB(); void download(const QString &); void download(const QString &,const QString &);