]> git.nothing2do.fr Git - diary-mobile.git/commitdiff
i've added the switch ('#') as last character to not go through replace
authorNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Tue, 27 Oct 2015 20:20:25 +0000 (21:20 +0100)
committerNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Tue, 27 Oct 2015 20:20:25 +0000 (21:20 +0100)
mainwindow.cpp

index 748ca56f1afeea9974b0da6f715e1ce61a55b3ed..09399eed17ebb96d03140901a887bbce0fc9d611 100644 (file)
@@ -181,12 +181,15 @@ void MainWindow::action(const QString &a){
     if(deb)QMessageBox::information(this, trUtf8("action", "box title to debug action"), a);
     QString aa=a;
     bool ok=1;
+    if(aa.right(1)!=QString("#")){
     for(QMap<QString, QString>::iterator b=valeur->begin();b!=valeur->end();b++){
         if(aa.contains(b.key())){//key.replace(b.key(), b.value());
             QString abefore=aa;
             aa.replace(b.key(), b.value());
-            if(deb)QMessageBox::information(this, trUtf8("valeur replace", "box title to debug valeur replace"), QString(abefore+"=a>"+aa));
+            if(deb)QMessageBox::information(this, trUtf8("valeur replace", "box title to debug valeur replace"), QString(abefore+"=>"+aa));
         }
+    }}else{
+        aa.chop(1);
     }
     QString c=aa;
     QStringList b=aa.split(QString(" "));
@@ -438,27 +441,47 @@ void MainWindow::action(const QString &a){
         system(d.toStdString().c_str());
     }
     else if(b[0]==QString("val")){
+        bool ok;
+        QList<QString> tmpkeys=valeur->keys();
+        QList<QString> tmpvalues=valeur->values();
         if(bs!=1){
             if(b[1]==QString("list")){
-                flush();
-                QList<QString> tmpkeys=valeur->keys();
-                QList<QString> tmpvalues=valeur->values();
+                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]));
                 }
-            }else if(bs==2){
-                QMessageBox::information(this, QString("val)"), QString(b[1]+"=="+valeur->value(b[1], QString("don't exist"))));
+            }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]));
+                }
+            }
+            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];
+                else old="";
+                for(int t=1;t<valeur->size();t++){
+                    old=old+" "+tmpvalues[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);
+                }
             }else if((bs==3)&&(b[2]==QString("?"))){
-                QString val,tmp="Enter value for "+QString(b[1]);
+                QString val,tmp="Enter value for "+b[1];
                 val=QInputDialog::getText(this, "val", tmp, QLineEdit::Normal, QString(""), &ok);
-                if(ok)action(QString("val "+b[1]+" "+val));
+                //if(ok)action(QString("val "+b[1]+" "+val));// ERROR
+                if(ok)valeur->insertMulti(b[1],val);//good
                 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);
-                valeur->insert(b[1], tmp);
+                valeur->insertMulti(b[1], tmp);
                 if(deb)QMessageBox::information(this, QString("val"), QString("val("+b[1]+")=="+tmp));
             }
         }else{
@@ -786,7 +809,7 @@ void MainWindow::editDB(const QString & a, const QString & b){
     else 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);
     if(!ok)return;
 
-    if((tmpkeyword=="del")||(tmplabel=="del")||(tmpaction=="del")){
+    if((tmpkeyword=="")||(tmplabel=="")||(tmpaction=="")){
         remove(a, keyword, label, action);
         if(deb)QMessageBox::information(this, trUtf8("EditDB", "title of box to say a button was deleted"), trUtf8("button was deleted", "text to say button was deleted"));
         return;