From 5dee67054e075a91f449caf064a2a4c1e2106593 Mon Sep 17 00:00:00 2001 From: Norbert Moutarde Date: Wed, 26 Mar 2014 19:11:09 +0100 Subject: [PATCH] downloadDB, writeDB, and updateUi do as they name say --- mainwindow.cpp | 57 +++++++++++++++++++++++++++++++------------------- mainwindow.h | 5 +++-- 2 files changed, 38 insertions(+), 24 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index 66f3d97..8db1f6a 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -153,7 +153,7 @@ void MainWindow::createMenuBar(){ EditMenu=new QMenu(QString("&Buttons")); EditMenu->addAction(trUtf8("C&reate Database"), this, SLOT(createDB()), QKeySequence(trUtf8("Ctrl+R", "Buttons|CreateDB"))); EditMenu->addAction(trUtf8("A&dd buttons"), this, SLOT(addButtonDB()), QKeySequence(trUtf8("Ctrl+D", "Buttons|Add"))); - //EditMenu->addAction(trUtf8("Sa&v buttons"), this, SLOT(savButtons()), QKeySequence(trUtf8("Ctrl+V", "Buttons|Save"))); + EditMenu->addAction(trUtf8("Sa&v buttons"), this, SLOT(savButtons()), QKeySequence(trUtf8("Ctrl+V", "Buttons|Save"))); EditMenu->addAction(trUtf8("&Edit buttons"), this, SLOT(editButtonDB()), QKeySequence(trUtf8("Ctrl+E", "Buttons|&Edit"))); EditMenu->addAction(trUtf8("&View/Hide menu"), this, SLOT(toggleMenu()), QKeySequence(trUtf8("Ctrl+T", "Buttons|View menu"))); menuBar()->addMenu(EditMenu); @@ -240,10 +240,11 @@ void MainWindow::firstrun(){ conf->setValue(QString("button"), QVariant("background-color: red;border-style: outset;border-width: 7px;border-radius: 10px;border-color: beige;font: bold 15px;padding: 6px;")); conf->setValue(QString("menu"), QVariant(1)); conf->setValue(QString("download"), QVariant("https://raw.github.com/Nothing2Do/diary-mobile-android/master/ui.sql")); - conf->setValue(QString("upload"), QVariant("ftp://:@/")); + conf->setValue(QString("uploadDB"), QVariant("ftp://:@/db")); conf->setValue(QString("restore"), QVariant("http://www.xxx.com/db")); conf->setValue(QString("start"), QVariant("begin")); conf->setValue(QString("db"), QVariant("/data/data/eu.nothing2do.diarymobile/files/db")); + conf->setValue(QString("selectbuttons"), QVariant("select keyword,label,action from ui;")); } QString &MainWindow::get(int row, int column){ q->seek(row); @@ -354,16 +355,12 @@ void MainWindow::editButtonDB(){ }*/ } -void MainWindow::updateUi(){ - //download(conf->value(QString("download")).toString()); +void MainWindow::downloadUi(){ qDebug()<<"updateUi() : "<value(QString("download")).toString(); download(conf->value(QString("download")).toString()); - //readButtons(); - connect(m, SIGNAL(downloaded()), SLOT(writeUpdate())); + connect(m, SIGNAL(downloaded()), SLOT(writeUi())); } -void MainWindow::writeUpdate(){ - //flush(); now in readButtons() - // put newly downloaded sql file into database +void MainWindow::writeUi(){ q->exec("PRAGMA foreign_keys=OFF;"); q->exec("BEGIN TRANSACTION;"); readButtons(m->downloadedData()); @@ -371,8 +368,8 @@ void MainWindow::writeUpdate(){ } void MainWindow::sendDB(){ system("su"); - qDebug()<<"sendDB() : "<value(QString("upload")).toString(); - QUrl upload(conf->value(QString("upload")).toString()); + qDebug()<<"sendDB() : "<value(QString("uploadDB")).toString(); + QUrl upload(conf->value(QString("uploadDB")).toString()); net=new QNetworkAccessManager(this); QFile b(conf->value(QString("db")).toString()); b.open(QIODevice::ReadOnly); @@ -383,6 +380,7 @@ void MainWindow::sendDB(){ connect(rep, SIGNAL(finished()), this, SLOT(datasend())); system("exit"); } + void MainWindow::back(){ if(way.size()-1>0){ flush(); @@ -444,6 +442,7 @@ QByteArray FileDownloader::downloadedData() const void MainWindow::readButtons(const QByteArray &in){ int a=in.count('\n'); QString d=in.split('\n').at(0); + conf->setValue(QString("firstline"), d); qDebug()<<"first line : "<prepare(d); @@ -472,22 +471,36 @@ void MainWindow::resetUi(){ exec(QList({"delete from ui;"})); } -void MainWindow::restoreDB(){ - system("su"); +void MainWindow::downloadDB(){ qDebug()<<"restoreDB() : "<value(QString("restore")).toString(); - QUrl download(conf->value(QString("restore")).toString()); - net=new QNetworkAccessManager(this); - QFile b(conf->value(QString("db")).toString()); - b.open(QIODevice::WriteOnly); - rep=net->get(QNetworkRequest(download)); - // to be finished ... - b.write(rep->readAll()); + download(conf->value(QString("restore")).toString()); + connect(m, SIGNAL(downloaded()), SLOT(writeDB())); +} +void MainWindow::writeDB(){ + system("su"); + QFile a(conf->value(QString("db")).toString()); + a.open(QIODevice::WriteOnly | QIODevice::Text); + QTextStream b(&a); + b<downloadedData(); system("exit"); } + void MainWindow::download(const QString & a){ qDebug()<<"download() : "<downloadedData(); +} +void MainWindow::savButtons(){ + exec(QList ({conf->value(QString("selectbuttons")).toString()})); + QFile a(conf->value(QString("buttonfile")).toString()); + a.open(QIODevice::WriteOnly | QIODevice::Text); + QTextStream b(&a); + b<value("firstline").toString()<<"\n"; + while (q->next()) { + for (int i=0; i<3; i++){ + b<value(i).toString(); + } + b<<"\n"; + } + a.close(); } diff --git a/mainwindow.h b/mainwindow.h index 2dfe263..86e58a0 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -113,15 +113,16 @@ private slots: void entry(const QString &); void createDB(); void addButtonDB(); + void writeDB(); void editButtonDB(); void getButtons(const QString &); void updateUi(); void writeUpdate(); void sendDB(); - //void savButtons(); + void savButtons(); void readButtons(const QByteArray &); void resetUi(); - void restoreDB(); + void downloadDB(); void download(const QString &); public slots: -- 2.45.1