From: Nothing2Do Date: Tue, 7 Jan 2014 12:16:32 +0000 (+0100) Subject: getButtons now wait for updateUi finish to populate database X-Git-Url: https://git.nothing2do.fr/?a=commitdiff_plain;h=2459d8aee5340411aa176ee33eeeae28f0f35d65;p=diary-mobile.git getButtons now wait for updateUi finish to populate database --- diff --git a/mainwindow.cpp b/mainwindow.cpp index ec14f85..1addb7f 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -32,11 +32,15 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) if(conf->value(QString("first")).toInt()==1){ qDebug()<<"second"; createDB(); - updateUi(); conf->setValue(QString("first"), 2); }; QFile sav(conf->value(QString("buttonfile")).toString()); - if(sav.exists())data=sav.readAll(); + if(sav.exists()){ + sav.open(QIODevice::ReadWrite|QIODevice::Text); + data=sav.readAll(); + }else{ + updateUi(); + } statusBar()->addPermanentWidget(label); menuBar()->setVisible(conf->value(QString("menu")).toBool()); start(); @@ -113,7 +117,7 @@ void MainWindow::lsconfig(){ void MainWindow::quit(){ qDebug()<<"quit()"; conf->setValue(QString("menu"), menuBar()->isVisible()); - //conf->sync(); + savButtons(); db.commit(); db.close(); qApp->quit(); @@ -337,6 +341,8 @@ void MainWindow::addButtonDB(){ void MainWindow::getButtons(const QString &a){ qDebug()<<"getButtons("< tmp({"select label,action from ui where keyword like ?;", b}); @@ -368,11 +374,14 @@ void MainWindow::editButtonDB(){ }*/ } void MainWindow::updateUi(){ - updatelocker.lock(); + /*qDebug()<<"updatelocker.lock()"; + updatelocker.lock();*/ qDebug()<<"updateUi() : "<value(QString("download")).toString(); QUrl update(conf->value(QString("download")).toString()); m = new FileDownloader(update, this); connect(m, SIGNAL(downloaded()), SLOT(writeUpdate())); + qDebug()<<"updatelocker unlocked"; + } void MainWindow::sendUi(){ qDebug()<<"sendUi() : "<value(QString("upload")).toString(); @@ -440,13 +449,13 @@ void MainWindow::writeUpdate(){ 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()); + //updateUi(); + savButtons(); + //getButtons(conf->value(QString("start"), QVariant("begin")).toString()); } -void MainWindow::savButtons(const QByteArray & data){ +void MainWindow::savButtons(){ + qDebug()<<"savButtons"; QFile b(conf->value(QString("buttonfile")).toString()); b.open(QIODevice::WriteOnly); b.write(data); diff --git a/mainwindow.h b/mainwindow.h index 15bd91c..4c4559b 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -117,7 +117,7 @@ private slots: void updateUi(); void writeUpdate(); void sendUi(); - void savButtons(const QByteArray &); + void savButtons(); void readButtons(const QByteArray &); public slots: