]> git.nothing2do.fr Git - diary-mobile.git/commitdiff
db and ui can be saved
authorNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Tue, 1 Apr 2014 15:13:26 +0000 (17:13 +0200)
committerNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Tue, 1 Apr 2014 15:13:26 +0000 (17:13 +0200)
mainwindow.cpp
mainwindow.h

index 8db1f6abf11c756f87aef237cc542c6a91f0a8c9..347d08c72d0efd0a00d10511d5b83be73e8fee71 100644 (file)
@@ -34,7 +34,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
     if((conf->value(QString("first")).toInt()==1)){
         qDebug()<<"second";
         createDB();
-        updateUi();
+        downloadUi();
         conf->setValue(QString("first"), 2);
     };
     statusBar()->addPermanentWidget(label);
@@ -144,21 +144,22 @@ void MainWindow::createMenuBar(){
     FileMenu=new QMenu(QString("&File"), this);
     FileMenu->addAction(trUtf8("&Start..."), this, SLOT(start()),QKeySequence(trUtf8("Ctrl+S", "File|Start")));
     FileMenu->addAction(trUtf8("&Back"), this, SLOT(back()),QKeySequence(trUtf8("Ctrl+B", "File|Back")));
-    FileMenu->addAction(trUtf8("&DownloadUi"), this, SLOT(updateUi()),QKeySequence(trUtf8("Ctrl+W", "File|Downlad")));
-    FileMenu->addAction(trUtf8("BackUp"), this, SLOT(sendDB()),QKeySequence(trUtf8("Ctrl+L", "File|Upload")));
-    FileMenu->addAction(trUtf8("Rest&ore"), this, SLOT(restoreDB()),QKeySequence(trUtf8("Ctrl+O", "File|Restore")));
+    FileMenu->addAction(trUtf8("&DownloadUi"), this, SLOT(downloadUi()),QKeySequence(trUtf8("Ctrl+W", "File|Downlad")));
+    FileMenu->addAction(trUtf8("sendDB"), this, SLOT(sendDB()),QKeySequence(trUtf8("Ctrl+L", "File|Upload")));
+    //FileMenu->addAction(trUtf8("Rest&ore"), this, SLOT(restoreDB()),QKeySequence(trUtf8("Ctrl+O", "File|Restore")));
     FileMenu->addAction(trUtf8("Reset Ui"), this, SLOT(resetUi()), QKeySequence(trUtf8("Ctrl+Z", "File|ResetUi")));
     FileMenu->addAction(trUtf8("&Quit..."), this, SLOT(quit()),QKeySequence(trUtf8("Ctrl+Q", "File|Quit")));
     menuBar()->addMenu(FileMenu);
     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("&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);
     HelpMenu=new QMenu(QString("&Help"));
-    HelpMenu->addAction(tr("About Qt"), qApp, SLOT(aboutQt()), QKeySequence(tr("ctrl+H", "About Qt")));
+    HelpMenu->addAction(tr("About Qt"), qApp, SLOT(aboutQt()), QKeySequence(tr("ctrl+H", "Help|About Qt")));
+    EditMenu->addAction(trUtf8("C&reate Database"), this, SLOT(createDB()), QKeySequence(trUtf8("Ctrl+R", "Help|CreateDB")));
     menuBar()->addMenu(HelpMenu);
 }
 void MainWindow::toggleMenu(){
@@ -213,11 +214,11 @@ void MainWindow::debug(int col){
 void MainWindow::connectDB(){
     db = QSqlDatabase::addDatabase("QSQLITE");
     //db = QSqlDatabase::addDatabase("QPSQL");
-    db.setHostName(conf->value(QString("host")).toString());
-    db.setDatabaseName(conf->value(QString("database")).toString());
-    db.setUserName(conf->value(QString("user")).toString());
-    db.setPassword(conf->value(QString("password")).toString());
-    db.setConnectOptions(conf->value(QString("SQLsettings")).toString());//10sec,
+    db.setHostName(conf->value(QString("host"), QVariant("127.0.0.1")).toString());
+    db.setDatabaseName(conf->value(QString("database"), QVariant("db")).toString());
+    db.setUserName(conf->value(QString("user"), QVariant("user")).toString());
+    db.setPassword(conf->value(QString("password"), QVariant("pass")).toString());
+    db.setConnectOptions(conf->value(QString("SQLsettings"), QVariant("connect_timeout=10000")).toString());//10sec,
     qDebug()<<"db.open() ? "<<db.open()<< ". database : "<<db.databaseName();
     q=new QSqlQuery(db);
 
@@ -241,7 +242,9 @@ void MainWindow::firstrun(){
     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("uploadDB"), QVariant("ftp://<user>:<pass>@<hostname>/db"));
-    conf->setValue(QString("restore"), QVariant("http://www.xxx.com/db"));
+    conf->setValue(QString("uploadUi"), QVariant("ftp://<user>:<pass>@<hostname>/ui.sql"));
+
+    conf->setValue(QString("restore"), QVariant("http://www.abc.de/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;"));
@@ -285,7 +288,7 @@ void MainWindow::entry(const QString &a){
     if(a=="")c=context+" : "+entry;
     else c=context+", "+a+" : "+entry;
     //qDebug()<<"c="<<c;
-    QFile fichier(conf->value(QString("file")).toString());
+    QFile fichier(conf->value(QString("file"), QVariant("diary.txt")).toString());
     fichier.open(QIODevice::Append | QIODevice::Text);
     QTextStream flux(&fichier);
     flux << time << " " << c << endl;
@@ -322,7 +325,7 @@ void MainWindow::addButtonDB(){
     return;
 }
 void MainWindow::getButtons(const QString &a){
-    if(a==conf->value(QString("start")).toString())way.clear();
+    if(a==conf->value(QString("start"), QVariant("begin")).toString())way.clear();
     qDebug()<<"getButtons("<<a<<") way.size()"<<way.size();
     flush();
     if(updatelocker.tryLock(60000))updatelocker.unlock();
@@ -337,7 +340,7 @@ void MainWindow::getButtons(const QString &a){
     int i=0;
     qDebug()<<"bcl to add buttons";
     while(q->next()){
-        addWidget(q->value(actCol).toString(), new CLabel(q->value(labCol).toString(), conf->value(QString("button")).toString()));
+        addWidget(q->value(actCol).toString(), new CLabel(q->value(labCol).toString(), conf->value(QString("button"), QVariant("background-color: red;border-style: outset;border-width: 7px;border-radius: 10px;border-color: beige;font: bold 15px;padding: 6px;")).toString()));
         i++;
     };
     qDebug()<<"end getButtons : "<<i<<" button(s) way.size()"<<way.size();
@@ -356,8 +359,8 @@ void MainWindow::editButtonDB(){
     }*/
 }
 void MainWindow::downloadUi(){
-    qDebug()<<"updateUi() : "<<conf->value(QString("download")).toString();
-    download(conf->value(QString("download")).toString());
+    qDebug()<<"updateUi() : "<<conf->value(QString("download"), QVariant("https://raw.github.com/Nothing2Do/diary-mobile-android/master/ui.sql")).toString();
+    download(conf->value(QString("download"), QVariant("https://raw.github.com/Nothing2Do/diary-mobile-android/master/ui.sql")).toString());
     connect(m, SIGNAL(downloaded()), SLOT(writeUi()));
 }
 void MainWindow::writeUi(){
@@ -371,16 +374,15 @@ void MainWindow::sendDB(){
     qDebug()<<"sendDB() : "<<conf->value(QString("uploadDB")).toString();
     QUrl upload(conf->value(QString("uploadDB")).toString());
     net=new QNetworkAccessManager(this);
-    QFile b(conf->value(QString("db")).toString());
+    QFile b(conf->value(QString("db"), QVariant("/data/data/eu.nothing2do.diarymobile/files/db")).toString());
     b.open(QIODevice::ReadOnly);
     QByteArray c(b.readAll());
     rep=net->put(QNetworkRequest(upload), c);
     qDebug()<<"net->put : "<<rep<< " upload : "<<upload.url();
     //rep=net->put(QNetworkRequest(upload),data);
-    connect(rep, SIGNAL(finished()), this, SLOT(datasend()));
+    connect(rep, SIGNAL(finished()), this, SLOT(datasent()));
     system("exit");
 }
-
 void MainWindow::back(){
     if(way.size()-1>0){
         flush();
@@ -390,7 +392,7 @@ void MainWindow::back(){
     }
     else {
         flush();
-        getButtons(conf->value(QString("start")).toString());
+        getButtons(conf->value(QString("start"), QVariant("begin")).toString());
         //QMessageBox::information(this, QString("Erreur"), QString("Vous êtes déja au départ."));
     }
 
@@ -459,13 +461,13 @@ void MainWindow::readButtons(const QByteArray &in){
     flush();
     emit datafilled();
 }
-void MainWindow::datasend(){
-    qDebug()<<"datasend";
+void MainWindow::datasent(){
+    qDebug()<<"datasent";
     QString texte="Upload finish : ";
-    texte=texte+conf->value(QString("upload")).toString();
+    texte=texte+conf->value(QString("uploadDB")).toString();
     qDebug()<<"texte : "<<texte;
 
-    QMessageBox::information(this, "upload", texte);
+    QMessageBox::information(this, "uploadDB", texte);
 }
 void MainWindow::resetUi(){
     exec(QList<QString>({"delete from ui;"}));
@@ -478,29 +480,41 @@ void MainWindow::downloadDB(){
 }
 void MainWindow::writeDB(){
     system("su");
-    QFile a(conf->value(QString("db")).toString());
+    QFile a(conf->value(QString("db"), QVariant("/data/data/eu.nothing2do.diarymobile/files/db")).toString());
     a.open(QIODevice::WriteOnly | QIODevice::Text);
     QTextStream b(&a);
     b<<m->downloadedData();
     system("exit");
 }
-
 void MainWindow::download(const QString & a){
     qDebug()<<"download() : "<<a;
     QUrl url(a);
     m = new FileDownloader(url, this);
 }
 void MainWindow::savButtons(){
-    exec(QList<QString> ({conf->value(QString("selectbuttons")).toString()}));
-    QFile a(conf->value(QString("buttonfile")).toString());
-    a.open(QIODevice::WriteOnly | QIODevice::Text);
+    exec(QList<QString> ({conf->value(QString("selectbuttons"), QVariant("select keyword,label,action from ui;")).toString()}));
+    QFile a(conf->value(QString("buttonfile"), QVariant("ui.sql")).toString());
+    a.open(QIODevice::WriteOnly|QIODevice::Text);
     QTextStream b(&a);
-    b<<conf->value("firstline").toString()<<"\n";
+    b<<conf->value("firstline", "INSERT INTO ui (keyword, label, action) VALUES(?, ?, ?);").toString()<<"\n";
     while (q->next()) {
-        for (int i=0; i<3; i++){
-            b<<q->value(i).toString();
+        for (int i=0; i<2; i++){
+            b<<q->value(i).toString()<<"$";
         }
-        b<<"\n";
+        b<<q->value(2).toString()<<"\n";
     }
     a.close();
+    QMessageBox::information(this, QString("end"), conf->value(QString("buttonfile"), QVariant("ui.sql")).toString());
+    qDebug()<<"a.open()="<<a.open(QIODevice::ReadOnly | QIODevice::Text);
+    QUrl upload(conf->value(QString("uploadUi"), QVariant("ftp://<user>:<pass>@ftp.abc.de/ui.sql")).toString());
+    net=new QNetworkAccessManager(this);
+    rep=net->put(QNetworkRequest(upload), a.readAll());
+    qDebug()<<"net->put : "<<rep<< " upload : "<<upload.url();
+    connect(rep, SIGNAL(finished()), this, SLOT(Uisent()));
+}
+void MainWindow::Uisent(){
+    qDebug()<<"Uisend";
+    QString texte="savbuttons finish";
+    //texte=texte+conf->value(QString("uploadUi")).toString();
+    QMessageBox::information(this, "Uisent", texte);
 }
index 86e58a07b8a9045b5625dee39bc4da9bab0b56f4..3b3ddc178b2f7d32e3abadf50324fa564350e89b 100644 (file)
@@ -96,7 +96,7 @@ public:
     void showExpanded();
     CLabel* addWidget(const QString &, const CLabel *);
 private slots:
-    void datasend();
+    void datasent();
     void back();
     void start();
     void quit();
@@ -116,9 +116,10 @@ private slots:
     void writeDB();
     void editButtonDB();
     void getButtons(const QString &);
-    void updateUi();
-    void writeUpdate();
+    void downloadUi();
+    void writeUi();
     void sendDB();
+    void Uisent();
     void savButtons();
     void readButtons(const QByteArray &);
     void resetUi();