int maxc=conf->value(QString("maxcolumn")).toInt();
int maxl=conf->value(QString("maxline")).toInt();
grid->addWidget(a, grid->count()/maxc, grid->count()%maxc, 1, 1, Qt::AlignJustify| Qt::AlignVCenter | Qt::AlignHCenter);
- QObject::connect(a, SIGNAL(pressed()), signalmap, SLOT(map()));
- //QObject::connect(a, SIGNAL(released()), signalmap, SLOT(map()));
+ //QObject::connect(a, SIGNAL(pressed()), signalmap, SLOT(map()));
+ QObject::connect(a, SIGNAL(released()), signalmap, SLOT(map()));
signalmap->setMapping(a, key);
return a;
}
else if(b[0]==QString("setint")){
conf->setValue(b[1], QInputDialog::getInt(this, "setInt", b[1] , conf->value(QString(b[1])).toInt()));
}
+ else if(b[0]==QString("start")){
+ getButtons(conf->value(QString("start")).toString());
+ }
else if(b[0]=="new"){
entry(c);
}
else if(b[0]==QString("clear")){
way.clear();
}
+ else if(b[0]==QString("edit")){
+ editButtonDB(b[1]);
+ }
else getButtons(a);
}
void MainWindow::createMenuBar(){
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("&Edit buttons"), this, SLOT(chooseButtonDB()), 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"));
}
void MainWindow::createDB(){
qDebug()<<"createDB()";
- exec(QList<QString>({"create table ui(keyword text, label text, action text);"}));
+ exec(QList<QString>({"create table ui(id INTEGER PRIMARY KEY AUTOINCREMENT,keyword text, label text, action text);"}));
exec(QList<QString>({"create table raw(date timestamp, texte text);"}));
}
void MainWindow::addButtonDB(){
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"), QVariant("background-color: red;border-style: outset;border-width: 7px;border-radius: 10px;border-color: beige;font: bold 15px;padding: 6px;")).toString()));
+ addWidget(q->value(actCol).toString(), new CLabel(q->value(labCol).toString(), conf->value(QString("button")).toString()));
i++;
};
way.append(a);
qDebug()<<"end getButtons : "<<i<<" button(s) way.size()"<<way.size();
}
-void MainWindow::editButtonDB(){
- /*flush();
- qDebug()<<"exec()="<<exec(QList<QString>({"select label from ui where keyword like :key and label = :label;"}));
+void MainWindow::chooseButtonDB(){
+ const QString a=QInputDialog::getText(this, QString("chooseButtonDB"), QString("Entrez le mots-clé : "), QLineEdit::Normal, way.last());
+ chooseButtonDB(a);
+}
+void MainWindow::chooseButtonDB(const QString & a){
+ flush();
+ qDebug()<<"exec()="<<exec(QList<QString>({"select id,label from ui where keyword like ?;", a}));
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();
- addWidget(QString("sql select keyword,label,action from ui where keyword like '"+q->value(0).toString()+"';"), new CLabel(q->value(0).toString()));
+ const QString action="edit "+q->value(0).toString();
+ addWidget(action, new CLabel(q->value(1).toString(), conf->value(QString("button")).toString()));
}
- /*flush();
- while (q->next()){
+}
+void MainWindow::editButtonDB(const QString & a){
+ exec(QList<QString>({"select id,keyword,label,action from ui where id=?;", a}));
+ q->next();
+ const QString keyword=QInputDialog::getText(this, "keyword", "new keyword", QLineEdit::Normal, q->value(1).toString());
+ const QString label=QInputDialog::getText(this, "label", "new label", QLineEdit::Normal, q->value(2).toString());
+ const QString action=QInputDialog::getText(this, "action", "new action", QLineEdit::Normal, q->value(3).toString());
+ if((keyword=="")||(label=="")||(action=="")){
+ exec(QList<QString>({"delete from ui where id=?", a}));
+ return;
+ }
+ exec(QList<QString>({"update ui set keyword=?, label=?, action=? where id=?;", keyword, label, action, a}));
- }*/
}
+
void MainWindow::downloadUi(){
qDebug()<<"updateUi() : "<<conf->value(QString("download"), QVariant("https://raw.github.com/Nothing2Do/diary-mobile-android/master/ui.sql")).toString();
download(conf->value(QString("download")).toString());
void MainWindow::back(){
flush();
getButtons(conf->value(QString("menuback")).toString());
- for(int i=0; i<way.size()-1; i++){
+ way.removeLast();
+ for(int i=0; i<way.size(); i++){
addWidget(QString(way[i]), new CLabel(QString(way[i]), conf->value(QString("button")).toString()));
}
}