]> git.nothing2do.fr Git - diary-mobile.git/commitdiff
few tweaks... (CONFIG += c++11, settext is into action(), etc...)
authorNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Mon, 23 Dec 2013 17:16:41 +0000 (18:16 +0100)
committerNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Mon, 23 Dec 2013 17:16:41 +0000 (18:16 +0100)
diary-mobile-android.pro
mainwindow.cpp
mainwindow.h
ui.sql

index 62f5c959802c5f74f0b87dc8c2526d79e81782e8..b969d43011156eb0e51c5e4a88be821037c36e8c 100644 (file)
@@ -19,7 +19,7 @@ HEADERS  += mainwindow.h
 
 #FORMS    += mainwindow.ui
 
-CONFIG += mobility
+CONFIG += mobility c++11
 MOBILITY = 
 QMAKE_CXXFLAGS += -fpermissive
 
index 71092cb3fb966ac963dbf7e601ba192a51b61720..1a99a1071014e30527b81970c4c046dda13b6229 100644 (file)
@@ -25,6 +25,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
     };
     screen=new QWidget(this);
     grid=new QGridLayout(screen);
+    screen->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
     signalmap=new QSignalMapper(this);
     connect(signalmap, SIGNAL(mapped(const QString &)),
                  this, SLOT(action(const QString &)));
@@ -38,7 +39,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
         conf->setValue(QString("first"), 2);
     };
     statusBar()->addPermanentWidget(label);
-    menuBar()->show();
+    menuBar()->setVisible(conf->value(QString("menu")).toBool());
     start();
 }
 void MainWindow::start(){
@@ -113,6 +114,7 @@ void MainWindow::lsconfig(){
 }
 void MainWindow::quit(){
     qDebug()<<"quit()";
+    conf->setValue(QString("menu"), menuBar()->isVisible());
     conf->sync();
     db.commit();
     db.close();
@@ -136,10 +138,12 @@ void MainWindow::action(const QString & a){
         conf->setValue(QString(a.split(QString(" "))[1]), a.split(QString(" "))[2]);
         start();
     }
-    /*else if(a.split(QString(" "))[0]==QString("sql")){
-        exec(a.mid(4));
-        start();
-    }*/
+    else if(a.split(QString(" "))[0]==QString("settext")){
+        conf->setValue(a.split(QString(" "))[1], QInputDialog::getText(this, "setText", "label", QLineEdit::Normal, a.split(QString(" "))[2]));
+    }
+    else if(a.split(QString(" "))[0]==QString("setint")){
+        conf->setValue(a.split(QString(" "))[1], QInputDialog::getInt(this, "setInt", a.split(QString(" "))[2] , conf->value(QString(a.split(QString(" "))[3])).toInt()));
+    }
     else if(a=="new"){
         entry();
         start();
@@ -151,6 +155,7 @@ void MainWindow::createMenuBar(){
     FileMenu=new QMenu(QString("&File"), this);
     FileMenu->addAction(trUtf8("&Start..."), this, SLOT(start()),QKeySequence(trUtf8("Ctrl+S", "Start")));
     FileMenu->addAction(trUtf8("&Back"), this, SLOT(back()),QKeySequence(trUtf8("Ctrl+B", "Back")));
+    FileMenu->addAction(trUtf8("&Update"), this, SLOT(updateUi()),QKeySequence(trUtf8("Ctrl+U", "Update")));
     FileMenu->addAction(trUtf8("&Quit..."), this, SLOT(quit()),QKeySequence(trUtf8("Ctrl+Q", "Quit")));
     menuBar()->addMenu(FileMenu);
     EditMenu=new QMenu(QString("&Edit"));
@@ -189,9 +194,8 @@ CLabel::CLabel( const QString& text, QWidget * parent ) : QLabel(parent)
     setWordWrap(true);
     setLineWidth(5);
     setStyleSheet("background-color: red;border-style: outset;border-width: 7px;border-radius: 10px;border-color: beige;font: bold 15px;padding: 6px;");
-    setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
-
-
+    setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
+    setScaledContents(1);
 }
 CLabel::~CLabel()
 {
@@ -244,6 +248,9 @@ void MainWindow::firstrun(){
     conf->setValue(QString("maxcolumn"), QVariant(4));
     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("dbfile"), QVariant("ui.sql"));
+    conf->setValue(QString("getsql"), QVariant("wget --no-check-certificate https://github.com/Nothing2Do/diary-mobile-android/raw/master/ui.sql"));
 }
 QString &MainWindow::get(int row, int column){
     q->seek(row);
@@ -251,16 +258,17 @@ QString &MainWindow::get(int row, int column){
     return tmp;
 }
 int MainWindow::exec(const QList<QString> & a){
-    qDebug()<<"exec()="<<a[0]<<" a.size()="<<a.size();
     q->prepare(a[0]);
     for (int j=1; j<a.size(); j++){
         q->bindValue(j-1, a[j]);
         qDebug()<<"bind "<<j-1<<" and"<<a[j];
     }
-    qDebug()<<"exec()="<<q->exec();
+    qDebug()<<"exec("<<a[0]<<")="<<q->exec();
     QSqlError b=q->lastError();
+    int qs=q->size();
+    //q->exec(QString("COMMIT;"));
     if (b.isValid())qDebug()<<"SQL error->exec() :"<<b.text();
-    return q->size();
+    return qs;
 }
 int MainWindow::alias(const QString & a){
     qDebug()<<"alias("<<a<<")";
@@ -311,11 +319,12 @@ void MainWindow::createDB(){
 void MainWindow::addButtonDB(){
     qDebug()<<"addButtonDB()";
     QList<QString> cmd;
+    bool ok=0;
     cmd.append("insert into ui (label, keyword, action) values (:label, :keyword, :action)");
     QString cur=way.last();
-    QString view=QInputDialog::getText(this, QString("label"), QString("Entrez le label"));
-    if (view=="")view="default";
-    QString key=QInputDialog::getText(this, QString("keyword"), QString("Entrez le nom de la page"), QLineEdit::Normal, cur);
+    QString view=QInputDialog::getText(this, QString("label"), QString("Entrez le label"),QLineEdit::Normal, QString(), &ok);
+    if ((view=="")||(ok==0))view="default";
+    QString key=QInputDialog::getText(this, QString("keyword"), QString("Entrez le nom de la page où il siègera"), QLineEdit::Normal, cur);
     cur.chop(1);
     QString action=QInputDialog::getText(this, QString("action"), QString("Entrez l'action"), QLineEdit::Normal, cur+"_"+view);
     cmd.append(view);
@@ -326,11 +335,8 @@ void MainWindow::addButtonDB(){
     getButtons(way.last());
 }
 void MainWindow::getButtons(const QString &a){
-//void MainWindow::getButtons(){
     qDebug()<<"getButtons()";
-    QList<QString> tmp({"select label,action from ui where keyword like :word;"});
-    //QString a="begin";
-    tmp.append(a);
+    QList<QString> tmp({"select label,action from ui where keyword like :word;", a});;
     QString b=QString::number(way.size());
     label->setText(b);
     way.append(a);
@@ -342,8 +348,8 @@ void MainWindow::getButtons(const QString &a){
     };
 }
 void MainWindow::editButtonDB(){
-    flush();
-    qDebug()<<"exec()="<<exec(QList<QString>({"select label from ui where keyword like ':key' and label = ':label';"}));
+    /*flush();
+    qDebug()<<"exec()="<<exec(QList<QString>({"select label from ui where keyword like :key and label = :label;"}));
     while (q->next()) {
         //QString key=QString("sql select keyword,label,action from ui where keyword like '"+q->value(0).toString()+"';");
         qDebug()<<q->value(0).toString();
@@ -354,24 +360,44 @@ void MainWindow::editButtonDB(){
 
     }*/
 }
-int MainWindow::updateUi(){
-    return system("wget --no-check-certificate https://github.com/Nothing2Do/diary-mobile-android/raw/master/ui.sql");
+void MainWindow::updateUi(){
+    // it work on linux
+    system(conf->value(QString("getsql")).toString().toStdString().c_str());
+    QString cmd="cat "+conf->value(QString("dbfile")).toString()+"|sqlite3 "+conf->value(QString("database")).toString();
+    qDebug()<<"cmd : "<<cmd;
+    system(cmd.toStdString().c_str());
+    return;
 
 }
 void MainWindow::back(){
-    int a=QInputDialog::getInt(this, QString("Retour"), QString("Où voulez-vous revenir ?"), way.size()-2, 0, way.size()-2);
-    qDebug()<<"retour : "<<a;
-    flush();
-    getButtons(way[a]);
+    bool ok;
+    int a=QInputDialog::getInt(this, QString("back()"), QString("Ou ?"), way.size()-2, 0, way.size()-2, 1, &ok);
+    if(ok){
+        flush();
+        getButtons(way[a]);
+        qDebug()<<"retour : "<<a;
+    }else return;
+
 }
 void MainWindow::keyReleaseEvent(QKeyEvent *event)
 {
     static bool accepted=true;
-    if (event->key()==Qt::Key_Back)
+    event->setAccepted(accepted); // don't close my Top Level Widget !
+    int k=event->key();
+    qDebug()<<"key="<<k;
+    if (k==Qt::Key_Back)
     {
         back();
-        event->setAccepted(accepted); // dont't close my Top Level Widget !
         accepted=false;// close the app next time when the user press back button
+    }else if(k==Qt::Key_Alt){
+
     }
 
 }
+static void SetTextToLabel(QLabel *label, QString text)
+{
+    QFontMetrics metrix(label->font());
+    int width = label->width() - 2;
+    QString clippedText = metrix.elidedText(text, Qt::ElideRight, width);
+    label->setText(clippedText);
+}
index 15426a90daa66c1d0b80d9e57b7236e0ebc86f34..219456c9ed77629d2598c9fd0ab485ab46d54dec 100644 (file)
@@ -81,7 +81,7 @@ private slots:
     void editButtonDB();
     void getButtons(const QString &);
     //void getButtons();
-    int updateUi();
+    void updateUi();
 public slots:
 
 signals:
diff --git a/ui.sql b/ui.sql
index c94263cf8ecafa2bb9513c8b0400464bcd89cfb6..d3842bc5294345729842cbefd8005f8b9f9e5af9 100644 (file)
--- a/ui.sql
+++ b/ui.sql
@@ -1,6 +1,5 @@
 PRAGMA foreign_keys=OFF;
 BEGIN TRANSACTION;
-CREATE TABLE ui(keyword text, label text, action text);
 INSERT INTO "ui" VALUES('begin','fille','fille');
 INSERT INTO "ui" VALUES('fille','aurelie','f-aurelie');
 INSERT INTO "ui" VALUES('f-aurelie','discours','f-a-discours');
@@ -36,6 +35,5 @@ INSERT INTO "ui" VALUES('c-pass','123','set pass 123');
 INSERT INTO "ui" VALUES('config','database','c-db');
 INSERT INTO "ui" VALUES('c-db','chat','set database chat');
 INSERT INTO "ui" VALUES('c-db','chien','set database chien');
-CREATE TABLE raw(date timestamp, texte text);
 COMMIT;