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){
}
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+=" ";
};
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"));
}
CLabel::CLabel( const QString& text, const QString & style, QWidget * parent ) : QLabel(parent)
{
+ m_style=style;
setText(text);
setWordWrap(true);
setLineWidth(5);
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;
}
}
}
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]);
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;
}
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);
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)";
}*/
}
void MainWindow::updateUi(){
+ updatelocker.lock();
qDebug()<<"updateUi() : "<<conf->value(QString("download")).toString();
QUrl update(conf->value(QString("download")).toString());
m = new FileDownloader(update, this);
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)
}
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);
};
db.commit();
data=m->downloadedData();
+ updatelocker.unlock();
+ qDebug()<<"updatlocker unlocked";
getButtons(conf->value(QString("start"), QVariant("begin")).toString());
}