]> git.nothing2do.fr Git - diary-mobile.git/commitdiff
button style-sheet is now stored in config !
authorNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Sun, 5 Jan 2014 15:01:03 +0000 (16:01 +0100)
committerNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Sun, 5 Jan 2014 15:01:03 +0000 (16:01 +0100)
mainwindow.cpp
mainwindow.h

index 2ad9653c63cc7a73d029e4fe397493ab92f65985..4563b795a7800444e64cc32671ba00dbb5b3b508 100644 (file)
@@ -123,12 +123,8 @@ CLabel* MainWindow::addWidget(const QString &key, const CLabel *a){
     int maxl=conf->value(QString("maxline")).toInt();
     grid->addWidget(a, grid->count()/maxc, grid->count()%maxc, 1, 1, Qt::AlignVCenter | Qt::AlignHCenter);
     //QObject::connect(a, SIGNAL(pressed()), signalmap, SLOT(map()));
-    qDebug()<<"connect2 : "<<QObject::connect(a, SIGNAL(released()), signalmap, SLOT(map()));
+    QObject::connect(a, SIGNAL(released()), signalmap, SLOT(map()));
     signalmap->setMapping(a, key);
-    /*if(grid->count()==maxc*maxl){
-        grid->addWidget(new CLabel(QString("next")), maxc, maxl, 1, 1, Qt::AlignVCenter | Qt::AlignHCenter);
-        return NULL;
-    };*/
     return a;
 }
 void MainWindow::action(const QString &a){
@@ -145,7 +141,7 @@ void MainWindow::action(const QString &a){
     }
     else if(a.split(QString(" "))[0]=="new"){
         QString b="";
-        for(int c=1;c<way.size();c++){
+        for(int c=0;c<way.size();c++){
             b+=way[c];
             b+=" ";
         };
@@ -163,8 +159,8 @@ 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("Up&load"), this, SLOT(sendUi()),QKeySequence(trUtf8("Ctrl+L", "Update")));
+    FileMenu->addAction(trUtf8("&Download"), this, SLOT(updateUi()),QKeySequence(trUtf8("Ctrl+D", "Downlad")));
+    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"));
@@ -198,6 +194,7 @@ void MainWindow::flush(){
 }
 CLabel::CLabel( const QString& text, const QString & style, QWidget * parent ) : QLabel(parent)
 {
+    m_style=style;
     setText(text);
     setWordWrap(true);
     setLineWidth(5);
@@ -208,16 +205,16 @@ CLabel::CLabel( const QString& text, const QString & style, QWidget * parent ) :
 CLabel::~CLabel()
 {
 }
-void CLabel::mousePressEvent ( QMouseEvent * event )
+void CLabel::mousePressEvent (QMouseEvent * event )
 {
     switch(event->button()){
-        case Qt::LeftButton:setStyleSheet("background-color: red;border-style: inset;border-width: 7px;border-radius: 10px;border-color: beige;font: bold 15px;padding: 6px;");emit pressed();break;
+        case Qt::LeftButton:setStyleSheet(m_style.replace(QString("border-style: outset"), QString("border-style: inset")));emit pressed();break;
     }
 }
 void CLabel::mouseReleaseEvent( QMouseEvent * event )
 {
     switch(event->button()){
-        case Qt::LeftButton:setStyleSheet("background-color: red;border-style: outset;border-width: 7px;border-radius: 10px;border-color: beige;font: bold 15px;padding: 6px;");emit released();break;
+        case Qt::LeftButton:setStyleSheet(m_style);emit released();break;
 
     }
 }
@@ -271,7 +268,6 @@ QString &MainWindow::get(int row, int column){
 }
 int MainWindow::exec(const QList<QString> & a){
     qDebug()<<"exec("<<a[0]<<")";
-    QMutexLocker locker(&sql);
     q->prepare(a[0]);
     for (int j=1; j<a.size(); j++){
         q->bindValue(j-1, a[j]);
@@ -281,7 +277,7 @@ int MainWindow::exec(const QList<QString> & a){
 
     QSqlError b=q->lastError();
     db.commit();
-    if (b.isValid())qDebug()<<"SQL error->exec() :"<<b.text();
+    if (b.isValid())qDebug()<<"SQL error :"<<b.text();
     if(q->isSelect())return q->size();
     else return 0;
 }
@@ -320,6 +316,11 @@ void MainWindow::addButtonDB(){
     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()-1; i++){
+        a+=way[i]+" ";
+    }
+    a+=way.last();
+    b=a+" "+b;
     a=QInputDialog::getText(this, QString("keyword"), QString("Entrez ses mots clé"), QLineEdit::Normal, cur, &ok);
     if ((a=="")||(ok==0))return;
     cmd.append(a);
@@ -329,23 +330,26 @@ void MainWindow::addButtonDB(){
     cmd.append(c);
     exec(cmd);
     data.append(b).append('$').append(a).append('$').append(c).append('\n');
+    getButtons(way.last());
     return;
 }
 void MainWindow::getButtons(const QString &a){
     qDebug()<<"getButtons("<<a<<")";
     flush();
+    qDebug()<<"updatelocker:"<<updatelocker.tryLock();
+    qDebug()<<"sql.trylock:"<<sql.tryLock();
     QString b="%"+a+"%";
-    QList<QString> tmp({"select label,action from ui where keyword like :word;"});;
-    label->setText(QString::number(way.size()));
-    //label->setText(a);
-    tmp.append(b);
+    QList<QString> tmp({"select label,action from ui where keyword like ?;", b});
+    //label->setText(QString::number(way.size()));
+    label->setText(a);
+    //tmp.append(b);
     exec(tmp);
     int labCol = 0;//r.indexOf("label");
     int actCol = 1;//r.indexOf("action");
-    QMutexLocker locker(&sql);
+    //QMutexLocker locker(&sql);
     int i=0;
     while(q->next()){
-        addWidget(q->value(actCol).toString(), new CLabel(q->value(labCol).toString()));
+        addWidget(q->value(actCol).toString(), new CLabel(q->value(labCol).toString(), conf->value(QString("button")).toString()));
         i++;
     };
     qDebug()<<"end getButtons : "<<i<<" button(s)";
@@ -364,6 +368,7 @@ void MainWindow::editButtonDB(){
     }*/
 }
 void MainWindow::updateUi(){
+    updatelocker.lock();
     qDebug()<<"updateUi() : "<<conf->value(QString("download")).toString();
     QUrl update(conf->value(QString("download")).toString());
     m = new FileDownloader(update, this);
@@ -373,15 +378,14 @@ void MainWindow::sendUi(){
     qDebug()<<"sendUi() : "<<conf->value(QString("upload")).toString();
     QUrl upload(conf->value(QString("upload")).toString());
     net=new QNetworkAccessManager(this);
-    net->put(QNetworkRequest(upload),data);
+    qDebug()<<"net->put : "<<net->put(QNetworkRequest(upload),data);
 }
 void MainWindow::back(){
-    bool ok;
-    int a=QInputDialog::getInt(this, QString("back()"), QString("Quel page ?"), way.size()-2, 0, way.size()-1, 1, &ok);
-    if(ok){
-        getButtons(way[a]);
-        qDebug()<<"retour : "<<a;
-    }else return;
+    flush();
+    for(int i=0;i<way.size();i++){
+        QString t=way[i];
+        addWidget(t, new CLabel(t));
+    }
 
 }
 void MainWindow::keyReleaseEvent(QKeyEvent *event)
@@ -432,7 +436,7 @@ QByteArray FileDownloader::downloadedData() const
 }
 void MainWindow::writeUpdate(){
     qDebug()<<"downloaded : "<<m->downloadedData().size()<<" byte";
-    QMutexLocker locker(&sql);
+    qDebug()<<"writeUpdate()->sql.trylock:"<<sql.tryLock(10000);
     // put newly downloaded sql file into database
     int a=m->downloadedData().count('\n');
     qDebug()<<"first line : "<<m->downloadedData().split('\n').at(0);
@@ -451,6 +455,8 @@ void MainWindow::writeUpdate(){
     };
     db.commit();
     data=m->downloadedData();
+    updatelocker.unlock();
+    qDebug()<<"updatlocker unlocked";
     getButtons(conf->value(QString("start"), QVariant("begin")).toString());
 
 }
index 44b9d622d4ed9f41bc8ddf40ea1e3538d8d4efa0..683d21680c538d3822154b06a43d9e535143fc2a 100644 (file)
@@ -60,7 +60,7 @@ private:
 class CLabel : public QLabel
 {
 Q_OBJECT
-
+    QString m_style;
 
 public:
     explicit CLabel(const QString& text ="default", const QString &style="background-color: red;border-style: outset;border-width: 7px;border-radius: 10px;border-color: beige;font: bold 15px;padding: 6px;", QWidget * parent = 0 );
@@ -122,7 +122,7 @@ public slots:
 signals:
 
 private:
-    QMutex sql,update;
+    QMutex sql,updatelocker;
     QWidget *screen;
     QGridLayout *grid;
     QLabel *label;