]> git.nothing2do.fr Git - diary-mobile.git/commitdiff
i've fixed the fact that every value isn't accurate every time
authorNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Fri, 30 Oct 2015 22:49:12 +0000 (23:49 +0100)
committerNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Fri, 30 Oct 2015 22:57:01 +0000 (23:57 +0100)
mainwindow.cpp

index 09399eed17ebb96d03140901a887bbce0fc9d611..0b107511335af189f7c5024d9459fe86c5afea39 100644 (file)
@@ -448,28 +448,29 @@ void MainWindow::action(const QString &a){
             if(b[1]==QString("list")){
                 flush(); 
                 for(int a=0;a<valeur->size();a++){
-                    addWidget(QString("box "+tmpvalues[a]), new CLabel(tmpkeys[a], *conf));
-                    if(deb)QMessageBox::information(this, QString("val"), QString(tmpkeys[a]+"=="+tmpvalues[a]));
+                    addWidget(QString("box "+tmpvalues[a]+"#"), new CLabel(tmpkeys[a], *conf));
+                    //if(deb)QMessageBox::information(this, QString("val"), QString(tmpkeys[a]+"=="+tmpvalues[a]));
                 }
             }else if(b[1]==QString("edit")){
                 flush();
                 for(int a=0;a<valeur->size();a++){
-                    addWidget(QString("val "+tmpvalues[a]+"#"), new CLabel(tmpkeys[a], *conf));
-                    if(deb)QMessageBox::information(this, QString("val"), QString(tmpkeys[a]+"=="+tmpvalues[a]));
+                    addWidget(QString("val "+tmpkeys[a]+"#"), new CLabel(tmpkeys[a]+"#", *conf));
+                    //if(deb)QMessageBox::information(this, QString("val"), QString(tmpkeys[a]+"=="+tmpvalues[a]));
                 }
             }
             else if(bs==2){
                 //QMessageBox::information(this, QString("val)"), QString(b[1]+"=="+valeur->value(b[1], QString("don't exist"))));
                 QString old;
-                if(valeur->size())old=tmpvalues[0];
+                if(tmpkeys.count(b[1])>0)old=valeur->value(b[1]);
                 else old="";
-                for(int t=1;t<valeur->size();t++){
-                    old=old+" "+tmpvalues[t];
+                int tkc=tmpkeys.count(b[1]);
+                for(int t=1;t<tkc;t++){
+                    old=old+" "+valeur->values(b[1])[t];
                 }
                 QString tmp=QInputDialog::getText(this, QString("val"), b[1], QLineEdit::Normal, old, &ok);
                 if((ok)&&(tmp!=valeur->value(b[1]))){
                     valeur->remove(b[1]);
-                    valeur->insert(b[1], tmp);
+                    valeur->insertMulti(b[1], tmp);
                 }
             }else if((bs==3)&&(b[2]==QString("?"))){
                 QString val,tmp="Enter value for "+b[1];
@@ -479,8 +480,17 @@ void MainWindow::action(const QString &a){
                 if((deb)&&(ok))QMessageBox::information(this, QString("val"), QString("val("+b[1]+")=="+val));
             }else{//if (bs=>3)&&(b[2]!="?")
                 int t=aa.size()-(b[1].size())-5;//5==val+2 space
-                qDebug()<<"aa.size()=="<<aa.size()<<" b[1].size()=="<<b[1].size()<<" t=="<<t<<endl;
-                QString tmp=aa.right(t);
+                QString old;
+                if(tmpkeys.count(b[1])>0)old=valeur->value(b[1]);
+                else old="";
+                int tkc=tmpkeys.count(b[1]);
+                for(int t=1;t<tkc;t++){
+                    old=old+" "+valeur->values(b[1])[t];
+                }
+                qDebug()<<"aa.size()=="<<aa.size()<<" b[1].size()=="<<b[1].size()<<" t=="<<t<<" old.size()="<<old.size()<<endl;
+                QString tmp=old+" "+aa.right(t);
+                qDebug()<<"tmp="<<tmp;
+                valeur->remove(b[1]);
                 valeur->insertMulti(b[1], tmp);
                 if(deb)QMessageBox::information(this, QString("val"), QString("val("+b[1]+")=="+tmp));
             }