]> git.nothing2do.fr Git - diary-mobile.git/commitdiff
added savButtons and readButtons (and cleaned a little, as usual)
authorNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Sun, 5 Jan 2014 17:32:06 +0000 (18:32 +0100)
committerNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Sun, 5 Jan 2014 17:32:06 +0000 (18:32 +0100)
mainwindow.cpp
mainwindow.h

index 387ed94bceb1eeb34a94f1bbd9cdea9341b98747..ec14f85668e1991092e0c5e9146af21c67c3858b 100644 (file)
@@ -24,8 +24,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
     grid=new QGridLayout(screen);
     screen->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
     signalmap=new QSignalMapper(this);
-    qDebug()<<"connect1 : "<<connect(signalmap, SIGNAL(mapped(const QString &)), this, SLOT(action(const QString &)));
-    label=new QLabel(conf->value(QString("start")).toString());
+    connect(signalmap, SIGNAL(mapped(const QString &)), this, SLOT(action(const QString &)));
+    label=new QLabel;
     setCentralWidget(screen);
     createMenuBar();
     connectDB();
@@ -35,6 +35,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
         updateUi();
         conf->setValue(QString("first"), 2);
     };
+    QFile sav(conf->value(QString("buttonfile")).toString());
+    if(sav.exists())data=sav.readAll();
     statusBar()->addPermanentWidget(label);
     menuBar()->setVisible(conf->value(QString("menu")).toBool());
     start();
@@ -129,7 +131,6 @@ CLabel* MainWindow::addWidget(const QString &key, const CLabel *a){
 }
 void MainWindow::action(const QString &a){
     qDebug()<<"action("<<a<<")";
-    way.append(a);
     if (a.split(QString(" "))[0]==QString("set")){
         conf->setValue(QString(a.split(QString(" "))[1]), a.split(QString(" "))[2]);
     }
@@ -149,7 +150,7 @@ void MainWindow::action(const QString &a){
         b+=a.remove(0,4);
         entry(b);
     }
-    else if(a=="quit")quit();
+    else if(a=="viewdata")qDebug()<<data;
     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()));
     }
@@ -317,7 +318,7 @@ void MainWindow::addButtonDB(){
     if ((b=="")||(ok==0))return;
     cmd.append(b);
     for(int i=0;i<way.size()-1; i++){
-        a+=way[i]+" ";
+        a+=way[i]+"-";
     }
     a+=way.last();
     b=a+" "+b;
@@ -336,11 +337,12 @@ void MainWindow::addButtonDB(){
 void MainWindow::getButtons(const QString &a){
     qDebug()<<"getButtons("<<a<<")";
     flush();
+    way.append(a);
     QString b="%"+a+"%";
     QList<QString> tmp({"select label,action from ui where keyword like ?;", b});
     //label->setText(QString::number(way.size()));
     label->setText(a);
-    //tmp.append(b);
+
     exec(tmp);
     int labCol = 0;//r.indexOf("label");
     int actCol = 1;//r.indexOf("action");
@@ -435,10 +437,23 @@ QByteArray FileDownloader::downloadedData() const
 void MainWindow::writeUpdate(){
     qDebug()<<"downloaded : "<<m->downloadedData().size()<<" byte";
     // 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;");
+    readButtons(m->downloadedData());
+    savButtons(m->downloadedData());
+    updatelocker.unlock();
+    qDebug()<<"updatelocker unlocked";
+    getButtons(conf->value(QString("start"), QVariant("begin")).toString());
+
+}
+void MainWindow::savButtons(const QByteArray & data){
+    QFile b(conf->value(QString("buttonfile")).toString());
+    b.open(QIODevice::WriteOnly);
+    b.write(data);
+}
+void MainWindow::readButtons(const QByteArray &in){
+    int a=m->downloadedData().count('\n');
+    qDebug()<<"first line : "<<in.split('\n').at(0);
     QString d=m->downloadedData().split('\n').at(0);
     for(int i=1; i<a; i++){
         q->prepare(d);
@@ -451,10 +466,6 @@ void MainWindow::writeUpdate(){
         qDebug()<<"q->exec() : "<<q->exec();
     };
     db.commit();
-    data=m->downloadedData();
-    updatelocker.unlock();
-    qDebug()<<"updatelocker unlocked";
-    getButtons(conf->value(QString("start"), QVariant("begin")).toString());
 
-}
 
+}
index 683d21680c538d3822154b06a43d9e535143fc2a..15bd91c6a0f3da63dd3df3cebb017d3ab585c9d3 100644 (file)
@@ -117,6 +117,8 @@ private slots:
     void updateUi();
     void writeUpdate();
     void sendUi();
+    void savButtons(const QByteArray &);
+    void readButtons(const QByteArray &);
 public slots:
 
 signals: