diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-03-17 17:31:53 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-03-17 17:31:53 (GMT) |
commit | 48d3561b69adfc59b7b413dfc6f0857a8560b815 (patch) | |
tree | 3ad12dda36eb311b6209a228eca66c5892b41746 /doc/src/snippets | |
parent | 4c1f54097a1fb1acff817ba8caa8af347ae56cd2 (diff) | |
parent | d6ab68fbd22b2d057b0e32e1bfc73a5e7dc9327d (diff) | |
download | Qt-48d3561b69adfc59b7b413dfc6f0857a8560b815.zip Qt-48d3561b69adfc59b7b413dfc6f0857a8560b815.tar.gz Qt-48d3561b69adfc59b7b413dfc6f0857a8560b815.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (38 commits)
Force qt-zlib to be used for host system when cross compiling.
qmake: fix to create proper install target in Makefile at first run
compile fix for Windows
Fixed focus handling when Qt is embedded into Cocoa app.
Do not beep on Mac when pressing some keys.
Do not deliver the same key event multiple times in Cocoa.
Implement Idle-priority threads for Linux.
Improved qt_x11_wait_for_window_manager
Doc: document QElapsedTimer
Added missing "const" for mac.
qdoc3: Fixed some ifdef typos and removed some whitespace.
Manual test for QTBUG-8933.
Cocoa: minisplitter has only 1px wide grab area
"Strictly" Fullscreen Application in Mac OS
Bugfix the Symbian implementation
Add QDateTime::currentDateTimeUtc and QDateTime::currentMsecsSinceEpoch
remove, fixup
Change the 32-bit rollover on Windows and Symbian to be more efficient.
Add a couple of extra functions to QElapsedTimer
Autotest: Rename the test to match the new class name
...
Diffstat (limited to 'doc/src/snippets')
-rw-r--r-- | doc/src/snippets/qelapsedtimer/main.cpp | 112 | ||||
-rw-r--r-- | doc/src/snippets/qelapsedtimer/qelapsedtimer.pro | 2 |
2 files changed, 114 insertions, 0 deletions
diff --git a/doc/src/snippets/qelapsedtimer/main.cpp b/doc/src/snippets/qelapsedtimer/main.cpp new file mode 100644 index 0000000..9d0421f --- /dev/null +++ b/doc/src/snippets/qelapsedtimer/main.cpp @@ -0,0 +1,112 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtNetwork module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <QtCore> + +void slowOperation1() +{ + static char buf[256]; + for (int i = 0; i < (1<<20); ++i) + buf[i % sizeof buf] = i; +} + +void slowOperation2(int) { slowOperation1(); } + +void startExample() +{ +//![0] + QElapsedTimer timer; + timer.start(); + + slowOperation1(); + + qDebug() << "The slow operation took" << timer.elapsed() << "milliseconds"; +//![0] +} + +//![1] +void executeSlowOperations(int timeout) +{ + QElapsedTimer timer; + timer.start(); + slowOperation1(); + + int remainingTime = timeout - timer.elapsed(); + if (remainingTime > 0) + slowOperation2(remainingTime); +} +//![1] + +//![2] +void executeOperationsForTime(int ms) +{ + QElapsedTimer timer; + timer.start(); + + while (!timer.hasExpired(ms)) + slowOperation1(); +} +//![2] + +int restartExample() +{ +//![3] + QElapsedTimer timer; + + int count = 1; + timer.start(); + do { + count *= 2; + slowOperation2(count); + } while (timer.restart() < 250); + + return count; +//![3] +} + +int main(int argc, char **argv) +{ + QCoreApplication app(argc, argv); + + startExample(); + restartExample(); + executeSlowOperations(5); + executeOperationsForTime(5); +} diff --git a/doc/src/snippets/qelapsedtimer/qelapsedtimer.pro b/doc/src/snippets/qelapsedtimer/qelapsedtimer.pro new file mode 100644 index 0000000..b0a8f66 --- /dev/null +++ b/doc/src/snippets/qelapsedtimer/qelapsedtimer.pro @@ -0,0 +1,2 @@ +SOURCES = main.cpp +QT -= gui |