From: Norbert Moutarde Date: Thu, 12 Jun 2014 12:26:24 +0000 (+0200) Subject: mass(int, QString, QString) now replace for any column (corresponding to X-Git-Url: https://git.nothing2do.fr/?a=commitdiff_plain;h=72905d5147b21004981d9e1e4a7d21c67ac85f0d;p=diary-mobile.git mass(int, QString, QString) now replace for any column (corresponding to changekey but on buttons filtered by keyword) --- diff --git a/mainwindow.cpp b/mainwindow.cpp index c4bfd6d..6d98856 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -225,11 +225,12 @@ 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()); + } } - } else if(b[0]==QString("setfile")){ bool ok=0; QString d, e; @@ -320,7 +321,7 @@ void MainWindow::action(const QString &a){ else if(b[0]==QString("-hist")){ flush(); QString wi; - lastprint=QString("hist"); + lastprint=QString("-hist"); for(int i=0; ivalue(QString("button")).toString())); @@ -329,8 +330,14 @@ void MainWindow::action(const QString &a){ } } else if(b[0]==QString("rm")){ - way.removeAt(b[1].toInt()); - } + int d, ws=way.size(); + if(b.size()>=2)d=b[1].toInt(); + else return; + for (int e=ws-1; e>=d; e--){ + way.removeAt(e); + } + getButtons(way.takeLast()); + } else if(b[0]==QString("read")){ if(bs==2){ QFile a(b[1]); @@ -340,6 +347,12 @@ void MainWindow::action(const QString &a){ 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")); } } + else if(b[0]==QString("mass")){ + if(bs==4){ + int tmp=b[1].toInt(); + mass(tmp, b[2], b[3]); + } + } else { getButtons(a); @@ -349,7 +362,7 @@ void MainWindow::createMenuBar(){ FileMenu=new QMenu(trUtf8("&File", "top menu"), this); FileMenu->addAction(trUtf8("&Start", "File|Start"), this, SLOT(start()),QKeySequence(trUtf8("Ctrl+S", "File|Start"))); FileMenu->addAction(trUtf8("&Back", "File|Back"), this, SLOT(back()),QKeySequence(trUtf8("Ctrl+B", "File|Back"))); - FileMenu->addAction(trUtf8("&View/Hide menu", "File|View/Hide"), this, SLOT(toggleMenu()), QKeySequence(trUtf8("Ctrl+T", "File|View menu"))); + FileMenu->addAction(trUtf8("&View/Hide menu", "File|View/Hide menu"), this, SLOT(toggleMenu()), QKeySequence(trUtf8("Ctrl+T", "File|View menu"))); FileMenu->addAction(trUtf8("sendRAW", "File|SendRAW"), this, SLOT(sendRAW()), QKeySequence(trUtf8("Ctrl+L", "File|Upload"))); 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"))); @@ -409,7 +422,7 @@ void CLabel::mousePressEvent (QMouseEvent * event ) void CLabel::mouseReleaseEvent( QMouseEvent * event ) { switch(event->button()){ - case Qt::LeftButton:setStyleSheet(m_style);emit released();break; + case Qt::LeftButton:setStyleSheet(m_style.replace(QString("border-style: inset"), QString("border-style: outset")));emit released();break; } } @@ -417,7 +430,7 @@ void MainWindow::debug(int col){ q->first(); while(q->isValid()){ int k=q->at(); - qDebug()<<"n°"<setValue(QString("servercert"), QVariant("a.pem")); conf->setValue(QString("database"), QVariant("db")); conf->setValue(QString("password"), QVariant("pass")); - conf->setValue(QString("rawfile"), QVariant("raw")); - conf->setValue(QString("buttonfile"), QVariant("ui.sql+")); + 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("SQLsettings"), QVariant("connect_timeout=10000")); @@ -459,6 +470,7 @@ void MainWindow::firstrun(){ conf->setValue(QString("db"), QVariant("/data/data/eu.nothing2do.diarymobile/files/db")); conf->setValue(QString("selectbuttons"), QVariant("select keyword,label,action from ui order by label;")); conf->setValue(QString("columnbuttons"), QVariant(3)); + conf->setValue(QString("sqlbuttons"), QVariant("INSERT INTO ui (keyword,label,action) VALUES(?,?,?);")); conf->setValue(QString("selectraw"), QVariant("select date,texte from raw order by date;")); conf->setValue(QString("columnraw"), QVariant(2)); conf->setValue(QString("menuback"), QVariant("-menuback")); @@ -469,6 +481,7 @@ void MainWindow::firstrun(){ conf->setValue(QString("updatebuttons"), QVariant("update ui set keyword=?, label=?, action=? where id=?;")); conf->setValue(QString("deletebutton"), QVariant("delete from ui where id=?")); conf->setValue(QString("testbuttons"), QVariant("select id,keyword from ui where label=? and action=?;")); + conf->setValue(QString("changekey"), QVariant("select keyword,label,action,id from ui where keyword like ?;")); conf->setValue(QString("volumdown"), QVariant("back")); conf->setValue(QString("volumup"), QVariant("begin")); conf->setValue(QString("askkeyword"), QVariant(0)); @@ -481,10 +494,13 @@ void MainWindow::firstrun(){ conf->setValue(QString("always"), QVariant("+always")); qDebug()<<"firstrun() finished"; } -QString &MainWindow::get(int row, int column){ - q->seek(row); - tmp=q->value(column).toString(); - return tmp; +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){ qDebug()<<"exec("<exec(); + QSqlError b=qq->lastError(); + db.commit(); + if (b.isValid())qDebug()<<"SQL error :"<isSelect())return qq->size(); + else if (qq->isValid()) return 0; + else return -1; +} void MainWindow::entry(const QString &a){ QString label, time=QDateTime::currentDateTime().toString(QString("yyyy-MM-dd hh:mm:ss")), entry, context; bool ok=0; @@ -623,7 +654,7 @@ void MainWindow::writeData(){ void MainWindow::sendRAW(){ //send(QString("raw")) exec(QList ({conf->value(QString("selectraw")).toString()})); - QFile a(conf->value(QString("rawfile")).toString()); + QFile a(conf->value(QString("fileraw")).toString()); a.open(QIODevice::WriteOnly|QIODevice::Text); QTextStream b(&a); int c=conf->value(QString("columnraw")).toInt()-1; @@ -637,7 +668,7 @@ void MainWindow::sendRAW(){ a.close(); qDebug()<<"a.open()="<value(QString("uploadRAW")).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("rawfile")).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("fileraw")).toString()); net=new QNetworkAccessManager(this); //a.open(QIODevice::ReadOnly | QIODevice::Text); rep=net->put(QNetworkRequest(upload), a.readAll()); @@ -651,7 +682,8 @@ void MainWindow::RAWsent(){ void MainWindow::back(){ if(!((video)&&(playlist))){ getButtons(conf->value(QString("menuback")).toString()); - }else{ + }else if(label->text()==conf->value(QString("menuback")).toString())getButtons(way.takeLast()); + else{ getButtons(QString("+video")); } } @@ -710,10 +742,11 @@ void MainWindow::readData(const QByteArray &in){ q->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); + /*QString d=in.split('\n').at(0); qDebug()<<"first line : "<setValue(QString("firstline"), d); - for(int i=1; isetValue(QString("firstline"), d);*/ + QString d=conf->value(QString("sqlbuttons")).toString(); + for(int i=0; iprepare(d); int b=in.split('\n').at(i).count('$'); //qDebug()< ({conf->value(QString("selectbuttons")).toString()})); - QFile a(conf->value(QString("buttonfile")).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"; + //b<value("firstline").toString()<<"\n"; while (q->next()) { for (int i=0; ivalue(i).toString()<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("buttonfile")).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()); net=new QNetworkAccessManager(this); a.open(QIODevice::ReadOnly | QIODevice::Text); rep=net->put(QNetworkRequest(upload), a.readAll()); @@ -914,7 +947,7 @@ void MainWindow::readData(){ void MainWindow::send(const QString & a){ QString t="select"+a; exec(QList ({conf->value(t).toString()})); - t=a+"file"; + t="file"+a; QFile tmp(conf->value(t).toString()); tmp.open(QIODevice::WriteOnly|QIODevice::Text); QTextStream b(&tmp); @@ -926,7 +959,7 @@ void MainWindow::send(const QString & a){ for (int i=0; ivalue(i).toString()<value(1).toString()<<"\n"; + b<value(c).toString()<<"\n"; } tmp.close(); qDebug()<<"a.open()="<({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); + else tmp.append(get(t)); + } + exec2(tmp); + } + } + getButtons(lastprint); +} diff --git a/mainwindow.h b/mainwindow.h index 45ddfab..840b02f 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -133,6 +133,7 @@ public: const CLabel* addWidget(const QString &, const CLabel *); void resizeEvent(QResizeEvent *); void send(const QString &); + void mass(int, const QString &, const QString &); private slots: void tmpdown(); void readData(); @@ -150,8 +151,10 @@ private slots: void debug(int); void connectDB(); void firstrun(); - QString &get(int, int); + QString get(int); + QString get2(int); int exec(const QList &); + int exec2(const QList &); void entry(const QString &); void entry(); void createDB(); @@ -192,14 +195,14 @@ private: QGridLayout *grid; QLabel *label; QSettings *conf; - QString tmp, file, lastprint;//host, user, tmp, password, servercert,database; + QString tmp, tmp2, file, lastprint;//host, user, tmp, password, servercert,database; QMenu *FileMenu, *EditMenu, *HackMenu; //unsigned short int port;// j'ai lu les docs sur internet et 0<="unsigned short int"<65536 QSignalMapper *signalmap; //QMap widget; QList way; QSqlDatabase db; - QSqlQuery *q; + QSqlQuery *q, *qq; QSqlRecord r; FileDownloader * m; QNetworkAccessManager *net;