]> git.nothing2do.fr Git - diary-mobile.git/commitdiff
added QMutex
authorNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Sat, 4 Jan 2014 13:05:01 +0000 (14:05 +0100)
committerNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Sat, 4 Jan 2014 13:05:01 +0000 (14:05 +0100)
mainwindow.cpp
mainwindow.h

index 6e359cc7d7f02045e745caa656d40ea1c7b49365..7c4e2c65f650c624cf1b6c93384c41d0f76efd76 100644 (file)
@@ -126,10 +126,10 @@ CLabel* MainWindow::addWidget(const QString &key, const CLabel *a){
     //QObject::connect(a, SIGNAL(pressed()), signalmap, SLOT(map()));
     QObject::connect(a, SIGNAL(released()), signalmap, SLOT(map()));
     signalmap->setMapping(a, key);
-    /*if(grid->count()==maxc*maxl){
+    if(grid->count()==maxc*maxl){
         grid->addWidget(new CLabel(QString("next")), maxc, maxl, 1, 1, Qt::AlignVCenter | Qt::AlignHCenter);
         return NULL;
-    };*/
+    };
     return a;
 }
 void MainWindow::action(const QString &a){
@@ -145,11 +145,14 @@ void MainWindow::action(const QString &a){
         conf->setValue(a.split(QString(" "))[1], QInputDialog::getInt(this, "setInt", a.split(QString(" "))[1] , conf->value(QString(a.split(QString(" "))[1])).toInt()));
     }
     else if(a.split(QString(" "))[0]=="new"){
-        /*QString b=a.remove(0,4);*/
-        /*for(int c=1;c<way.size();c++){
+        QString b="";
+        for(int c=1;c<way.size();c++){
             b+=way[c];
-        }*/
-        entry(a.remove(0,4));
+            b+=" ";
+        };
+        b+=" : ";
+        b+=a.remove(0,4);
+        entry(b);
     }
     else if(a.split(QString(" "))[0]=="setfile"){
         conf->setValue(a.split(QString(" "))[1], QFileDialog::getSaveFileName(this, QString("get file"), conf->value(a.split(QString(" "))[1]).toString()));
@@ -267,7 +270,7 @@ QString &MainWindow::get(int row, int column){
 }
 int MainWindow::exec(const QList<QString> & a){
     qDebug()<<"exec("<<a[0]<<")";
-    //QMutexLocker locker(&sql);
+    QMutexLocker locker(&sql);
     q->prepare(a[0]);
     for (int j=1; j<a.size(); j++){
         q->bindValue(j-1, a[j]);
@@ -283,24 +286,6 @@ int MainWindow::exec(const QList<QString> & a){
     if(q->isSelect())return q->size();
     else return 0;
 }
-int MainWindow::alias(const QString & a){
-    qDebug()<<"alias("<<a<<")";
-    QString cmd="select cmd,argc,inf from alias-qt where nom = :name;";
-    q->prepare(cmd);
-    q->bindValue(":name", a);
-    q->exec();
-    int qs=q->size();
-    qDebug()<<"q->size(alias)="<<qs;
-    if (qs<=0){
-        return 0;
-        };
-    for(int i=0; i<qs; i++){
-        QString b=a+" "+i;
-        addWidget(b, new CLabel(i));
-    };
-    return 0;
-
-}
 void MainWindow::entry(const QString &a){
     QString time=QDateTime::currentDateTime().toString(QString("yyyy-MM-dd hh:mm:ss")), entry="";
     bool ok=0;
@@ -357,6 +342,7 @@ void MainWindow::getButtons(const QString &a){
     exec(tmp);
     int labCol = 0;//r.indexOf("label");
     int actCol = 1;//r.indexOf("action");
+    QMutexLocker locker(&sql);
     while(q->next()){
         addWidget(q->value(actCol).toString(), new CLabel(q->value(labCol).toString()));
     };
@@ -444,9 +430,12 @@ QByteArray FileDownloader::downloadedData() const
 }
 void MainWindow::writeUpdate(){
     qDebug()<<"downloaded : "<<m->downloadedData().size()<<" byte";
-    /* put newly downloaded sql file into database */
+    QMutexLocker locker(&sql);
+    // put newly downloaded sql file into database
     int a=m->downloadedData().count('\n');
     qDebug()<<"first line : "<<m->downloadedData().split('\n').at(0);
+    q->exec("PRAGMA foreign_keys=OFF;");
+    q->exec("BEGIN TRANSACTION;");
     q->prepare(m->downloadedData().split('\n').at(0));
     for(int i=1; i<a; i++){
         int b=m->downloadedData().split('\n').at(i).count('$');
@@ -456,11 +445,12 @@ void MainWindow::writeUpdate(){
             qDebug()<<"bind "<<j<<" and "<< m->downloadedData().split('\n').at(i).split('$').at(j);
         }
     };
-    q->exec();
+    qDebug()<<"q->exec() : "<<q->exec();
+    q->exec(QString("COMMIT;"));
     QFile c(conf->value(QString("buttonfile")).toString());
     c.open(QIODevice::Append);
     c.write(m->downloadedData());
-    getButtons(conf->value(QString("start"), QVariant("begin")).toString());
+    //getButtons(conf->value(QString("start"), QVariant("begin")).toString());
 
 }
 
index 50d208f265ec3800980bcf9928099760fe0f2ac4..f05e7dd32557cbef16fcabd7bec1e9ae268e6f11 100644 (file)
@@ -95,7 +95,6 @@ public:
 
     void showExpanded();
     CLabel* addWidget(const QString &, const CLabel *);
-    //void remWidget(const QString &);
 private slots:
     void back();
     void start();
@@ -109,7 +108,6 @@ private slots:
     void connectDB();
     void firstrun();
     QString &get(int, int);
-    int alias(const QString &);
     int exec(const QList<QString> &);
     void entry(const QString &);
     void createDB();
@@ -124,7 +122,7 @@ public slots:
 signals:
 
 private:
-    //QMutex sql;
+    QMutex sql;
     QWidget *screen;
     QGridLayout *grid;
     QLabel *label;