]> git.nothing2do.fr Git - diary-mobile.git/commitdiff
some clean-up and add resetDB()
authorNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Sun, 12 Jan 2014 19:54:27 +0000 (20:54 +0100)
committerNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Sun, 12 Jan 2014 19:54:27 +0000 (20:54 +0100)
get-android-db.sh [deleted file]
insert-sql-android.sh [deleted file]
main.cpp
mainwindow.cpp
mainwindow.h
set-android-db.sh [deleted file]

diff --git a/get-android-db.sh b/get-android-db.sh
deleted file mode 100755 (executable)
index edf723d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-adb pull /data/data/eu.nothing2do.diarymobile/files/db
-echo '.dump' | sqlite3 db > db.sql
diff --git a/insert-sql-android.sh b/insert-sql-android.sh
deleted file mode 100755 (executable)
index 3c2e50a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-export DB=/data/data/eu.nothing2do.diarymobile/files/db
-export TMP=/storage/sdcard0
-adb pull $DB
-echo "$DB file retreived"
-cat $1|sqlite3 db
-echo "$1 is into db file"
-adb push db $TMP
-echo "file db copied to $TMP"
-adb shell su -c cp $TMP/db $DB
-adb shell su -c rm $TMP/db
-echo "file cp'ed to the right place"
-adb shell su -c chown u0_a12:u0_a12 $DB
-echo "file chown'ed"
index b48f94ec827033ef073fb3c7f060837e90b935ec..32afd6a566177e1d2a1edf76e266ed343858fd52 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -4,6 +4,7 @@
 int main(int argc, char *argv[])
 {
     QApplication a(argc, argv);
+    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
     MainWindow w;
     w.show();
 
index e7655980ca9cbb1778448cadf8f3e2707dae2c64..8eecb78a304ddec2169aa6680664337399cf4dac 100644 (file)
@@ -27,22 +27,24 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
     connect(signalmap, SIGNAL(mapped(const QString &)), this, SLOT(action(const QString &)));
     connect(this, SIGNAL(datafilled()), this, SLOT(start()));
     label=new QLabel;
-
     setCentralWidget(screen);
     createMenuBar();
     connectDB();
-    if(conf->value(QString("first")).toInt()==1){
+
+    if((conf->value(QString("first")).toInt()==1)){
         qDebug()<<"second";
         createDB();
         updateUi();
         conf->setValue(QString("first"), 2);
     };
     QFile sav(conf->value(QString("buttonfile")).toString());
-    qDebug()<<"sav.exists():"<<sav.exists();
-    //readButtons(data);
+    if((sav.exists())&&(conf->value(QString("first")).toInt()!=1)){
+        sav.open(QIODevice::ReadOnly);
+        data=sav.readAll();
+        sav.close();
+    }
     statusBar()->addPermanentWidget(label);
     menuBar()->setVisible(conf->value(QString("menu")).toBool());
-    start();
 }
 void MainWindow::start(){
     way.clear();
@@ -155,6 +157,7 @@ void MainWindow::action(const QString &a){
         entry(b);
     }
     else if(a=="viewdata")qDebug()<<data;
+    else if(a=="nothing")return;
     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()));
     }
@@ -168,11 +171,13 @@ void MainWindow::createMenuBar(){
     FileMenu->addAction(trUtf8("Up&load"), this, SLOT(sendUi()),QKeySequence(trUtf8("Ctrl+L", "Upload")));
     FileMenu->addAction(trUtf8("&Quit..."), this, SLOT(quit()),QKeySequence(trUtf8("Ctrl+Q", "Quit")));
     menuBar()->addMenu(FileMenu);
-    EditMenu=new QMenu(QString("&Edit"));
-    EditMenu->addAction(trUtf8("C&reate database"), this, SLOT(createDB()), QKeySequence(trUtf8("Ctrl+R", "Edit|Database")));
-    EditMenu->addAction(trUtf8("A&dd buttons"), this, SLOT(addButtonDB()), QKeySequence(trUtf8("Ctrl+D", "Add buttons")));
-    EditMenu->addAction(trUtf8("&Edit buttons"), this, SLOT(editButtonDB()), QKeySequence(trUtf8("Ctrl+E", "Edit|&Edit button")));
-    EditMenu->addAction(trUtf8("&View/Hide menu"), this, SLOT(toggleMenu()), QKeySequence(trUtf8("Ctrl+T", "Edit|View menu")));
+    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")));
+    EditMenu->addAction(trUtf8("Re&set database"), this, SLOT(resetDB()), QKeySequence(trUtf8("Ctrl+S", "Buttons|ResetDB")));
     menuBar()->addMenu(EditMenu);
     HelpMenu=new QMenu(QString("&Help"));
     HelpMenu->addAction(tr("About Qt"), qApp, SLOT(aboutQt()), QKeySequence(tr("ctrl+H", "About Qt")));
@@ -204,7 +209,6 @@ CLabel::CLabel( const QString& text, const QString & style, QWidget * parent ) :
     setWordWrap(true);
     setLineWidth(5);
     setStyleSheet(style);
-    setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
     setScaledContents(1);
 }
 CLabel::~CLabel()
@@ -239,7 +243,6 @@ void MainWindow::connectDB(){
     db.setUserName(conf->value(QString("user")).toString());
     db.setPassword(conf->value(QString("password")).toString());
     db.setConnectOptions(conf->value(QString("SQLsettings")).toString());//10sec,
-    //bool ok=db.open();
     qDebug()<<"db.open() ? "<<db.open()<< ". database : "<<db.databaseName();
     q=new QSqlQuery(db);
 
@@ -261,9 +264,8 @@ void MainWindow::firstrun(){
     conf->setValue(QString("SQLsettings"), QVariant("requiressl=1 connect_timeout=10000"));
     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("http://www.nothing2do.eu/ui.sql"));
     conf->setValue(QString("download"), QVariant("https://raw.github.com/Nothing2Do/diary-mobile-android/master/ui.sql"));
-    conf->setValue(QString("upload"), QVariant("ftp://<user>:<pass>@<server>/<file>"));
+    conf->setValue(QString("upload"), QVariant("ftp://<user>:<pass>@<hostname>/<file>"));
     conf->setValue(QString("start"), QVariant("begin"));
 }
 QString &MainWindow::get(int row, int column){
@@ -297,7 +299,7 @@ void MainWindow::entry(const QString &a){
     QFile fichier(conf->value(QString("file")).toString());
     fichier.open(QIODevice::Append | QIODevice::Text);
     QTextStream flux(&fichier);
-    flux << time << c << endl;
+    flux << c << endl;
     fichier.close();
     QList<QString> d({"INSERT INTO raw (date, texte) VALUES (:date, :txt);"});
     d.append(time);
@@ -319,37 +321,32 @@ void MainWindow::addButtonDB(){
     bool ok=0;
     cmd.append("insert into ui (label, keyword, action) values (:label, :keyword, :action)");
     QString cur=way.last();
-    QString a, c, b=QInputDialog::getText(this, QString("label"), QString("Entrez son label"),QLineEdit::Normal, QString(), &ok);
-    if ((b=="")||(ok==0))return;
-    cmd.append(b);
-    for(int i=0;i<way.size()-2; i++){
+    QString a="", b, c=QInputDialog::getText(this, QString("label"), QString("Entrez son label"),QLineEdit::Normal, QString(), &ok);
+    if ((c=="")||(ok==0))return;
+    cmd.append(c);
+    for(int i=0;i<way.size(); i++){
         a+=way[i];
         a.chop(1);
         a+=" ";
+        qDebug()<<"a="<<a<<" i="<<i;
     }
-    a+=way.last();
-    //a.chop(1);
-    b=a+" "+b;
-    a=QInputDialog::getText(this, QString("keyword"), QString("Entrez ses mots clé (no limit !)"), QLineEdit::Normal, cur, &ok);
+    b=QInputDialog::getText(this, QString("keyword"), QString("Entrez ses mots clé (no limit !)"), QLineEdit::Normal, cur, &ok);
+    if ((b=="")||(ok==0))return;
+    cmd.append(b);
+    a=QInputDialog::getText(this, QString("action"), QString("Entrez son action"), QLineEdit::Normal, a+c, &ok);
     if ((a=="")||(ok==0))return;
     cmd.append(a);
-    cur.chop(1);
-    b.chop(1);
-    c=QInputDialog::getText(this, QString("action"), QString("Entrez son action"), QLineEdit::Normal, b, &ok);
-    if ((c=="")||(ok==0))return;
-    cmd.append(c);
     exec(cmd);
-    data.append(b).append('$').append(a).append('$').append(c).append('\n');
-    getButtons(way.last());
+    data.append(c).append('$').append(b).append('$').append(a).append('\n');
+    savButtons();
+    //getButtons(way.last());
     return;
 }
 void MainWindow::getButtons(const QString &a){
-    qDebug()<<"getButtons("<<a<<")";
+    qDebug()<<"getButtons("<<a<<") wait for update end (10s)";
     flush();
-    /*qDebug()<<"trylock(10000)";
-    updatelocker.tryLock(10000);
-    updatelocker.unlock();
-    qDebug()<<"unlocked";*/
+    if(updatelocker.tryLock(10000))updatelocker.unlock();
+    else{qDebug()<<"updatelocker is locked more than 10s";}
     way.append(a);
     QString b="%"+a+"%";
     QList<QString> tmp({"select label,action from ui where keyword like ?;", b});
@@ -389,15 +386,22 @@ void MainWindow::updateUi(){
 void MainWindow::sendUi(){
     qDebug()<<"sendUi() : "<<conf->value(QString("upload")).toString();
     QUrl upload(conf->value(QString("upload")).toString());
-
     net=new QNetworkAccessManager(this);
-    /*qDebug()<<"net->put : "<<*/
+    //qDebug()<<"net->put : "<<net->put(QNetworkRequest(upload), data);
     rep=net->put(QNetworkRequest(upload),data);
-    connect(net, SIGNAL(finished(QNetworkReply&)), this, SLOT(datasend(QNetworkReply&)));
+    connect(rep, SIGNAL(finished(QNetworkReply&)), this, SLOT(datasend(QNetworkReply&)));
 }
 void MainWindow::back(){
     flush();
-    if(!way.isEmpty()){way.removeLast();getButtons(way.last());}
+    if(!way.isEmpty()){
+        for(int i=0; i<way.size(); i++){
+            addWidget(QString(way[i]), new CLabel(QString(way[i])));
+        }
+    }
+    /*if(!way.isEmpty()){
+        way.removeLast();
+        getButtons(way.last());
+    }*/
     else QMessageBox::information(this, QString("Erreur"), QString("Vous êtes déja au départ."));
 
 }
@@ -416,13 +420,10 @@ void MainWindow::keyReleaseEvent(QKeyEvent *event)
 }
 void CLabel::SetTextToLabel(const QString& text)
 {
-    //qDebug()<<"setTextToLabel";
+    qDebug()<<"setTextToLabel";
     QFontMetrics metrix(font());
-    int width = this->width() - 2;
-    //qDebug()<<"width()"<<width<<" height() "<<height();
     //font().setPointSize(width);
-    QString clippedText = metrix.elidedText(text, Qt::ElideMiddle, width);
-    setText(clippedText);
+    setText(text);
 }
 FileDownloader::FileDownloader(QUrl url, QObject *parent) : QObject(parent)
 {
@@ -449,6 +450,7 @@ QByteArray FileDownloader::downloadedData() const
 }
 void MainWindow::writeUpdate(){
     qDebug()<<"downloaded : "<<m->downloadedData().size()<<" byte";
+    flush();
     // put newly downloaded sql file into database
     q->exec("PRAGMA foreign_keys=OFF;");
     q->exec("BEGIN TRANSACTION;");
@@ -459,6 +461,7 @@ void MainWindow::savButtons(){
     QFile b(conf->value(QString("buttonfile")).toString());
     b.open(QIODevice::WriteOnly);
     b.write(data);
+    b.close();
 }
 void MainWindow::readButtons(const QByteArray &in){
     int a=in.count('\n');
@@ -478,6 +481,11 @@ void MainWindow::readButtons(const QByteArray &in){
     data=in;
     emit datafilled();
 }
-void MainWindow::datasend(QNetworkReply & a){
-    qDebug()<<"data send :"<<a.readAll();
+void MainWindow::datasend(QNetworkReply *a){
+    a->open(QIODevice::ReadOnly);
+    qDebug()<<"data send :"<<a->readAll();
+}
+void MainWindow::resetDB(){
+    exec(QList<QString>({"delete from ui;"}));
+
 }
index 91505d07d675e37cfdd2c4aa37b4d780917ff96b..ae57bca6cd61621eedea8a0d12c6974e5e01a928 100644 (file)
@@ -96,7 +96,7 @@ public:
     void showExpanded();
     CLabel* addWidget(const QString &, const CLabel *);
 private slots:
-    void datasend(QNetworkReply&);
+    void datasend(QNetworkReply *);
     void back();
     void start();
     void quit();
@@ -120,6 +120,7 @@ private slots:
     void sendUi();
     void savButtons();
     void readButtons(const QByteArray &);
+    void resetDB();
 public slots:
 
 signals:
diff --git a/set-android-db.sh b/set-android-db.sh
deleted file mode 100755 (executable)
index 1251a3c..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-cat $1|sqlite3 db
-adb push db /sdcard/db
-echo "file db copied to /sdcard/db"
-adb shell su -c mv /sdcard/db /data/data/eu.nothing2do.eu-diarymobile
-echo "file mv'ed to the right place"
-adb shell su -c chown u0_a12:u0_a12 /data/data/eu.nothing2do.diarymobile/files/db
-echo "file chown'ed"