summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't use QT_AUTO_SCREEN_SCALE_FACTORMorten Johan Sørvig2015-11-301-1/+2
| | | | | | | | | | | | With the addition of Qt::AA_EnableHighDpiScaling testing of the env. variable only is no longer sufficient. Use QHighDpiScaling::isActive() instead, which is available at the time loadAndroidStyle is called. Change-Id: Iaa6bbb5a04a71fa3bd68f3bdc8c8bcdfb5d1778f Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Doc: Fortune Server Example: fix typo in function nameTopi Reinio2015-11-301-1/+1
| | | | | Change-Id: Ib0a5030cc2f88cf90ba7d25c75871c439486abe3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Don't use QList<QPair>Lars Knoll2015-11-305-12/+12
| | | | | | | Change it to use a QVector instead. Change-Id: Ie1749f326ba1165db48c0eb8763eb738672c7afd Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Use natural comparison also for the file typesLars Knoll2015-11-301-1/+1
| | | | | | | | | | | | If we want to sort according to file types, we're also sorting user visible strings. For that we can also use the natural comparison collator, as file types should be case insensitive, and won't contain numbers. And even if they do a natual sorting will make it easier for the end user to find what they are looking for. Change-Id: Ie1d7d0af041a08be0f0d1a4eeb2eae9be885ffc7 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Use QCollator for sorting in the filesystem modelLars Knoll2015-11-302-160/+11
| | | | | | | | | | | | | The old code was extremely inefficient, and QCollator can provide the same functionality in a much better and faster way. Task-number: QTBUG-30902 Change-Id: Iaf5dbe587d9a6ebca26885259fdee74a29d3c84f Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Fix conversion QVariant(QColor) to QString.Jędrzej Nowacki2015-11-302-3/+16
| | | | | | | | | | | | | QVariant was using QColor::name() to convert a color to string, which by default loses alpha value. The patch is fixing the problem by always including the alpha value in the string when required. [ChangeLog][Core][Variant] QVariant(QColor)::toString() uses QColor::HexArgb format when the alpha component is different from 1. Task-number: QTBUG-37851 Change-Id: I887460c1ea151180ba99d64dd873ba9d6e2268f2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Doc: Omit default argument in describing a function callTopi Reinio2015-11-301-1/+1
| | | | | | | | | | | | | | | QKeySequence::PortableText is the default value for argument passed to QKeySequence::toString(), and it doesn't need to be mentioned specifically in description for Qt::AA_MacDontSwapCtrlAndMeta enum value. Dropping the parameter shortens the text string, allows browser to better wrap the table text, and gets rid of the automatic horizontal scrollbar in online style. This improves readability for the entire table. Change-Id: I7051f5415a7a100b8c76f23b06b6cb9a2b0699ef Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
* Doc: Update the list of highlighted examplesTopi Reinio2015-11-301-1/+6
| | | | | | | Change-Id: Id4459ca978e9f126f04224722565b97552dfa0ef Task-number: QTBUG-49458 Reviewed-by: Sami Makkonen <sami.makkonen@theqtcompany.com> Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* Doc: Add ordered list-specific stylesVenugopal Shivashankar2015-11-302-2/+27
| | | | | | | | | | These additional styles enable the use of lower and uppercase alphabets to number the list items. They are useful especially in nested ordered lists where numbering all the list items using decimal numbers could be confusing. Change-Id: If1bdf98ff37c2c191d66dfb66a3e8f20d8fa83e5 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* Enable AArch64 versions of ARGB32 NEON drawhelpersAllan Sandfeld Jensen2015-11-303-25/+99
| | | | | | | | | Fix the ARGB32 NEON-optimized drawhelpers so they also build on AArch64. The RGB16 NEON-drawhelpers are not converted as they use more assembly. Change-Id: I8b75fadf5bad74360a2ab6aec9a6bf50df80c1b9 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Doc: improvement in if condition about inserting item in listNico Vertriest2015-11-301-2/+2
| | | | | | Task-number: QTBUG-41708 Change-Id: Ibbb115a8ad81f7fba0ce162ae131d4843b19c188 Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
* Doc: added QQuickItem also uses UngrabMouseNico Vertriest2015-11-301-1/+1
| | | | | | Task-number: QTBUG-37311 Change-Id: I8beac262d92ddb16c225da65aa8a3f80da59074f Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Ignore Q_SERIALBUS_EXPORT and Q_DECL_EQ_DEFAULT in qdocAlex Blasche2015-11-301-0/+2
| | | | | Change-Id: I3ec9170aba408e8c01c7940f2537a017dbeae065 Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
* Remove a reference to Mac OS X 10.4Lars Knoll2015-11-301-2/+2
| | | | | | | It's been a while since we stopped supporting that version :) Change-Id: I2fa4900945551024ac920c36c47d20b47aee50c0 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* Document platform limitations for QCollator::ignorePunctuationLars Knoll2015-11-301-0/+2
| | | | | | | | | OS X and iOS do have a flag for this in their API, but it does not seem to work. We can't support this on Linux without ICU. Change-Id: I81613ad425cb054597f23fac112be665f8d958b6 Task-number: QTBUG-41978 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* QTextOdfWriter: Added support for hyperlinks.Ilija Ristevski2015-11-301-0/+9
| | | | | | | | | | | Hyperlink added in QTextDocument becomes "<span>" tag after exporting the document to ODF with QTextDocumentWriter. Fixed by adding "<a>" tag around it with attribute "href" pointing to hyperlink location. Task-number: QTBUG-48853 Change-Id: I2bd689a88c9d0a5b14369777718b9cb36e4cfa19 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* QDnsLookup: fix grammar in a user-visible stringMarc Mutz2015-11-281-2/+2
| | | | | Change-Id: I6bda83c750d2e2c0a2325aae259836bb96d92a11 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* QVector: prevent resize() from shedding capacityMarc Mutz2015-11-282-3/+3
| | | | | | | | | | | | | | ...even if reserve() hasn't been called before. [ChangeLog][QtCore][QVector] resize() will no longer shrink the capacity. That means resize(0) now reliably preserves capacity(). Task-number: QTBUG-39293 Done-with: Robin Burchell <robin.burchell@viroteck.net> Change-Id: Ie7e4e597126832990b6cfb83bba875c3963b143e Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Milian Wolff <milian.wolff@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNAM Fix error messageDaniel Molkentin2015-11-281-2/+2
| | | | | | | | | | The code path is called for up- and downloads, yet the error message talks about "Error downloading...". Make this "Error transferring..." for a more neutral statement. Change-Id: Ifbca6a95058042b195cdbeec339ef27a231491b2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* De-inline QFileSystemModel::fileInfo() and implement it efficientlyLars Knoll2015-11-283-3/+7
| | | | | | | | | | | | | | | De-inline the method, and return the file info that's already being cached by the model. This is ok to do in a minor release, as apps compiled against an older version of Qt will simply continue to use the less efficient implementation. Change-Id: I164c7961a8cf97447638af316512326442767dd8 Task-number: QTBUG-30902 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QtBase: combine adjacent qDebug()/qCritical() linesMarc Mutz2015-11-286-38/+34
| | | | | | | | | For qDebug() and qWarning(), this is just an optimization. For qCritical(), which can be fatal, the old code was just wrong. Change-Id: I6d8ab1d7531d766cd41b49569dc0fd4420ecab8b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QtBase: remove explicit function info from qWarning() etcMarc Mutz2015-11-2863-341/+333
| | | | | | | | | | | This information is already registered by the QMessageLogger ctor. Where, by dropping the << Q_FUNC_INFO in ostream-style qDebug(), only a string literal remained, converted to printf-style qDebug() on the go. Change-Id: I3f261c98fd7bcfa1fead381a75a82713bb75e6f3 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Windows: Open GL blacklist - Disable rotation for Intel HD Graphics 4000 / 5500.Friedemann Kleint2015-11-271-0/+12
| | | | | | | | The driver causes crashes when switching orientation in full screen mode. Task-number: QTBUG-49541 Change-Id: I8293d4b2f2981fa627654d06894a74c922304ac3 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Fix closing a QMenu by pressing Alt.Friedemann Kleint2015-11-272-1/+31
| | | | | | | | | | | | In QMenuPrivate::hideMenu(), delay clearing of 'causedPopup.widget' to after the QMenu::close() call, so that it is still accessible in QMenu::hideEvent() which calls QMenuBarPrivate::setCurrentAction(0) if the caused widget is a QMenuBar. Task-number: QTBUG-47377 Task-number: QTBUG-49592 Change-Id: Idbda48e918dae799afea84068a60d7383d7b4971 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* tst_QItemModel: Use a QTemporaryDir for test data of QDirModel.Friedemann Kleint2015-11-271-26/+17
| | | | | Change-Id: I5943c6656da93d36e1955ac038bf656831da0c5c Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* QWidget::mapTo/FromGlobal(): Avoid calling QWindow helpers until shown.Friedemann Kleint2015-11-272-2/+64
| | | | | | | | | | | The platform window geometry can be misleading until it has been properly positioned and QWindowPrivate::resizeEventPending has been cleared. Task-number: QTBUG-49588 Task-number: QTBUG-48396 Change-Id: Ie065f62478fc8522a9ad51391bb897510afa5aad Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Windows Open GL blacklist: Introduce keyword "disable_rotation".Friedemann Kleint2015-11-273-5/+21
| | | | | | | | | | | Add a flag to disable rotation to the Renderers enumeration of QWindowsOpenGLTester triggered by the keyword "disable_rotation". Specifying this keyword forces the application to landscape mode for Desktop GL. It is intended for drivers that have issues with rotation. Task-number: QTBUG-49541 Change-Id: I0f0bb7415c59e98648be09b34a59dd201d52b211 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Windows QPA: Add API for setting the application orientation preference.Friedemann Kleint2015-11-274-1/+81
| | | | | | | | | | Dynamically load the Win32 API functions for setting the rotation preference and map this to static functions taking a Qt::ScreenOrientation in QWindowsScreen. Task-number: QTBUG-49541 Change-Id: I1c81cf6274d79a023a2ee755dd7c085ffd7cc015 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Clean up tst_qlabelMarc Mutz2015-11-271-22/+6
| | | | | | | | | | | | Remove unused ctors and dtor, add Q_OBJECT, indent, privatize slots, don't check for nullptr before delete'ing a pointer, and add one override keyword. Setting test_box (a QPointer) to nullptr is already done by the variable's default ctor. Change-Id: I13f06dc8104ef1c0ac08a25c960641c076f10499 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Liang Qi2015-11-2718-134/+458
|\
| * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-11-2718-134/+458
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/socket/qnativesocketengine_p.h src/network/ssl/qsslsocket_mac.cpp src/network/ssl/qsslsocket_mac_p.h src/widgets/kernel/qwidget.cpp Change-Id: I39592cb37d710dfaf8640769ba3c1b637927d7f4
| | * Remove incorrect assertion from the backingstoreLaszlo Agocs2015-11-261-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ifdef gave an impression of the code path being hit only when texture-backed widgets are present and OpenGL-based compositing is active. This is false. Asserting on having a context current is wrong (as shown by autotests on the 5.6 branch). Change-Id: I2539f0aac75b26597f49f63edcd9580428be79b7 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| | * Fix crash in QFileDialog::iconProvider() with native dialogsJoni Poikelin2015-11-242-0/+11
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-49600 Change-Id: Ied28c0e7efa6b4dce25705dab98377848db5a6d3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| | * Remove arch/qatomic_mips.h from src/corelib/arch/arch.pri.Friedemann Kleint2015-11-241-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Amend change 110a8c339fa078a4edd09a70239280e482b149f1, fixing: WARNING: Failure to find: arch/qatomic_mips.h Task-number: QTBUG-49168 Change-Id: I7009037d3f4c51c9ed9713b6e94ee43022fe2645 Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * ANGLE/D3D11: Suppress keyboard handling of DXGI.Friedemann Kleint2015-11-232-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | Set the DXGI_MWA_NO_ALT_ENTER to suppress the Alt-Enter shortcut causing the window to become full screen. Task-number: QTBUG-44904 Change-Id: Ia4156ddee37a8a3da6e9e3130022c63a674f4429 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
| | * If the paper value is greater than DMPAPER_LAST then it is a custom sizeAndy Shaw2015-11-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ideally all printer drivers would add beyond DMPAPER_USER for their custom sizes. However some printer drivers add beyond DMPAPER_LAST instead so we need to check if the value is past DMPAPER_LAST and consider those as a custom size. Task-number: QTBUG-47272 Change-Id: I1bcb01c08fe605cc484769b0301cfcd7b8f66157 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| | * Call setFocus() if it is a QAxHostWidget which is in a new active windowAndy Shaw2015-11-231-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change 8c0f47cfae17a39137dec47aa0b9f3f9bedad introduced a problem where if the widget was being reparented had a valid HWND then it would cause the focus to change inside the already active window. Therefore we need to limit the times it does this to the case where we know it needs to be done which is the ActiveQt case. Change-Id: Ia85f5136661142b25952e0ebf66f8a43d9500d58 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
| | * Secure Transport - make it work on OS X 10.7Timur Pocheptsov2015-11-231-79/+212
| | | | | | | | | | | | | | | | | | | | | | | | SSLSetProtocolVersionMin/Max were introduced _only_ in 10.8 and we need a workaround for 10.7 - use SSLSetProtocolVersion or SSLSetProtocolVersionEnabled. Change-Id: I4b7ed9fda21e2c374a98fd777253280e8013ffde Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| | * Secure Transport backend - make it work on OS X 10.7Timur Pocheptsov2015-11-232-13/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | On OS X SSLCreateContext is quite recent - it requires OS X/SDK version >= 10.8. Since SecureTransport back-end is the default one in Qt 5.6, make it also work on OS X 10.7. Change-Id: I364feff9dd95772fcea926494b2d4edaffd2dde1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| | * Do not leak textures from the backing storesLaszlo Agocs2015-11-234-11/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Neither the default nor the eglfs-specific backingstore release the OpenGL textures that are in use when render-to-texture widgets are involved. The result can be fatal on embedded devices that run out of GPU memory at after showing and closing dialogs and popups a certain number of times. Task-number: QTBUG-49363 Task-number: QTBUG-49399 Change-Id: Ia7471b037f147bcca0a4f1db5808ca348e230547 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
| | * iOS: always flush spontaneous key press eventsRichard Moe Gustavsen2015-11-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we changed sending key events through QPA instead of directly to the focus object, we only flushed from deleteBackward (06be9f026). The reason was to avoid unnecessary flushes, as this in general can be a source to recursion problems. It turns out that this is also needed when sending Qt::Key_Return. The reason is that we sometimes resign first responder when the return key is pressed, which will also change the focus object in Qt. And without flushing the key event first, it will be processed after the change and therefore end up at the wrong object. It seems like the most sensible thing is to always flush upon receiving spontaneous key/text events from iOS, which is also how it was before. Task-number: QTBUG-49021 Change-Id: I44885a11275dee5039ef6a8abbcbdadc092695e7 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| | * OS X: Fix QStandardPaths::standardLocations()Andrew McCann2015-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-49443 Change-Id: I0699dfd3cb4c710ab96c324219444c6294c9d732 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com> Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
| | * Fix build with 'udpsocket' feature disabledAlex Trotsenko2015-11-143-23/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wrap related code in QNativeSocketEngine and the tuiotouch plugin in conditionals. Change-Id: Ic6861b1c6a9e041fa8a50f96149f7280473a9fba Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Remove duplicated header iteration codeJoerg Bornemann2015-11-271-37/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not iterate separately over all header files. This removes duplicated header iteration code which already was out of sync. As a side-effect, we do run the header check only on header files that are considered part of the module, if moduleheaders is set in sync.profile. Change-Id: Iec4c8febe9128139d2f377a1da8ce08c24110a77 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Factor header check out into a separate functionJoerg Bornemann2015-11-271-65/+70
| | | | | | | | | | | | | | | | | | | | | | | | Another step towards the removal of the duplicated loop over header files. Change-Id: I542782627d8742a515a42034264e4569a2355823 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Simplify tests whether to run header checksJoerg Bornemann2015-11-271-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | Turn lists into hashes and check for existence of an element using key lookup. This leads to simpler testing code and is potentially faster. Change-Id: Ibbf4f03ec64d6c295cc5e1664dfa73cd0ce8c272 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | winrt: Make error messages of QNativeSocketEngine more verbose.Friedemann Kleint2015-11-271-7/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Output function, object name and class of the socket. Example: qt.winrtrunner.app: handleReadyRead(): Could not read into socket stream buffer ("QTcpServer:40000"/QTcpServer). (A method was called at an unexpected time.) Change-Id: Ic074c2c3a01221bd77dae0715db912e830f21435 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | | tst_QThreadPool::tryStartCount(): Wait until tasks have finished.Friedemann Kleint2015-11-272-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace hardcoded interval by QTRY_COMPARE() ensuring that all tasks have finished, since otherwise QThreadPool::tryStart() fails in the next run. Remove blacklisting for MSVC2012 since it is not compiler-specific. Task-number: QTBUG-49654 Change-Id: If49b6eb9ef4da4ba2911839166c397d84c175e00 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | | Do not try to connect to null object if bearer plugin is missingJoni Poikelin2015-11-271-2/+4
|/ / | | | | | | | | | | | | | | Warning about connecting to null object was printed when bearer plugin is missing when bearer management feature is enabled. Change-Id: Iac33081c5f301862c066eb69ec05ff6d95775c09 Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
* | Avoid pulling in X11 headers in brcm backendLaszlo Agocs2015-11-261-0/+3
| | | | | | | | | | | | | | | | | | | | In some configurations we may end up using Mesa's EGL headers instead of the Broadcom ones. Make this work by setting the usual define to prevent including Xlib headers that then conflict with all sorts of things in QtCore. Change-Id: I4970553428e5b0e81bd76694980f3b6b194ae4c2 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>