From edb3b5326e9c68b30136dea61453fd4e8fbd6eae Mon Sep 17 00:00:00 2001 From: Norbert Moutarde Date: Mon, 23 Dec 2013 18:16:41 +0100 Subject: [PATCH] few tweaks... (CONFIG += c++11, settext is into action(), etc...) --- diary-mobile-android.pro | 2 +- mainwindow.cpp | 82 ++++++++++++++++++++++++++-------------- mainwindow.h | 2 +- ui.sql | 2 - 4 files changed, 56 insertions(+), 32 deletions(-) diff --git a/diary-mobile-android.pro b/diary-mobile-android.pro index 62f5c95..b969d43 100644 --- a/diary-mobile-android.pro +++ b/diary-mobile-android.pro @@ -19,7 +19,7 @@ HEADERS += mainwindow.h #FORMS += mainwindow.ui -CONFIG += mobility +CONFIG += mobility c++11 MOBILITY = QMAKE_CXXFLAGS += -fpermissive diff --git a/mainwindow.cpp b/mainwindow.cpp index 71092cb..1a99a10 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -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 & a){ - qDebug()<<"exec()="<exec() :"<size(); + return qs; } int MainWindow::alias(const QString & a){ qDebug()<<"alias("< 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 tmp({"select label,action from ui where keyword like :word;"}); - //QString a="begin"; - tmp.append(a); + QList 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()="<({"select label from ui where keyword like ':key' and label = ':label';"})); + /*flush(); + qDebug()<<"exec()="<({"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()<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 : "<key()==Qt::Key_Back) + event->setAccepted(accepted); // don't close my Top Level Widget ! + int k=event->key(); + qDebug()<<"key="<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); +} diff --git a/mainwindow.h b/mainwindow.h index 15426a9..219456c 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -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 c94263c..d3842bc 100644 --- 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; -- 2.45.1