From 072ca960f517f0cdfcb768dcbeebba2212a6c21e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Thu, 20 Jun 2019 14:50:48 +0200 Subject: styles example: Set default style up front, and react to style changes Allows running the example with -style foo or QT_STYLE_OVERRIDE. No changes to documentation needed. Change-Id: Id7cef450f13faabd118badde51afb7273439c9fc Reviewed-by: Timur Pocheptsov --- examples/widgets/widgets/styles/main.cpp | 3 +++ .../widgets/widgets/styles/norwegianwoodstyle.cpp | 1 + examples/widgets/widgets/styles/widgetgallery.cpp | 26 ++++++++++++++++++---- examples/widgets/widgets/styles/widgetgallery.h | 4 ++++ 4 files changed, 30 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/widgets/widgets/styles/main.cpp b/examples/widgets/widgets/styles/main.cpp index d340719984..471589d3ad 100644 --- a/examples/widgets/widgets/styles/main.cpp +++ b/examples/widgets/widgets/styles/main.cpp @@ -50,12 +50,15 @@ #include +#include "norwegianwoodstyle.h" #include "widgetgallery.h" int main(int argc, char *argv[]) { Q_INIT_RESOURCE(styles); + QApplication::setStyle(new NorwegianWoodStyle); + QApplication app(argc, argv); WidgetGallery gallery; gallery.show(); diff --git a/examples/widgets/widgets/styles/norwegianwoodstyle.cpp b/examples/widgets/widgets/styles/norwegianwoodstyle.cpp index 0f614a2e9a..bbdb626a18 100644 --- a/examples/widgets/widgets/styles/norwegianwoodstyle.cpp +++ b/examples/widgets/widgets/styles/norwegianwoodstyle.cpp @@ -58,6 +58,7 @@ NorwegianWoodStyle::NorwegianWoodStyle() : QProxyStyle(QStyleFactory::create("windows")) { + setObjectName("NorwegianWood"); } //! [0] diff --git a/examples/widgets/widgets/styles/widgetgallery.cpp b/examples/widgets/widgets/styles/widgetgallery.cpp index 7e1616c6c0..d70c503f53 100644 --- a/examples/widgets/widgets/styles/widgetgallery.cpp +++ b/examples/widgets/widgets/styles/widgetgallery.cpp @@ -143,6 +143,7 @@ WidgetGallery::WidgetGallery(QWidget *parent) setLayout(mainLayout); setWindowTitle(tr("Styles")); + styleChanged(); } //! [4] @@ -150,12 +151,10 @@ WidgetGallery::WidgetGallery(QWidget *parent) void WidgetGallery::changeStyle(const QString &styleName) //! [5] //! [6] { - if (styleName == "NorwegianWood") { + if (styleName == "NorwegianWood") QApplication::setStyle(new NorwegianWoodStyle); - } else { + else QApplication::setStyle(QStyleFactory::create(styleName)); - } - changePalette(); } //! [6] @@ -170,6 +169,25 @@ void WidgetGallery::changePalette() } //! [8] +void WidgetGallery::changeEvent(QEvent *event) +{ + if (event->type() == QEvent::StyleChange) + styleChanged(); +} + +void WidgetGallery::styleChanged() +{ + auto styleName = QApplication::style()->objectName(); + for (int i = 0; i < styleComboBox->count(); ++i) { + if (QString::compare(styleComboBox->itemText(i), styleName, Qt::CaseInsensitive) == 0) { + styleComboBox->setCurrentIndex(i); + break; + } + } + + changePalette(); +} + //! [9] void WidgetGallery::advanceProgressBar() //! [9] //! [10] diff --git a/examples/widgets/widgets/styles/widgetgallery.h b/examples/widgets/widgets/styles/widgetgallery.h index 9ee65c21c4..4deee6839a 100644 --- a/examples/widgets/widgets/styles/widgetgallery.h +++ b/examples/widgets/widgets/styles/widgetgallery.h @@ -80,8 +80,12 @@ class WidgetGallery : public QDialog public: WidgetGallery(QWidget *parent = nullptr); +protected: + void changeEvent(QEvent *) override; + private slots: void changeStyle(const QString &styleName); + void styleChanged(); void changePalette(); void advanceProgressBar(); -- cgit v1.2.3 From d6266c757d2f2ea4ff1e71dc8545f9bf97aa3bb1 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 6 Dec 2019 13:19:37 +0100 Subject: Replace usages of QVariant::value by qvariant_cast This is done automatically with a clazy check Change-Id: I3b59511d3d36d416c8eda74858ead611d327b116 Reviewed-by: Lars Knoll --- examples/corelib/mimetypes/mimetypebrowser/mimetypemodel.cpp | 4 ++-- examples/corelib/serialization/convert/cborconverter.cpp | 2 +- examples/corelib/serialization/convert/datastreamconverter.cpp | 2 +- examples/corelib/serialization/convert/xmlconverter.cpp | 6 +++--- examples/corelib/tools/customtype/main.cpp | 2 +- .../widgets/tools/regularexpression/regularexpressiondialog.cpp | 2 +- examples/widgets/widgets/charactermap/mainwindow.cpp | 2 +- examples/widgets/widgets/tablet/mainwindow.cpp | 6 +++--- examples/widgets/widgets/validators/localeselector.cpp | 2 +- examples/xml/dombookmarks/xbeltree.cpp | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) (limited to 'examples') diff --git a/examples/corelib/mimetypes/mimetypebrowser/mimetypemodel.cpp b/examples/corelib/mimetypes/mimetypebrowser/mimetypemodel.cpp index f755e060c6..64732ba980 100644 --- a/examples/corelib/mimetypes/mimetypebrowser/mimetypemodel.cpp +++ b/examples/corelib/mimetypes/mimetypebrowser/mimetypemodel.cpp @@ -95,7 +95,7 @@ QVariant MimetypeModel::data(const QModelIndex &index, int role) const if (role != Qt::DecorationRole || !index.isValid() || index.data(iconQueriedRole).toBool()) return QStandardItemModel::data(index, role); QStandardItem *item = itemFromIndex(index); - const QString iconName = item->data(mimeTypeRole).value().iconName(); + const QString iconName = qvariant_cast(item->data(mimeTypeRole)).iconName(); if (!iconName.isEmpty()) item->setIcon(QIcon::fromTheme(iconName)); item->setData(QVariant(true), iconQueriedRole); @@ -104,7 +104,7 @@ QVariant MimetypeModel::data(const QModelIndex &index, int role) const QMimeType MimetypeModel::mimeType(const QModelIndex &index) const { - return index.data(mimeTypeRole).value(); + return qvariant_cast(index.data(mimeTypeRole)); } void MimetypeModel::populate() diff --git a/examples/corelib/serialization/convert/cborconverter.cpp b/examples/corelib/serialization/convert/cborconverter.cpp index f907bb0af6..60410ed26a 100644 --- a/examples/corelib/serialization/convert/cborconverter.cpp +++ b/examples/corelib/serialization/convert/cborconverter.cpp @@ -144,7 +144,7 @@ static QCborValue convertFromVariant(const QVariant &v, TrimFloatingPoint fpTrim } if (v.userType() == qMetaTypeId()) { - const auto m = v.value(); + const auto m = qvariant_cast(v); QCborMap map; for (const auto &pair : m) map.insert(convertFromVariant(pair.first, fpTrimming), diff --git a/examples/corelib/serialization/convert/datastreamconverter.cpp b/examples/corelib/serialization/convert/datastreamconverter.cpp index 7cdb844141..7e9f5e1bdc 100644 --- a/examples/corelib/serialization/convert/datastreamconverter.cpp +++ b/examples/corelib/serialization/convert/datastreamconverter.cpp @@ -98,7 +98,7 @@ static QString dumpVariant(const QVariant &v, const QString &indent = QLatin1Str int type = v.userType(); if (type == qMetaTypeId() || type == QVariant::Map) { const auto map = (type == QVariant::Map) ? - VariantOrderedMap(v.toMap()) : v.value(); + VariantOrderedMap(v.toMap()) : qvariant_cast(v); result = QLatin1String("Map {"); for (const auto &pair : map) { diff --git a/examples/corelib/serialization/convert/xmlconverter.cpp b/examples/corelib/serialization/convert/xmlconverter.cpp index e62801bf76..d9e724dfe1 100644 --- a/examples/corelib/serialization/convert/xmlconverter.cpp +++ b/examples/corelib/serialization/convert/xmlconverter.cpp @@ -336,7 +336,7 @@ static void variantToXml(QXmlStreamWriter &xml, const QVariant &v) } else if (type == QVariant::Map || type == qMetaTypeId()) { const VariantOrderedMap map = (type == QVariant::Map) ? VariantOrderedMap(v.toMap()) : - v.value(); + qvariant_cast(v); xml.writeStartElement("map"); for (const auto &pair : map) { @@ -425,10 +425,10 @@ static void variantToXml(QXmlStreamWriter &xml, const QVariant &v) default: if (type == qMetaTypeId()) { xml.writeAttribute(typeString, "number"); - xml.writeCharacters(QString::number(float(v.value()))); + xml.writeCharacters(QString::number(float(qvariant_cast(v)))); } else if (type == qMetaTypeId()) { xml.writeAttribute(typeString, "CBOR simple type"); - xml.writeCharacters(QString::number(int(v.value()))); + xml.writeCharacters(QString::number(int(qvariant_cast(v)))); } else { // does this convert to string? const char *typeName = v.typeName(); diff --git a/examples/corelib/tools/customtype/main.cpp b/examples/corelib/tools/customtype/main.cpp index d50bf9efea..af8e233a19 100644 --- a/examples/corelib/tools/customtype/main.cpp +++ b/examples/corelib/tools/customtype/main.cpp @@ -74,7 +74,7 @@ int main(int argc, char *argv[]) qDebug() << "Stored:" << stored; //! [retrieving a custom value] - Message retrieved = stored.value(); + Message retrieved = qvariant_cast(stored); qDebug() << "Retrieved:" << retrieved; retrieved = qvariant_cast(stored); qDebug() << "Retrieved:" << retrieved; diff --git a/examples/widgets/tools/regularexpression/regularexpressiondialog.cpp b/examples/widgets/tools/regularexpression/regularexpressiondialog.cpp index ea3cb00a02..6398098eee 100644 --- a/examples/widgets/tools/regularexpression/regularexpressiondialog.cpp +++ b/examples/widgets/tools/regularexpression/regularexpressiondialog.cpp @@ -286,7 +286,7 @@ void RegularExpressionDialog::refresh() setResultUiEnabled(true); - QRegularExpression::MatchType matchType = matchTypeComboBox->currentData().value(); + QRegularExpression::MatchType matchType = qvariant_cast(matchTypeComboBox->currentData()); QRegularExpression::PatternOptions patternOptions = QRegularExpression::NoPatternOption; QRegularExpression::MatchOptions matchOptions = QRegularExpression::NoMatchOption; diff --git a/examples/widgets/widgets/charactermap/mainwindow.cpp b/examples/widgets/widgets/charactermap/mainwindow.cpp index b0f9705c21..702b50156b 100644 --- a/examples/widgets/widgets/charactermap/mainwindow.cpp +++ b/examples/widgets/widgets/charactermap/mainwindow.cpp @@ -201,7 +201,7 @@ void MainWindow::findStyles(const QFont &font) void MainWindow::filterChanged(int f) { const QFontComboBox::FontFilter filter = - filterCombo->itemData(f).value(); + qvariant_cast(filterCombo->itemData(f)); fontCombo->setFontFilters(filter); statusBar()->showMessage(tr("%n font(s) found", nullptr, fontCombo->count())); } diff --git a/examples/widgets/widgets/tablet/mainwindow.cpp b/examples/widgets/widgets/tablet/mainwindow.cpp index 8bcb9ada63..c5b631ee44 100644 --- a/examples/widgets/widgets/tablet/mainwindow.cpp +++ b/examples/widgets/widgets/tablet/mainwindow.cpp @@ -85,21 +85,21 @@ void MainWindow::setBrushColor() //! [2] void MainWindow::setAlphaValuator(QAction *action) { - m_canvas->setAlphaChannelValuator(action->data().value()); + m_canvas->setAlphaChannelValuator(qvariant_cast(action->data())); } //! [2] //! [3] void MainWindow::setLineWidthValuator(QAction *action) { - m_canvas->setLineWidthType(action->data().value()); + m_canvas->setLineWidthType(qvariant_cast(action->data())); } //! [3] //! [4] void MainWindow::setSaturationValuator(QAction *action) { - m_canvas->setColorSaturationValuator(action->data().value()); + m_canvas->setColorSaturationValuator(qvariant_cast(action->data())); } //! [4] diff --git a/examples/widgets/widgets/validators/localeselector.cpp b/examples/widgets/widgets/validators/localeselector.cpp index 1382da0cc9..3dcd04d9ff 100644 --- a/examples/widgets/widgets/validators/localeselector.cpp +++ b/examples/widgets/widgets/validators/localeselector.cpp @@ -90,6 +90,6 @@ void LocaleSelector::emitLocaleSelected(int index) QVariant v = itemData(index); if (!v.isValid()) return; - const QLocale l = v.value(); + const QLocale l = qvariant_cast(v); emit localeSelected(l); } diff --git a/examples/xml/dombookmarks/xbeltree.cpp b/examples/xml/dombookmarks/xbeltree.cpp index d90cdc03b4..76ea5fb2bb 100644 --- a/examples/xml/dombookmarks/xbeltree.cpp +++ b/examples/xml/dombookmarks/xbeltree.cpp @@ -153,7 +153,7 @@ bool XbelTree::write(QIODevice *device) const void XbelTree::updateDomElement(const QTreeWidgetItem *item, int column) { - QDomElement element = item->data(0, DomElementRole).value(); + QDomElement element = qvariant_cast(item->data(0, DomElementRole)); if (!element.isNull()) { if (column == 0) { QDomElement oldTitleElement = element.firstChildElement(titleElement()); -- cgit v1.2.3 From 71477104eb0be31452664e22927beb909465ffcd Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 2 Jan 2020 12:31:27 +0100 Subject: Fix some qdoc warnings src/corelib/serialization/qjsonvalue.cpp:174: (qdoc) warning: No such parameter 'n' in QJsonValue::QJsonValue() ... examples/widgets/doc/src/icons.qdoc:584: (qdoc) warning: Command '\snippet (//! [24])' failed at end of file 'widgets/icons/mainwindow.cpp' src/corelib/text/qbytearray.cpp:5177: (qdoc) warning: clang found diagnostics parsing \fn QByteArray::FromBase64Result::operator QByteArray() const error: out-of-line definition of 'operator QByteArray' does not match any declaration in 'QByteArray::FromBase64Result' src/corelib/serialization/qjsonarray.cpp:178: (qdoc) warning: Overrides a previous doc src/corelib/serialization/qjsonarray.cpp:140: (qdoc) warning: (The previous doc is here) src/corelib/serialization/qjsonobject.cpp:1016: (qdoc) warning: clang found diagnostics parsing \fn QJsonValueRef QJsonObject::iterator::operator[](int j) const error: out-of-line definition of 'operator[]' does not match any declaration in 'QJsonObject::iterator' src/corelib/serialization/qjsonobject.cpp:1267: (qdoc) warning: clang found diagnostics parsing \fn QJsonValue QJsonObject::const_iterator::operator[](int j) const error: out-of-line definition of 'operator[]' does not match any declaration in 'QJsonObject::const_iterator' src/corelib/tools/qhash.cpp:2641: (qdoc) warning: Overrides a previous doc src/corelib/tools/qhash.cpp:1492: (qdoc) warning: (The previous doc is here) src/corelib/tools/qhash.cpp:2659: (qdoc) warning: Can't link to 'unit()' src/corelib/text/qchar.cpp:274: (qdoc) warning: Undocumented enum item 'Script_Sundanese' in QChar::Script src/corelib/text/qchar.cpp:274: (qdoc) warning: No such enum item 'Script_Sundaneseo' in QChar::Script src/network/ssl/qsslsocket.cpp:1514: (qdoc) warning: Can't link to 'QSslConfiguration::addDefaultCaCertificate()' src/widgets/widgets/qtabwidget.cpp:581: (qdoc) warning: Undocumented parameter 'visible' in QTabWidget::setTabVisible() Change-Id: I05c2a4884873850b684fa94036cd90db1a6e7726 Reviewed-by: Lars Knoll --- examples/widgets/widgets/icons/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/widgets/widgets/icons/mainwindow.cpp b/examples/widgets/widgets/icons/mainwindow.cpp index 8e61260041..4f990f7320 100644 --- a/examples/widgets/widgets/icons/mainwindow.cpp +++ b/examples/widgets/widgets/icons/mainwindow.cpp @@ -361,7 +361,7 @@ QWidget *MainWindow::createImagesGroupBox() QVBoxLayout *layout = new QVBoxLayout(imagesGroupBox); layout->addWidget(imagesTable); return imagesGroupBox; -//! [25] +//! [24] } //! [26] -- cgit v1.2.3