From: Norbert Moutarde Date: Wed, 28 May 2014 08:30:13 +0000 (+0200) Subject: Merge branch 'master' of ssh.alwaysdata.com:git/diary-mobile X-Git-Url: https://git.nothing2do.fr/?a=commitdiff_plain;h=57e7464cfed245e33ae4d9043a0aa27578c5fc19;p=diary-mobile.git Merge branch 'master' of ssh.alwaysdata.com:git/diary-mobile Conflicts: mainwindow.cpp mainwindow.h --- 57e7464cfed245e33ae4d9043a0aa27578c5fc19 diff --cc QsKineticScroller.cpp index 129d5e5,129d5e5..0000000 deleted file mode 100644,100644 --- a/QsKineticScroller.cpp +++ /dev/null @@@ -1,213 -1,213 +1,0 @@@ --// Copyright (c) 2010, Razvan Petru --// All rights reserved. -- --// Redistribution and use in source and binary forms, with or without modification, --// are permitted provided that the following conditions are met: -- --// * Redistributions of source code must retain the above copyright notice, this --// list of conditions and the following disclaimer. --// * Redistributions in binary form must reproduce the above copyright notice, this --// list of conditions and the following disclaimer in the documentation and/or other --// materials provided with the distribution. --// * The name of the contributors may not be used to endorse or promote products --// derived from this software without specific prior written permission. -- --// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND --// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED --// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. --// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, --// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, --// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, --// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF --// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE --// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED --// OF THE POSSIBILITY OF SUCH DAMAGE. -- --#include "QsKineticScroller.h" --#include --#include --#include --#include --#include --#include --#include // for NULL -- --// A number of mouse moves are ignored after a press to differentiate --// it from a press & drag. --static const int gMaxIgnoredMouseMoves = 4; --// The timer measures the drag speed & handles kinetic scrolling. Adjusting --// the timer interval will change the scrolling speed and smoothness. --static const int gTimerInterval = 30; --// The speed measurement is imprecise, limit it so that the scrolling is not --// too fast. --static const int gMaxDecelerationSpeed = 30; --// influences how fast the scroller decelerates --static const int gFriction = 1; -- --class QsKineticScrollerImpl --{ --public: -- QsKineticScrollerImpl() -- : scrollArea(NULL) -- , isPressed(false) -- , isMoving(false) -- , lastMouseYPos(0) -- , lastScrollBarPosition(0) -- , velocity(0) -- , ignoredMouseMoves(0) -- , ignoredMouseActions(0) {} -- -- void stopMotion() -- { -- isMoving = false; -- velocity = 0; -- kineticTimer.stop(); -- } -- -- QAbstractScrollArea* scrollArea; -- bool isPressed; -- bool isMoving; -- QPoint lastPressPoint; -- int lastMouseYPos; -- int lastScrollBarPosition; -- int velocity; -- int ignoredMouseMoves; -- int ignoredMouseActions; -- QTimer kineticTimer; --}; -- --QsKineticScroller::QsKineticScroller(QObject *parent) -- : QObject(parent) -- , d(new QsKineticScrollerImpl) --{ -- connect(&d->kineticTimer, SIGNAL(timeout()), SLOT(onKineticTimerElapsed())); --} -- --// needed by smart pointer --QsKineticScroller::~QsKineticScroller() --{ --} -- --void QsKineticScroller::enableKineticScrollFor(QAbstractScrollArea* scrollArea) --{ -- if( !scrollArea ) -- { -- Q_ASSERT_X(0, "kinetic scroller", "missing scroll area"); -- return; -- } -- -- // remove existing association -- if( d->scrollArea ) -- { -- d->scrollArea->viewport()->removeEventFilter(this); -- d->scrollArea->removeEventFilter(this); -- d->scrollArea = NULL; -- } -- -- // associate -- scrollArea->installEventFilter(this); -- scrollArea->viewport()->installEventFilter(this); -- d->scrollArea = scrollArea; --} -- --//! intercepts mouse events to make the scrolling work --bool QsKineticScroller::eventFilter(QObject* object, QEvent* event) --{ -- const QEvent::Type eventType = event->type(); -- const bool isMouseAction = QEvent::MouseButtonPress == eventType -- || QEvent::MouseButtonRelease == eventType; -- const bool isMouseEvent = isMouseAction || QEvent::MouseMove == eventType; -- if( !isMouseEvent || !d->scrollArea ) -- return false; -- if( isMouseAction && d->ignoredMouseActions-- > 0 ) // don't filter simulated click -- return false; -- -- QMouseEvent* const mouseEvent = static_cast(event); -- switch( eventType ) -- { -- case QEvent::MouseButtonPress: -- { -- d->isPressed = true; -- d->lastPressPoint = mouseEvent->pos(); -- d->lastScrollBarPosition = d->scrollArea->verticalScrollBar()->value(); -- if( d->isMoving ) // press while kinetic scrolling, so stop -- d->stopMotion(); -- } -- break; -- case QEvent::MouseMove: -- { -- if( !d->isMoving ) -- { -- // A few move events are ignored as "click jitter", but after that we -- // assume that the user is doing a click & drag -- if( d->ignoredMouseMoves < gMaxIgnoredMouseMoves ) -- ++d->ignoredMouseMoves; -- else -- { -- d->ignoredMouseMoves = 0; -- d->isMoving = true; -- d->lastMouseYPos = mouseEvent->pos().y(); -- if( !d->kineticTimer.isActive() ) -- d->kineticTimer.start(gTimerInterval); -- } -- } -- else -- { -- // manual scroll -- const int dragDistance = mouseEvent->pos().y() - d->lastPressPoint.y(); -- d->scrollArea->verticalScrollBar()->setValue( -- d->lastScrollBarPosition - dragDistance); -- } -- } -- break; -- case QEvent::MouseButtonRelease: -- { -- d->isPressed = false; -- // Looks like the user wanted a single click. Simulate the click, -- // as the events were already consumed -- if( !d->isMoving ) -- { -- QMouseEvent* mousePress = new QMouseEvent(QEvent::MouseButtonPress, -- d->lastPressPoint, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); -- QMouseEvent* mouseRelease = new QMouseEvent(QEvent::MouseButtonRelease, -- d->lastPressPoint, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); -- -- d->ignoredMouseActions = 2; -- QApplication::postEvent(object, mousePress); -- QApplication::postEvent(object, mouseRelease); -- } -- } -- break; -- default: -- break; -- } -- -- return true; // filter event --} -- --void QsKineticScroller::onKineticTimerElapsed() --{ -- if( d->isPressed && d->isMoving ) -- { -- // the speed is measured between two timer ticks -- const int cursorYPos = d->scrollArea->mapFromGlobal(QCursor::pos()).y(); -- d->velocity = cursorYPos - d->lastMouseYPos; -- d->lastMouseYPos = cursorYPos; -- } -- else if( !d->isPressed && d->isMoving ) -- { -- // use the previously recorded speed and gradually decelerate -- d->velocity = qBound(-gMaxDecelerationSpeed, d->velocity, gMaxDecelerationSpeed); -- if( d->velocity > 0 ) -- d->velocity -= gFriction; -- else if( d->velocity < 0 ) -- d->velocity += gFriction; -- if( qAbs(d->velocity) < qAbs(gFriction) ) -- d->stopMotion(); -- -- const int scrollBarYPos = d->scrollArea->verticalScrollBar()->value(); -- d->scrollArea->verticalScrollBar()->setValue(scrollBarYPos - d->velocity); -- } -- else -- d->stopMotion(); --} diff --cc QsKineticScroller.h index 41c0da7,41c0da7..0000000 deleted file mode 100644,100644 --- a/QsKineticScroller.h +++ /dev/null @@@ -1,56 -1,56 +1,0 @@@ --// Copyright (c) 2010, Razvan Petru --// All rights reserved. -- --// Redistribution and use in source and binary forms, with or without modification, --// are permitted provided that the following conditions are met: -- --// * Redistributions of source code must retain the above copyright notice, this --// list of conditions and the following disclaimer. --// * Redistributions in binary form must reproduce the above copyright notice, this --// list of conditions and the following disclaimer in the documentation and/or other --// materials provided with the distribution. --// * The name of the contributors may not be used to endorse or promote products --// derived from this software without specific prior written permission. -- --// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND --// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED --// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. --// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, --// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, --// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, --// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF --// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE --// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED --// OF THE POSSIBILITY OF SUCH DAMAGE. -- --#ifndef QSKINETICSCROLLER_H --#define QSKINETICSCROLLER_H -- --#include --#include --class QsKineticScrollerImpl; --class QAbstractScrollArea; --class QEvent; -- --//! Vertical kinetic scroller implementation without overshoot and bouncing. --//! A temporary solution to get kinetic-like scrolling on Symbian. --class QsKineticScroller: public QObject --{ -- Q_OBJECT --public: -- QsKineticScroller(QObject* parent = 0); -- ~QsKineticScroller(); -- //! enabled for one widget only, new calls remove previous association -- void enableKineticScrollFor(QAbstractScrollArea* scrollArea); -- --protected: -- bool eventFilter(QObject* object, QEvent* event); -- --private slots: -- void onKineticTimerElapsed(); -- --private: -- QScopedPointer d; --}; -- --#endif // QSKINETICSCROLLER_H diff --cc android/AndroidManifest.xml index 0b52f9e,0b52f9e..0000000 deleted file mode 100644,100644 --- a/android/AndroidManifest.xml +++ /dev/null @@@ -1,48 -1,48 +1,0 @@@ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- diff --cc jean_victor_balin_book.png index 962ad3a,962ad3a..0000000 deleted file mode 100644,100644 Binary files differ diff --cc mainwindow.cpp index 32f584a,fd81620..6919dd7 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@@ -322,10 -366,10 +366,14 @@@ void MainWindow::firstrun() conf->setValue(QString("getbuttons"), QVariant("select label,action from ui where keyword like ? order by label;")); conf->setValue(QString("editbuttons"), QVariant("select id,keyword,label,action from ui where id=?;")); conf->setValue(QString("updatebuttons"), QVariant("update ui set keyword=?, label=?, action=? where id=?;")); - conf->setValue(QString("deletebuttons"), QVariant("delete from ui where id=?")); + conf->setValue(QString("deletebutton"), QVariant("delete from ui where id=?")); conf->setValue(QString("testbuttons"), QVariant("select id,keyword from ui where label=? and action=?;")); conf->setValue(QString("volumdown"), QVariant("back")); ++<<<<<<< HEAD + conf->setValue(QString("volumup"), QVariant("Montpellier")); ++======= + conf->setValue(QString("volumup"), QVariant("begin")); ++>>>>>>> 388baafb8a2a686f467cd1605a7ba5037fb1fe0c qDebug()<<"firstrun() finished"; } QString &MainWindow::get(int row, int column){ @@@ -563,6 -605,39 +609,42 @@@ void MainWindow::readButtons(const QByt qDebug()<<"q->exec() : "<exec()<<" lastError()="<lastError(); }; ++<<<<<<< HEAD ++======= + + /*QDomDocument a("buttons"); + if (!a.setContent(in)){ + qDebug()<<"a.setcontent failed"; + return; + } + QDomElement root = a.documentElement(); + QDomNode n = root.firstChild(); + QList cmd; + while(!n.isNull()) { + QDomNode e = n.firstChild(); + //if((cmd.size()<1)&&(n.isText()))e.toText().nodeValue(); + qDebug()<<"n.nodeName()="< -- MainWindow -- -- -- -- 0 -- 0 -- 800 -- 480 -- -- -- -- MainWindow -- -- -- -- -- -- -- -- diff --cc sax2.cpp index 738676f,738676f..0000000 deleted file mode 100644,100644 --- a/sax2.cpp +++ /dev/null @@@ -1,14 -1,14 +1,0 @@@ --#include "sax2.h" -- --sax2::sax2() : -- QXmlSimpleReader() --{ -- reader.setContentHandler(&handler); -- reader.setErrorHandler(&handler); -- --} --bool sax2::parse(const QByteArray &input){ -- -- -- --} diff --cc sax2.h index f146750,f146750..0000000 deleted file mode 100644,100644 --- a/sax2.h +++ /dev/null @@@ -1,24 -1,24 +1,0 @@@ --#ifndef SAX2_H --#define SAX2_H -- --#include -- --class sax2 : public QXmlSimpleReader --{ -- Q_OBJECT -- //QByteArray data; -- QXmlSimpleReader reader; -- QXmlDefaultHandler handler; -- QXmlInputSource source; -- -- --public: -- explicit sax2(); -- bool parse(const QByteArray &input); --signals: -- --public slots: -- --}; -- --#endif // SAX2_H diff --cc ui.sql index e4beea6,e4beea6..0000000 deleted file mode 100644,100644 --- a/ui.sql +++ /dev/null @@@ -1,22 -1,22 +1,0 @@@ --INSERT INTO ui (keyword,label,action) VALUES(?,?,?); --begin$config$config --menuback$config$config --menuback$help$main help --config$max column$setint maxcolumn --config$host$settext host --config$port$setint port --config$user$settext user --config$password$settext pass --config$database$settext database --config$filesave$settext file --config$SQLsettings$settext SQLsettings --config$button$settext button --config$download$settext download --config$uploadDB$settext uploadRAW --config$uploadUi$settext uploadUi --config$start$settext start --config$DB file$settext db --config$restore DB$settext restore --config$selectraw$settext selectraw --config$menu$settext menuback --main help$action$box action can be : set #1 #2, settext #1, setint #1, setfile #1, box #, quit, # (getbuttons), clear (way clear)