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("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")));
menuBar()->addMenu(EditMenu);
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("https://raw.github.com/Nothing2Do/diary-mobile-android/master/ui.sql"));
- conf->setValue(QString("upload"), QVariant("ftp://<user>:<pass>@<hostname>/<file>"));
+ conf->setValue(QString("uploadDB"), QVariant("ftp://<user>:<pass>@<hostname>/db"));
conf->setValue(QString("restore"), QVariant("http://www.xxx.com/db"));
conf->setValue(QString("start"), QVariant("begin"));
conf->setValue(QString("db"), QVariant("/data/data/eu.nothing2do.diarymobile/files/db"));
+ conf->setValue(QString("selectbuttons"), QVariant("select keyword,label,action from ui;"));
}
QString &MainWindow::get(int row, int column){
q->seek(row);
}*/
}
-void MainWindow::updateUi(){
- //download(conf->value(QString("download")).toString());
+void MainWindow::downloadUi(){
qDebug()<<"updateUi() : "<<conf->value(QString("download")).toString();
download(conf->value(QString("download")).toString());
- //readButtons();
- connect(m, SIGNAL(downloaded()), SLOT(writeUpdate()));
+ connect(m, SIGNAL(downloaded()), SLOT(writeUi()));
}
-void MainWindow::writeUpdate(){
- //flush(); now in readButtons()
- // put newly downloaded sql file into database
+void MainWindow::writeUi(){
q->exec("PRAGMA foreign_keys=OFF;");
q->exec("BEGIN TRANSACTION;");
readButtons(m->downloadedData());
}
void MainWindow::sendDB(){
system("su");
- qDebug()<<"sendDB() : "<<conf->value(QString("upload")).toString();
- QUrl upload(conf->value(QString("upload")).toString());
+ qDebug()<<"sendDB() : "<<conf->value(QString("uploadDB")).toString();
+ QUrl upload(conf->value(QString("uploadDB")).toString());
net=new QNetworkAccessManager(this);
QFile b(conf->value(QString("db")).toString());
b.open(QIODevice::ReadOnly);
connect(rep, SIGNAL(finished()), this, SLOT(datasend()));
system("exit");
}
+
void MainWindow::back(){
if(way.size()-1>0){
flush();
void MainWindow::readButtons(const QByteArray &in){
int a=in.count('\n');
QString d=in.split('\n').at(0);
+ conf->setValue(QString("firstline"), d);
qDebug()<<"first line : "<<d;
for(int i=1; i<a; i++){
q->prepare(d);
exec(QList<QString>({"delete from ui;"}));
}
-void MainWindow::restoreDB(){
- system("su");
+void MainWindow::downloadDB(){
qDebug()<<"restoreDB() : "<<conf->value(QString("restore")).toString();
- QUrl download(conf->value(QString("restore")).toString());
- net=new QNetworkAccessManager(this);
- QFile b(conf->value(QString("db")).toString());
- b.open(QIODevice::WriteOnly);
- rep=net->get(QNetworkRequest(download));
- // to be finished ...
- b.write(rep->readAll());
+ download(conf->value(QString("restore")).toString());
+ connect(m, SIGNAL(downloaded()), SLOT(writeDB()));
+}
+void MainWindow::writeDB(){
+ system("su");
+ QFile a(conf->value(QString("db")).toString());
+ a.open(QIODevice::WriteOnly | QIODevice::Text);
+ QTextStream b(&a);
+ b<<m->downloadedData();
system("exit");
}
+
void MainWindow::download(const QString & a){
qDebug()<<"download() : "<<a;
QUrl url(a);
m = new FileDownloader(url, this);
- //connect(m, SIGNAL(downloaded()), SLOT(writeUpdate()));
- //return m->downloadedData();
+}
+void MainWindow::savButtons(){
+ exec(QList<QString> ({conf->value(QString("selectbuttons")).toString()}));
+ QFile a(conf->value(QString("buttonfile")).toString());
+ a.open(QIODevice::WriteOnly | QIODevice::Text);
+ QTextStream b(&a);
+ b<<conf->value("firstline").toString()<<"\n";
+ while (q->next()) {
+ for (int i=0; i<3; i++){
+ b<<q->value(i).toString();
+ }
+ b<<"\n";
+ }
+ a.close();
}