diff options
Diffstat (limited to 'src/corelib/doc/snippets')
11 files changed, 283 insertions, 37 deletions
diff --git a/src/corelib/doc/snippets/code/src_corelib_global_qglobal.cpp b/src/corelib/doc/snippets/code/src_corelib_global_qglobal.cpp index b907c9acb1..d804514584 100644 --- a/src/corelib/doc/snippets/code/src_corelib_global_qglobal.cpp +++ b/src/corelib/doc/snippets/code/src_corelib_global_qglobal.cpp @@ -136,9 +136,9 @@ int roundedValueB = qRound(valueB); qreal valueA = 42949672960.3; qreal valueB = 42949672960.7; -int roundedValueA = qRound(valueA); +qint64 roundedValueA = qRound64(valueA); // roundedValueA = 42949672960 -int roundedValueB = qRound(valueB); +qint64 roundedValueB = qRound64(valueB); // roundedValueB = 42949672961 //! [12] @@ -305,7 +305,7 @@ void load(const QString &fileName) { QFile file(fileName); if (!file.exists()) - qCritical("File '%s' does not exist!", qPrintable(fileName)); + qCritical("File '%s' does not exist!", qUtf8Printable(fileName)); } //! [28] @@ -424,7 +424,7 @@ void TheClass::addLabels() //! [37] -qWarning("%s: %s", qPrintable(key), qPrintable(value)); +qWarning("%s: %s", qUtf8Printable(key), qUtf8Printable(value)); //! [37] diff --git a/src/corelib/doc/snippets/code/src_corelib_io_qstorageinfo.cpp b/src/corelib/doc/snippets/code/src_corelib_io_qstorageinfo.cpp new file mode 100644 index 0000000000..bba3703325 --- /dev/null +++ b/src/corelib/doc/snippets/code/src_corelib_io_qstorageinfo.cpp @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Ivan Komissarov +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QtCore module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** 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 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//! [0] + QStorageInfo storage(qApp->applicationDirPath()); + if (storage.isValid() && storage.isReady()) { + // ... + } +//! [0] + +//! [1] + foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes()) { + if (storage.isValid() && storage.isReady()) { + if (!storage.isReadOnly()) { + // ... + } + } + } +//! [1] + +//! [2] + QStorageInfo storage = QStorageInfo::root(); + + qDebug() << storage.rootPath(); + if (storage.isReadOnly()) + qDebug() << "isReadOnly:" << storage.isReadOnly(); + + qDebug() << "name:" << storage.name(); + qDebug() << "fileSystemType:" << storage.fileSystemType(); + qDebug() << "size:" << storage.bytesTotal()/1000/1000 << "MB"; + qDebug() << "availableSize:" << storage.bytesAvailable()/1000/1000 << "MB"; +//! [2] diff --git a/src/corelib/doc/snippets/code/src_corelib_tools_qcommandlineoption.cpp b/src/corelib/doc/snippets/code/src_corelib_tools_qcommandlineoption.cpp index 67d5f41b38..6d6d7fe2ed 100644 --- a/src/corelib/doc/snippets/code/src_corelib_tools_qcommandlineoption.cpp +++ b/src/corelib/doc/snippets/code/src_corelib_tools_qcommandlineoption.cpp @@ -39,6 +39,7 @@ ****************************************************************************/ #include <QCommandLineOption> +#include <QCommandLineParser> int main() { @@ -48,4 +49,14 @@ QCommandLineOption verboseOption("verbose", "Verbose mode. Prints out more infor QCommandLineOption outputOption(QStringList() << "o" << "output", "Write generated data into <file>.", "file"); //! [0] +//! [cxx11-init] +QCommandLineParser parser; +parser.addOption({"verbose", "Verbose mode. Prints out more information."}); +//! [cxx11-init] + +//! [cxx11-init-list] +QCommandLineParser parser; +parser.addOption({{"o", "output"}, "Write generated data into <file>.", "file"}); +//! [cxx11-init-list] + } diff --git a/src/corelib/doc/snippets/code/src_corelib_tools_qcommandlineparser_main.cpp b/src/corelib/doc/snippets/code/src_corelib_tools_qcommandlineparser_main.cpp index 257a138d0d..26bc43f194 100644 --- a/src/corelib/doc/snippets/code/src_corelib_tools_qcommandlineparser_main.cpp +++ b/src/corelib/doc/snippets/code/src_corelib_tools_qcommandlineparser_main.cpp @@ -82,3 +82,20 @@ int main(int argc, char *argv[]) } //! [0] + +void f() { +//! [cxx11] + parser.addOptions({ + // A boolean option with a single name (-p) + {"p", + QCoreApplication::translate("main", "Show progress during copy")}, + // A boolean option with multiple names (-f, --force) + {{"f", "force"}, + QCoreApplication::translate("main", "Overwrite existing files.")}, + // An option with a value + {{"t", "target-directory"}, + QCoreApplication::translate("main", "Copy all source files into <directory>."), + QCoreApplication::translate("main", "directory")}, + }); +//! [cxx11] +} diff --git a/src/corelib/doc/snippets/code/src_corelib_tools_qhash.cpp b/src/corelib/doc/snippets/code/src_corelib_tools_qhash.cpp index 8c21083976..aa0473964c 100644 --- a/src/corelib/doc/snippets/code/src_corelib_tools_qhash.cpp +++ b/src/corelib/doc/snippets/code/src_corelib_tools_qhash.cpp @@ -297,3 +297,13 @@ while (i != hash.end() && i.key() == "plenty") { ++i; } //! [26] + +//! [qhashbits] +inline uint qHash(const std::vector<int> &key, uint seed = 0) +{ + if (key.empty()) + return seed; + else + return qHashBits(&key.front(), key.size() * sizeof(int), seed); +} +//! [qhashbits] diff --git a/src/corelib/doc/snippets/qbytearraylist/main.cpp b/src/corelib/doc/snippets/qbytearraylist/main.cpp new file mode 100644 index 0000000000..be462dea60 --- /dev/null +++ b/src/corelib/doc/snippets/qbytearraylist/main.cpp @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) 2014 by Southwest Research Institute (R) +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QtCore module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** 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, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QByteArrayList> + +int main(int, char **) +{ + QByteArray ba1, ba2, ba3; +//! [0] + QByteArrayList longerList = (QByteArrayList() << ba1 << ba2 << ba3); +//! [0] +} diff --git a/src/corelib/doc/snippets/qbytearraylist/qbytearraylist.pro b/src/corelib/doc/snippets/qbytearraylist/qbytearraylist.pro new file mode 100644 index 0000000000..87397b491d --- /dev/null +++ b/src/corelib/doc/snippets/qbytearraylist/qbytearraylist.pro @@ -0,0 +1,2 @@ +QT = core +SOURCES = main.cpp diff --git a/src/corelib/doc/snippets/qloggingcategory/main.cpp b/src/corelib/doc/snippets/qloggingcategory/main.cpp index 628243dbdd..3c6424921e 100644 --- a/src/corelib/doc/snippets/qloggingcategory/main.cpp +++ b/src/corelib/doc/snippets/qloggingcategory/main.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the examples of the Qt Toolkit. @@ -43,12 +43,15 @@ //![1] // in a header -Q_DECLARE_LOGGING_CATEGORY(QT_DRIVER_USB) +Q_DECLARE_LOGGING_CATEGORY(driverUsb) // in one source file -Q_LOGGING_CATEGORY(QT_DRIVER_USB, "qt.driver.usb") +Q_LOGGING_CATEGORY(driverUsb, "driver.usb") //![1] +//![5] +Q_LOGGING_CATEGORY(driverUsbEvents, "driver.usb.events", QtWarningMsg) +//![5] // Completely made up example, inspired by en.wikipedia.org/wiki/USB :) struct UsbEntry { @@ -76,8 +79,8 @@ QLoggingCategory::CategoryFilter oldCategoryFilter; void myCategoryFilter(QLoggingCategory *category) { - // configure qt.driver.usb category here, otherwise forward to to default filter. - if (qstrcmp(category->categoryName(), "qt.driver.usb") == 0) + // configure driver.usb category here, otherwise forward to to default filter. + if (qstrcmp(category->categoryName(), "driver.usb") == 0) category->setEnabled(QtDebugMsg, true); else oldCategoryFilter(category); @@ -89,7 +92,7 @@ int main(int argc, char *argv[]) QCoreApplication a(argc, argv); //![2] - QLoggingCategory::setFilterRules(QStringLiteral("qt.driver.usb.debug=true")); + QLoggingCategory::setFilterRules(QStringLiteral("driver.usb.debug=true")); //![2] //![22] @@ -103,48 +106,48 @@ oldCategoryFilter = QLoggingCategory::installFilter(myCategoryFilter); //![3] //![4] - // usbEntries() will only be called if QT_DRIVER_USB category is enabled - qCDebug(QT_DRIVER_USB) << "devices: " << usbEntries(); + // usbEntries() will only be called if driverUsb category is enabled + qCDebug(driverUsb) << "devices: " << usbEntries(); //![4] { //![10] - QLoggingCategory category("qt.driver.usb"); + QLoggingCategory category("driver.usb"); qCDebug(category) << "a debug message"; //![10] } { //![11] - QLoggingCategory category("qt.driver.usb"); + QLoggingCategory category("driver.usb"); qCWarning(category) << "a warning message"; //![11] } { //![12] - QLoggingCategory category("qt.driver.usb"); + QLoggingCategory category("driver.usb"); qCCritical(category) << "a critical message"; //![12] } { //![13] - QLoggingCategory category("qt.driver.usb"); + QLoggingCategory category("driver.usb"); qCDebug(category, "a debug message logged into category %s", category.categoryName()); //![13] } { //![14] - QLoggingCategory category("qt.driver.usb"); + QLoggingCategory category("driver.usb"); qCWarning(category, "a warning message logged into category %s", category.categoryName()); //![14] } { //![15] - QLoggingCategory category("qt.driver.usb"); + QLoggingCategory category("driver.usb"); qCCritical(category, "a critical message logged into category %s", category.categoryName()); //![15] } diff --git a/src/corelib/doc/snippets/qprocess-environment/main.cpp b/src/corelib/doc/snippets/qprocess-environment/main.cpp index d858746889..2e078eea6d 100644 --- a/src/corelib/doc/snippets/qprocess-environment/main.cpp +++ b/src/corelib/doc/snippets/qprocess-environment/main.cpp @@ -47,7 +47,6 @@ void startProcess() QProcess process; QStringList env = QProcess::systemEnvironment(); env << "TMPDIR=C:\\MyApp\\temp"; // Add an environment variable -env.replaceInStrings(QRegExp("^PATH=(.*)", Qt::CaseInsensitive), "PATH=\\1;C:\\Bin"); process.setEnvironment(env); process.start("myapp"); //! [0] @@ -58,7 +57,6 @@ process.start("myapp"); QProcess process; QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); env.insert("TMPDIR", "C:\\MyApp\\temp"); // Add an environment variable -env.insert("PATH", env.value("Path") + ";C:\\Bin"); process.setProcessEnvironment(env); process.start("myapp"); //! [1] diff --git a/src/corelib/doc/snippets/qversionnumber/main.cpp b/src/corelib/doc/snippets/qversionnumber/main.cpp new file mode 100644 index 0000000000..ba72a52816 --- /dev/null +++ b/src/corelib/doc/snippets/qversionnumber/main.cpp @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Keith Gardner <kreios4004@gmail.com> +** Contact: http://www.qt-project.org/legal +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "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. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may 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 +** OWNER 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." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QVersionNumber> + +class Object +{ +public: + static void genericExample(); + static void equalityExample(); + static void isPrefixOf(); + static void parse(); + static void equivalent(); +}; + +void Object::genericExample() +{ + //! [0] + QVersionNumber version(1, 2, 3); // 1.2.3 + //! [0] +} + +void Object::equalityExample() +{ + //! [1] + QVersionNumber v1(1, 2); + QVersionNumber v2(1, 2, 0); + int compare = QVersionNumber::compare(v1, v2); // compare == -1 + //! [1] +} + +void Object::isPrefixOf() +{ + //! [2] + QVersionNumber v1(5, 3); + QVersionNumber v2(5, 3, 1); + bool value = v1.isPrefixOf(v2); // true + //! [2] +} + +void QObject::parse() +{ + //! [3] + QString string("5.4.0-alpha"); + int suffixIndex; + QVersionNumber version = QVersionNumber::fromString(string, &suffixIndex); + // version is 5.4.0 + // suffixIndex is 5 + //! [3] +} + +void Object::equivalent() +{ + //! [4] + QVersionNumber v1(5, 4); + QVersionNumber v2(5, 4, 0); + bool equivalent = v1.normalized() == v2.normalized(); + bool equal = v1 == v2; + // equivalent is true + // equal is false + //! [4] +} + +int main() +{ + Object::genericExample(); + Object::equalityExample(); + Object::isPrefixOf(); + Object::parse(); + Object::equivalent(); +} diff --git a/src/corelib/doc/snippets/signalsandslots/signalsandslots.cpp b/src/corelib/doc/snippets/signalsandslots/signalsandslots.cpp index 91cd3de9d2..357269bac0 100644 --- a/src/corelib/doc/snippets/signalsandslots/signalsandslots.cpp +++ b/src/corelib/doc/snippets/signalsandslots/signalsandslots.cpp @@ -38,8 +38,6 @@ ** ****************************************************************************/ -#include <QAbstractButton> - #include "signalsandslots.h" //! [0] @@ -66,19 +64,4 @@ int main() //! [3] //! [4] b.setValue(48); // a.value() == 12, b.value() == 48 //! [4] - - - QWidget *widget = reinterpret_cast<QWidget *>(new QObject(0)); -//! [5] - if (widget->inherits("QAbstractButton")) { - QAbstractButton *button = static_cast<QAbstractButton *>(widget); - button->toggle(); -//! [5] //! [6] - } -//! [6] - -//! [7] - if (QAbstractButton *button = qobject_cast<QAbstractButton *>(widget)) - button->toggle(); -//! [7] } |