diff --git a/blink.ini b/blink.ini deleted file mode 100644 index bd4e9dc..0000000 --- a/blink.ini +++ /dev/null @@ -1,5 +0,0 @@ -[config] -home="http://192.168.0.101/update/Tablets/SpecialBuzzingLight/printer/stories/" - -[ticket] -width=553 \ No newline at end of file diff --git a/browser.cpp b/browser.cpp index 141ef0e..ebadbeb 100644 --- a/browser.cpp +++ b/browser.cpp @@ -5,6 +5,8 @@ Browser::Browser(QWidget *parent) : QMainWindow(parent), ui(new Ui::Browser) { ui->setupUi(this); + ui->print->hide(); + ui->web->setContextMenuPolicy(Qt::NoContextMenu); //Chemin de l’app QDir pathApplicationDir = QDir(QCoreApplication::applicationDirPath()).absolutePath(); @@ -37,8 +39,9 @@ Browser::Browser(QWidget *parent) : settings.beginGroup("config"); home = settings.value("home", "https://www.buzzinglight.com").toString().trimmed(); + quint8 buttonBar = settings.value("buttonbar", 1).toInt(); eventEater = new EventEater(settings.value("timeout", -1).toInt()); - installEventFilter(eventEater); + ui->web->installEventFilter(eventEater); if(eventEater->timeout > 0) startTimer(1000); settings.endGroup(); @@ -47,6 +50,8 @@ Browser::Browser(QWidget *parent) : { settings.beginGroup("ticket"); ticketWidth = settings.value("width", 0).toInt(); + if(ticketWidth) + ui->print->show(); settings.endGroup(); } @@ -56,9 +61,11 @@ Browser::Browser(QWidget *parent) : int size = settings.beginReadArray("allow"); for (int i = 0; i < size; ++i) { settings.setArrayIndex(i); - QString url = settings.value("url").toString(); - qDebug("Domaine %s autorisé", qPrintable(url)); - wuri->allow << url; + QString url = settings.value("url").toString().trimmed(); + if(!url.isEmpty()) { + qDebug("Domaine %s autorisé", qPrintable(url)); + wuri->allow << url; + } } settings.endArray(); } @@ -68,12 +75,25 @@ Browser::Browser(QWidget *parent) : int size = settings.beginReadArray("deny"); for (int i = 0; i < size; ++i) { settings.setArrayIndex(i); - QString url = settings.value("url").toString(); - qDebug("Domaine %s bloqué", qPrintable(url)); - wuri->deny << url; + QString url = settings.value("url").toString().trimmed(); + if(!url.isEmpty()) { + qDebug("Domaine %s bloqué", qPrintable(url)); + wuri->deny << url; + } } settings.endArray(); } + + //Barre + if(buttonBar == 0) { + ui->layout->removeItem(ui->toolbar); + ui->print->hide(); + ui->back->hide(); + ui->home->hide(); + ui->url->hide(); + ui->widget->layout()->setMargin(0); + } + } //Moteur Web @@ -110,7 +130,8 @@ void Browser::setUrl(QString url) { if(url.isEmpty()) url = home; ui->web->load(url); - ui->web->page()->triggerAction(QWebEnginePage::ReloadAndBypassCache); + //ui->web->page()->triggerAction(QWebEnginePage::ReloadAndBypassCache); + eventEater->lastAction = QDateTime::currentDateTime(); } void Browser::action() { @@ -168,9 +189,12 @@ void Browser::incomingData(const QString &, quint16, const QString &, const QLis void Browser::timerEvent(QTimerEvent *) { if(eventEater->lastAction.secsTo(QDateTime::currentDateTime()) > eventEater->timeout) { if(ui->web->url().toString() != home) { + qDebug("%s != %s", qPrintable(ui->web->url().toString()), qPrintable(home)); setUrl(); - eventEater->lastAction = QDateTime::currentDateTime(); } + else + qDebug("%s == %s", qPrintable(ui->web->url().toString()), qPrintable(home)); + eventEater->lastAction = QDateTime::currentDateTime(); } } @@ -250,15 +274,18 @@ void WebUrlRequestInterceptor::interceptRequest(QWebEngineUrlRequestInfo &info) foreach(const QString &url, allow) if(info.requestUrl().host().contains(url)) block = false; - qDebug("%s (%d)", qPrintable(info.requestUrl().host()), block); - if(block) + if(block) { info.block(true); + if(info.resourceType() == 0) + MainWindowInterface::main->setUrl(); + } } EventEater::EventEater(qint32 _timeout) { timeout = _timeout; + qDebug("Timeout %d", timeout); } bool EventEater::eventFilter(QObject *obj, QEvent *event) { bool resetTimeout = false; @@ -272,7 +299,9 @@ bool EventEater::eventFilter(QObject *obj, QEvent *event) { resetTimeout = true; else if (event->type() == QEvent::TouchUpdate) resetTimeout = true; - if(resetTimeout) + if(resetTimeout) { + qDebug("-> %d (%d)", event->type(), resetTimeout); lastAction = QDateTime::currentDateTime(); + } return QObject::eventFilter(obj, event); } diff --git a/browser.ui b/browser.ui index 5f313ae..b4f7fdf 100644 --- a/browser.ui +++ b/browser.ui @@ -32,6 +32,9 @@ QLabel#url { + + 12 + diff --git a/configuration.ini b/configuration.ini new file mode 100644 index 0000000..686df4c --- /dev/null +++ b/configuration.ini @@ -0,0 +1,13 @@ +[config] +home="https://www.buzzinglight.com/work/" +buttonbar=0 +timeout=60 + +[allow] +#1\url=buzzinglight.com +size=2 + +[deny] +1\url=facebook.com +2\url=twitter.com +size=2 \ No newline at end of file diff --git a/global.h b/global.h index fa1378d..b0b03db 100644 --- a/global.h +++ b/global.h @@ -35,6 +35,7 @@ class MainWindowInterface { static MainWindowInterface *main; SenderInterface *udp; SenderInterface *http; + virtual void setUrl(QString url = "") = 0; }; #endif // GLOBAL_H