Merge remote-tracking branch 'origin/5.11' into dev

Conflicts:
	src/plugins/platforms/cocoa/qnsview.mm
	src/plugins/platforms/cocoa/qnsview_dragging.mm
	src/plugins/platforms/ios/qiosinputcontext.mm
	src/plugins/platforms/xcb/qxcbconnection.cpp
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/plugins/platforms/xcb/qxcbwindow.cpp
	src/tools/androiddeployqt/main.cpp
		Was moved from qttools into qtbase in 5.11.
		So re-apply 32398e4d here.
	tests/auto/corelib/global/qlogging/test/test.pro
	tests/auto/corelib/global/qlogging/tst_qlogging.cpp
	tests/auto/corelib/io/qfile/tst_qfile.cpp
	tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
	tests/auto/corelib/thread/qthreadstorage/test/test.pro
	tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
	tests/auto/widgets/kernel/qapplication/test/test.pro

Done-with: Gatis Paeglis <gatis.paeglis@qt.io>
Done-with: Mårten Nordheim <marten.nordheim@qt.io>
Done-with: Oliver Wolff <oliver.wolff@qt.io>
Change-Id: Id970486c5315a1718c540f00deb2633533e8fc7b
This commit is contained in:
Liang Qi 2018-06-30 22:59:21 +02:00
commit e3ed2281c0
255 changed files with 6533 additions and 2226 deletions

View File

@ -1,626 +0,0 @@
TECHNOLOGY PREVIEW LICENSE AGREEMENT
For individuals and/or legal entities resident in the Americas (North
America, Central America and South America), the applicable licensing
terms are specified under the heading "Technology Preview License
Agreement: The Americas".
For individuals and/or legal entities not resident in The Americas, the
applicable licensing terms are specified under the heading "Technology
Preview License Agreement: Rest of the World".
TECHNOLOGY PREVIEW LICENSE AGREEMENT: The Americas
Agreement version 2.4
This Technology Preview License Agreement ("Agreement")is a legal agreement
between The Qt Company USA, Inc. ("The Qt Company"), with its registered
office at 2350 Mission College Blvd., Suite 1020, Santa Clara, California
95054, U.S.A. and you (either an individual or a legal entity) ("Licensee")
for the Licensed Software (as defined below).
1. DEFINITIONS
"Affiliate" of a Party shall mean an entity (i) which is directly or
indirectly controlling such Party; (ii) which is under the same direct
or indirect ownership or control as such Party; or (iii) which is
directly or indirectly owned or controlled by such Party. For these
purposes, an entity shall be treated as being controlled by another if
that other entity has fifty percent (50 %) or more of the votes in such
entity, is able to direct its affairs and/or to control the composition
of its board of directors or equivalent body.
"Applications" shall mean Licensee's software products created using the
Licensed Software which may include portions of the Licensed Software.
"Term" shall mean the period of time six (6) months from the later of
(a) the Effective Date; or (b) the date the Licensed Software was
initially delivered to Licensee by The Qt Company. If no specific Effective
Date is set forth in the Agreement, the Effective Date shall be deemed to be
the date the Licensed Software was initially delivered to Licensee.
"Licensed Software" shall mean the computer software, "online" or
electronic documentation, associated media and printed materials,
including the source code, example programs and the documentation
delivered by The Qt Company to Licensee in conjunction with this Agreement.
"Party" or "Parties" shall mean Licensee and/or The Qt Company.
2. OWNERSHIP
The Licensed Software is protected by copyright laws and international
copyright treaties, as well as other intellectual property laws and
treaties. The Licensed Software is licensed, not sold.
If Licensee provides any findings, proposals, suggestions or other
feedback ("Feedback") to The Qt Company regarding the Licensed Software,
The Qt Company shall own all right, title and interest including the
intellectual property rights in and to such Feedback, excluding however any
existing patent rights of Licensee. To the extent Licensee owns or controls
any patents for such Feedback Licensee hereby grants to The Qt Company and its
Affiliates, a worldwide, perpetual, non-transferable, sublicensable,
royalty-free license to (i) use, copy and modify Feedback and to create
derivative works thereof, (ii) to make (and have made), use, import,
sell, offer for sale, lease, dispose, offer for disposal or otherwise
exploit any products or services of The Qt Company containing Feedback, and
(iii) sublicense all the foregoing rights to third party licensees and
customers of The Qt Company and/or its Affiliates.
3. VALIDITY OF THE AGREEMENT
By installing, copying, or otherwise using the Licensed Software,
Licensee agrees to be bound by the terms of this Agreement. If Licensee
does not agree to the terms of this Agreement, Licensee may not install,
copy, or otherwise use the Licensed Software. Upon Licensee's acceptance
of the terms and conditions of this Agreement, The Qt Company grants Licensee
the right to use the Licensed Software in the manner provided below.
4. LICENSES
4.1. Using and Copying
The Qt Company grants to Licensee a non-exclusive, non-transferable,
time-limited license to use and copy the Licensed Software for sole purpose
of designing, developing and testing Applications, and evaluating and the
Licensed Software during the Term.
Licensee may install copies of the Licensed Software on an unlimited
number of computers provided that (a) if an individual, only such
individual; or (b) if a legal entity only its employees; use the
Licensed Software for the authorized purposes.
4.2 No Distribution or Modifications
Licensee may not disclose, modify, sell, market, commercialise,
distribute, loan, rent, lease, or license the Licensed Software or any
copy of it or use the Licensed Software for any purpose that is not
expressly granted in this Section 4. Licensee may not alter or remove
any details of ownership, copyright, trademark or other property right
connected with the Licensed Software. Licensee may not distribute any
software statically or dynamically linked with the Licensed Software.
4.3 No Technical Support
The Qt Company has no obligation to furnish Licensee with any technical
support whatsoever. Any such support is subject to separate agreement between
the Parties.
5. PRE-RELEASE CODE
The Licensed Software contains pre-release code that is not at the level
of performance and compatibility of a final, generally available,
product offering. The Licensed Software may not operate correctly and
may be substantially modified prior to the first commercial product
release, if any. The Qt Company is not obligated to make this or any later
version of the Licensed Software commercially available. The License
Software is "Not for Commercial Use" and may only be used for the
purposes described in Section 4. The Licensed Software may not be used
in a live operating environment where it may be relied upon to perform
in the same manner as a commercially released product or with data that
has not been sufficiently backed up.
6. THIRD PARTY SOFTWARE
The Licensed Software may provide links to third party libraries or code
(collectively "Third Party Software") to implement various functions.
Third Party Software does not comprise part of the Licensed Software. In
some cases, access to Third Party Software may be included along with
the Licensed Software delivery as a convenience for development and
testing only. Such source code and libraries may be listed in the
".../src/3rdparty" source tree delivered with the Licensed Software or
documented in the Licensed Software where the Third Party Software is
used, as may be amended from time to time, do not comprise the Licensed
Software. Licensee acknowledges (1) that some part of Third Party
Software may require additional licensing of copyright and patents from
the owners of such, and (2) that distribution of any of the Licensed
Software referencing any portion of a Third Party Software may require
appropriate licensing from such third parties.
7. LIMITED WARRANTY AND WARRANTY DISCLAIMER
The Licensed Software is licensed to Licensee "as is". To the maximum
extent permitted by applicable law, The Qt Company on behalf of itself and
its suppliers, disclaims all warranties and conditions, either express or
implied, including, but not limited to, implied warranties of
merchantability, fitness for a particular purpose, title and
non-infringement with regard to the Licensed Software.
8. LIMITATION OF LIABILITY
If, The Qt Company's warranty disclaimer notwithstanding, The Qt Company is
held liable to Licensee, whether in contract, tort or any other legal theory,
based on the Licensed Software, The Qt Company's entire liability to Licensee
and Licensee's exclusive remedy shall be, at The Qt Company's option, either
(A) return of the price Licensee paid for the Licensed Software, or (B)
repair or replacement of the Licensed Software, provided Licensee
returns to The Qt Company all copies of the Licensed Software as originally
delivered to Licensee. The Qt Company shall not under any circumstances be
liable to Licensee based on failure of the Licensed Software if the failure
resulted from accident, abuse or misapplication, nor shall The Qt Company
under any circumstances be liable for special damages, punitive or exemplary
damages, damages for loss of profits or interruption of business or for
loss or corruption of data. Any award of damages from The Qt Company to
Licensee shall not exceed the total amount Licensee has paid to The Qt
Company in connection with this Agreement.
9. CONFIDENTIALITY
Each party acknowledges that during the Term of this Agreement it shall
have access to information about the other party's business, business
methods, business plans, customers, business relations, technology, and
other information, including the terms of this Agreement, that is
confidential and of great value to the other party, and the value of
which would be significantly reduced if disclosed to third parties (the
"Confidential Information"). Accordingly, when a party (the "Receiving
Party") receives Confidential Information from another party (the
"Disclosing Party"), the Receiving Party shall, and shall obligate its
employees and agents and employees and agents of its Affiliates to: (i)
maintain the Confidential Information in strict confidence; (ii) not
disclose the Confidential Information to a third party without the
Disclosing Party's prior written approval; and (iii) not, directly or
indirectly, use the Confidential Information for any purpose other than
for exercising its rights and fulfilling its responsibilities pursuant
to this Agreement. Each party shall take reasonable measures to protect
the Confidential Information of the other party, which measures shall
not be less than the measures taken by such party to protect its own
confidential and proprietary information.
"Confidential Information" shall not include information that (a) is or
becomes generally known to the public through no act or omission of the
Receiving Party; (b) was in the Receiving Party's lawful possession
prior to the disclosure hereunder and was not subject to limitations on
disclosure or use; (c) is developed by the Receiving Party without
access to the Confidential Information of the Disclosing Party or by
persons who have not had access to the Confidential Information of the
Disclosing Party as proven by the written records of the Receiving
Party; (d) is lawfully disclosed to the Receiving Party without
restrictions, by a third party not under an obligation of
confidentiality; or (e) the Receiving Party is legally compelled to
disclose the information, in which case the Receiving Party shall assert
the privileged and confidential nature of the information and cooperate
fully with the Disclosing Party to protect against and prevent
disclosure of any Confidential Information and to limit the scope of
disclosure and the dissemination of disclosed Confidential Information
by all legally available means.
The obligations of the Receiving Party under this Section shall continue
during the Initial Term and for a period of five (5) years after
expiration or termination of this Agreement. To the extent that the
terms of the Non-Disclosure Agreement between The Qt Company and Licensee
conflict with the terms of this Section 9, this Section 9 shall be
controlling over the terms of the Non-Disclosure Agreement.
10. GENERAL PROVISIONS
10.1 No Assignment
Licensee shall not be entitled to assign or transfer all or any of its
rights, benefits and obligations under this Agreement without the prior
written consent of The Qt Company, which shall not be unreasonably withheld.
10.2 Termination
The Qt Company may terminate the Agreement at any time immediately upon
written notice by The Qt Company to Licensee if Licensee breaches this
Agreement.
Upon termination of this Agreement, Licensee shall return to The Qt Company
all copies of Licensed Software that were supplied by The Qt Company. All
other copies of Licensed Software in the possession or control of Licensee
must be erased or destroyed. An officer of Licensee must promptly
deliver to The Qt Company a written confirmation that this has occurred.
10.3 Surviving Sections
Any terms and conditions that by their nature or otherwise reasonably
should survive a cancellation or termination of this Agreement shall
also be deemed to survive. Such terms and conditions include, but are
not limited to the following Sections: 2, 5, 6, 7, 8, 9, 10.2, 10.3, 10.4,
10.5, 10.6, 10.7, and 10.8 of this Agreement.
10.4 Entire Agreement
This Agreement constitutes the complete agreement between the parties
and supersedes all prior or contemporaneous discussions,
representations, and proposals, written or oral, with respect to the
subject matters discussed herein, with the exception of the
non-disclosure agreement executed by the parties in connection with this
Agreement ("Non-Disclosure Agreement"), if any, shall be subject to
Section 9. No modification of this Agreement shall be effective unless
contained in a writing executed by an authorized representative of each
party. No term or condition contained in Licensee's purchase order shall
apply unless expressly accepted by The Qt Company in writing. If any
provision of the Agreement is found void or unenforceable, the remainder
shall remain valid and enforceable according to its terms. If any remedy
provided is determined to have failed for its essential purpose, all
limitations of liability and exclusions of damages set forth in this
Agreement shall remain in effect.
10.5 Export Control
Licensee acknowledges that the Licensed Software may be subject to
export control restrictions of various countries. Licensee shall fully
comply with all applicable export license restrictions and requirements
as well as with all laws and regulations relating to the importation of
the Licensed Software and shall procure all necessary governmental
authorizations, including without limitation, all necessary licenses,
approvals, permissions or consents, where necessary for the
re-exportation of the Licensed Software.,
10.6 Governing Law and Legal Venue
This Agreement shall be governed by and construed in accordance with the
federal laws of the United States of America and the internal laws of
the State of New York without given effect to any choice of law rule
that would result in the application of the laws of any other
jurisdiction. The United Nations Convention on Contracts for the
International Sale of Goods (CISG) shall not apply. Each Party (a)
hereby irrevocably submits itself to and consents to the jurisdiction of
the United States District Court for the Southern District of New York
(or if such court lacks jurisdiction, the state courts of the State of
New York) for the purposes of any action, claim, suit or proceeding
between the Parties in connection with any controversy, claim, or
dispute arising out of or relating to this Agreement; and (b) hereby
waives, and agrees not to assert by way of motion, as a defense or
otherwise, in any such action, claim, suit or proceeding, any claim that
is not personally subject to the jurisdiction of such court(s), that the
action, claim, suit or proceeding is brought in an inconvenient forum or
that the venue of the action, claim, suit or proceeding is improper.
Notwithstanding the foregoing, nothing in this Section 9.6 is intended
to, or shall be deemed to, constitute a submission or consent to, or
selection of, jurisdiction, forum or venue for any action for patent
infringement, whether or not such action relates to this Agreement.
10.7 No Implied License
There are no implied licenses or other implied rights granted under this
Agreement, and all rights, save for those expressly granted hereunder,
shall remain with The Qt Company and its licensors. In addition, no licenses
or immunities are granted to the combination of the Licensed Software with
any other software or hardware not delivered by The Qt Company under this
Agreement.
10.8 Government End Users
A "U.S. Government End User" shall mean any agency or entity of the
government of the United States. The following shall apply if Licensee
is a U.S. Government End User. The Licensed Software is a "commercial
item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995),
consisting of "commercial computer software" and "commercial computer
software documentation," as such terms are used in 48 C.F.R. 12.212
(Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
through 227.7202-4 (June 1995), all U.S. Government End Users acquire
the Licensed Software with only those rights set forth herein. The
Licensed Software (including related documentation) is provided to U.S.
Government End Users: (a) only as a commercial end item; and (b) only
pursuant to this Agreement.
TECHNOLOGY PREVIEW LICENSE AGREEMENT: Rest of the World
Agreement version 2.4
This Technology Preview License Agreement ("Agreement") is a legal
agreement between The Qt Company Ltd ("The Qt Company"), with its registered
office at Valimotie 21,FI-00380 Helsinki, Finland and you (either an
individual or a legal entity) ("Licensee") for the Licensed Software.
1. DEFINITIONS
"Affiliate" of a Party shall mean an entity (i) which is directly or
indirectly controlling such Party; (ii) which is under the same direct
or indirect ownership or control as such Party; or (iii) which is
directly or indirectly owned or controlled by such Party. For these
purposes, an entity shall be treated as being controlled by another if
that other entity has fifty percent (50 %) or more of the votes in such
entity, is able to direct its affairs and/or to control the composition
of its board of directors or equivalent body.
"Applications" shall mean Licensee's software products created using the
Licensed Software which may include portions of the Licensed Software.
"Term" shall mean the period of time six (6) months from the later of
(a) the Effective Date; or (b) the date the Licensed Software was
initially delivered to Licensee by The Qt Company. If no specific Effective
Date is set forth in the Agreement, the Effective Date shall be deemed to be
the date the Licensed Software was initially delivered to Licensee.
"Licensed Software" shall mean the computer software, "online" or
electronic documentation, associated media and printed materials,
including the source code, example programs and the documentation
delivered by The Qt Company to Licensee in conjunction with this Agreement.
"Party" or "Parties" shall mean Licensee and/or The Qt Company.
2. OWNERSHIP
The Licensed Software is protected by copyright laws and international
copyright treaties, as well as other intellectual property laws and
treaties. The Licensed Software is licensed, not sold.
If Licensee provides any findings, proposals, suggestions or other
feedback ("Feedback") to The Qt Company regarding the Licensed Software,
The Qt Companyshall own all right, title and interest including the
intellectual property rights in and to such Feedback, excluding however any
existing patent rights of Licensee. To the extent Licensee owns or controls
any patents for such Feedback Licensee hereby grants to The Qt Company and
its Affiliates, a worldwide, perpetual, non-transferable, sublicensable,
royalty-free license to (i) use, copy and modify Feedback and to create
derivative works thereof, (ii) to make (and have made), use, import,
sell, offer for sale, lease, dispose, offer for disposal or otherwise
exploit any products or services of The Qt Company containing Feedback, and
(iii) sublicense all the foregoing rights to third party licensees and
customers of The Qt Company and/or its Affiliates.
3. VALIDITY OF THE AGREEMENT
By installing, copying, or otherwise using the Licensed Software,
Licensee agrees to be bound by the terms of this Agreement. If Licensee
does not agree to the terms of this Agreement, Licensee may not install,
copy, or otherwise use the Licensed Software. Upon Licensee's acceptance
of the terms and conditions of this Agreement, The Qt Company grants Licensee
the right to use the Licensed Software in the manner provided below.
4. LICENSES
4.1. Using and Copying
The Qt Company grants to Licensee a non-exclusive, non-transferable,
time-limited license to use and copy the Licensed Software for sole purpose
of designing, developing and testing Applications, and evaluating and the
Licensed Software during the Term.
Licensee may install copies of the Licensed Software on an unlimited
number of computers provided that (a) if an individual, only such
individual; or (b) if a legal entity only its employees; use the
Licensed Software for the authorized purposes.
4.2 No Distribution or Modifications
Licensee may not disclose, modify, sell, market, commercialise,
distribute, loan, rent, lease, or license the Licensed Software or any
copy of it or use the Licensed Software for any purpose that is not
expressly granted in this Section 4. Licensee may not alter or remove
any details of ownership, copyright, trademark or other property right
connected with the Licensed Software. Licensee may not distribute any
software statically or dynamically linked with the Licensed Software.
4.3 No Technical Support
The Qt Company has no obligation to furnish Licensee with any technical
support whatsoever. Any such support is subject to separate agreement
between the Parties.
5. PRE-RELEASE CODE
The Licensed Software contains pre-release code that is not at the level
of performance and compatibility of a final, generally available,
product offering. The Licensed Software may not operate correctly and
may be substantially modified prior to the first commercial product
release, if any. The Qt Company is not obligated to make this or any later
version of the Licensed Software commercially available. The License
Software is "Not for Commercial Use" and may only be used for the
purposes described in Section 4. The Licensed Software may not be used
in a live operating environment where it may be relied upon to perform
in the same manner as a commercially released product or with data that
has not been sufficiently backed up.
6. THIRD PARTY SOFTWARE
The Licensed Software may provide links to third party libraries or code
(collectively "Third Party Software") to implement various functions.
Third Party Software does not comprise part of the Licensed Software. In
some cases, access to Third Party Software may be included along with
the Licensed Software delivery as a convenience for development and
testing only. Such source code and libraries may be listed in the
".../src/3rdparty" source tree delivered with the Licensed Software or
documented in the Licensed Software where the Third Party Software is
used, as may be amended from time to time, do not comprise the Licensed
Software. Licensee acknowledges (1) that some part of Third Party
Software may require additional licensing of copyright and patents from
the owners of such, and (2) that distribution of any of the Licensed
Software referencing any portion of a Third Party Software may require
appropriate licensing from such third parties.
7. LIMITED WARRANTY AND WARRANTY DISCLAIMER
The Licensed Software is licensed to Licensee "as is". To the maximum
extent permitted by applicable law, The Qt Company on behalf of itself and
its suppliers, disclaims all warranties and conditions, either express or
implied, including, but not limited to, implied warranties of
merchantability, fitness for a particular purpose, title and
non-infringement with regard to the Licensed Software.
8. LIMITATION OF LIABILITY
If, The Qt Company's warranty disclaimer notwithstanding, The Qt Company is
held liable to Licensee, whether in contract, tort or any other legal theory,
based on the Licensed Software, The Qt Company's entire liability to Licensee
and Licensee's exclusive remedy shall be, at The Qt Company's option, either
(A) return of the price Licensee paid for the Licensed Software, or (B)
repair or replacement of the Licensed Software, provided Licensee
returns to The Qt Company all copies of the Licensed Software as originally
delivered to Licensee. The Qt Company shall not under any circumstances be
liable to Licensee based on failure of the Licensed Software if the failure
resulted from accident, abuse or misapplication, nor shall The Qt Company
under any circumstances be liable for special damages, punitive or exemplary
damages, damages for loss of profits or interruption of business or for
loss or corruption of data. Any award of damages from The Qt Company to
Licensee shall not exceed the total amount Licensee has paid to
The Qt Company in connection with this Agreement.
9. CONFIDENTIALITY
Each party acknowledges that during the Term of this Agreement it shall
have access to information about the other party's business, business
methods, business plans, customers, business relations, technology, and
other information, including the terms of this Agreement, that is
confidential and of great value to the other party, and the value of
which would be significantly reduced if disclosed to third parties (the
"Confidential Information"). Accordingly, when a party (the "Receiving
Party") receives Confidential Information from another party (the
"Disclosing Party"), the Receiving Party shall, and shall obligate its
employees and agents and employees and agents of its Affiliates to: (i)
maintain the Confidential Information in strict confidence; (ii) not
disclose the Confidential Information to a third party without the
Disclosing Party's prior written approval; and (iii) not, directly or
indirectly, use the Confidential Information for any purpose other than
for exercising its rights and fulfilling its responsibilities pursuant
to this Agreement. Each party shall take reasonable measures to protect
the Confidential Information of the other party, which measures shall
not be less than the measures taken by such party to protect its own
confidential and proprietary information.
"Confidential Information" shall not include information that (a) is or
becomes generally known to the public through no act or omission of the
Receiving Party; (b) was in the Receiving Party's lawful possession
prior to the disclosure hereunder and was not subject to limitations on
disclosure or use; (c) is developed by the Receiving Party without
access to the Confidential Information of the Disclosing Party or by
persons who have not had access to the Confidential Information of the
Disclosing Party as proven by the written records of the Receiving
Party; (d) is lawfully disclosed to the Receiving Party without
restrictions, by a third party not under an obligation of
confidentiality; or (e) the Receiving Party is legally compelled to
disclose the information, in which case the Receiving Party shall assert
the privileged and confidential nature of the information and cooperate
fully with the Disclosing Party to protect against and prevent
disclosure of any Confidential Information and to limit the scope of
disclosure and the dissemination of disclosed Confidential Information
by all legally available means.
The obligations of the Receiving Party under this Section shall continue
during the Initial Term and for a period of five (5) years after
expiration or termination of this Agreement. To the extent that the
terms of the Non-Disclosure Agreement between The Qt Company and Licensee
conflict with the terms of this Section 9, this Section 9 shall be
controlling over the terms of the Non-Disclosure Agreement.
10. GENERAL PROVISIONS
10.1 No Assignment
Licensee shall not be entitled to assign or transfer all or any of its
rights, benefits and obligations under this Agreement without the prior
written consent of The Qt Company, which shall not be unreasonably withheld.
10.2 Termination
The Qt Company may terminate the Agreement at any time immediately upon
written notice by The Qt Company to Licensee if Licensee breaches this
Agreement.
Upon termination of this Agreement, Licensee shall return to The Qt Company
all copies of Licensed Software that were supplied by The Qt Company. All
other copies of Licensed Software in the possession or control of Licensee
must be erased or destroyed. An officer of Licensee must promptly
deliver to The Qt Company a written confirmation that this has occurred.
10.3 Surviving Sections
Any terms and conditions that by their nature or otherwise reasonably
should survive a cancellation or termination of this Agreement shall
also be deemed to survive. Such terms and conditions include, but are
not limited to the following Sections: 2, 5, 6, 7, 8, 9, 10.2, 10.3, 10.4,
10.5, 10.6, 10.7, and 10.8 of this Agreement.
10.4 Entire Agreement
This Agreement constitutes the complete agreement between the parties
and supersedes all prior or contemporaneous discussions,
representations, and proposals, written or oral, with respect to the
subject matters discussed herein, with the exception of the
non-disclosure agreement executed by the parties in connection with this
Agreement ("Non-Disclosure Agreement"), if any, shall be subject to
Section 9. No modification of this Agreement shall be effective unless
contained in a writing executed by an authorized representative of each
party. No term or condition contained in Licensee's purchase order shall
apply unless expressly accepted by The Qt Company in writing. If any provision
of the Agreement is found void or unenforceable, the remainder shall remain
valid and enforceable according to its terms. If any remedy provided is
determined to have failed for its essential purpose, all limitations of
liability and exclusions of damages set forth in this Agreement shall
remain in effect.
10.5 Export Control
Licensee acknowledges that the Licensed Software may be subject to
export control restrictions of various countries. Licensee shall fully
comply with all applicable export license restrictions and requirements
as well as with all laws and regulations relating to the importation of
the Licensed Software and shall procure all necessary governmental
authorizations, including without limitation, all necessary licenses,
approvals, permissions or consents, where necessary for the
re-exportation of the Licensed Software.,
10.6 Governing Law and Legal Venue
This Agreement shall be construed and interpreted in accordance with the laws
of Finland, excluding its choice of law provisions. Any disputes arising out
of or relating to this Agreement shall be resolved in arbitration in accordance
with the Arbitration Rules of the Finland Chamber of Commerce. The arbitration
tribunal shall consist of one (1), or if either Party so requires, of three
(3), arbitrators. The award shall be final and binding and enforceable in any
court of competent jurisdiction. The arbitration shall be held in Helsinki,
Finland and the process shall be conducted in the English language.
10.7 No Implied License
There are no implied licenses or other implied rights granted under this
Agreement, and all rights, save for those expressly granted hereunder,
shall remain with The Qt Company and its licensors. In addition, no licenses
or immunities are granted to the combination of the Licensed Software with
any other software or hardware not delivered by The Qt Company under this
Agreement.
10.8 Government End Users
A "U.S. Government End User" shall mean any agency or entity of the
government of the United States. The following shall apply if Licensee
is a U.S. Government End User. The Licensed Software is a "commercial
item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995),
consisting of "commercial computer software" and "commercial computer
software documentation," as such terms are used in 48 C.F.R. 12.212
(Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
through 227.7202-4 (June 1995), all U.S. Government End Users acquire
the Licensed Software with only those rights set forth herein. The
Licensed Software (including related documentation) is provided to U.S.
Government End Users: (a) only as a commercial end item; and (b) only
pursuant to this Agreement.

View File

@ -0,0 +1,913 @@
QT LICENSE AGREEMENT
Agreement version 4.0
This License Agreement ("Agreement") is a legal agreement between The Qt
Company (as defined below) and the Licensee (as defined below) for the license
of Licensed Software (as defined below). Capitalized terms used herein are
defined in Section 1.
WHEREAS:
(A). Licensee wishes to use the Licensed Software for the purpose of developing
and distributing Applications and/or Devices; and
(B). The Qt Company is willing to grant the Licensee a right to use Licensed
Software for such purpose pursuant to term and conditions of this Agreement.
NOW, THEREFORE, THE PARTIES HEREBY AGREE AS FOLLOWS:
1. DEFINITIONS
"Affiliate" of a Party shall mean an entity (i) which is directly or indirectly
controlling such Party; (ii) which is under the same direct or indirect
ownership or control as such Party; or (iii) which is directly or indirectly
owned or controlled by such Party. For these purposes, an entity shall be
treated as being controlled by another if that other entity has fifty percent
(50 %) or more of the votes in such entity, is able to direct its affairs
and/or to control the composition of its board of directors or equivalent body.
"Applications" shall mean Licensee's software products created using the
Licensed Software, which may include the Redistributables, or part
thereof.
"Contractor(s)" shall mean third party consultants, distributors and
contractors performing services to a Party under applicable contractual
arrangement.
"Customer(s)" shall mean Licensee's end users to whom Licensee, directly or
indirectly, distributes copies of the Redistributables.
"Deployment Platforms" shall mean operating systems specified in the License
Certificate, in which the Redistributables can be distributed pursuant to the
terms and conditions of this Agreement.
"Designated User(s)" shall mean the employee(s) of Licensee or Licensee's
Affiliates acting within the scope of their employment or Licensee's
Contractors acting within the scope of their services for Licensee and on
behalf of Licensee. Designated Users shall be named in the License Certificate.
"Development License" shall mean the license needed by the Licensee for each
Designated User to use the Licensed Software under the license grant described
in Section 3.1 of this Agreement.
"Development Platforms" shall mean those operating systems specified in the
License Certificate, in which the Licensed Software can be used under the
Development License, but not distributed in any form or used for any other
purpose.
"Devices" shall mean hardware devices or products that 1) are manufactured
and/or distributed by the Licensee or its Affiliates or Contractors, and
(2)(i) incorporate or integrate the Redistributables or parts thereof; or (ii)
do not incorporate or integrate the Redistributables at the time of
distribution, but where, when used by a Customer, the main user interface or
substantial functionality of such device is provided by Application(s) or
otherwise depends on the Licensed Software.
"Distribution License(s)" shall mean the license required for distribution of
Redistributables in connection with Devices pursuant to license grant described
in Section 3.3 of this Agreement.
"Distribution License Packs" shall mean set of prepaid Distribution Licenses
for distribution of Redistributables, as defined in The Qt Company's standard
price list, quote, Purchase Order confirmation or in an appendix hereto,
as the case may be.
"Intellectual Property Rights" shall mean patents (including utility models),
design patents, and designs (whether or not capable of registration), chip
topography rights and other like protection, copyrights, trademarks, service
marks, trade names, logos or other words or symbols and any other form of
statutory protection of any kind and applications for any of the foregoing as
well as any trade secrets.
"License Certificate" shall mean a certificate generated by The Qt Company for
each Designated User respectively upon them downloading the licensed Software.
License Certificate will be available under respective Designated User's Qt
Account at account.qt.io and it will specify the Designated User, the
Development Platforms, Deployment Platforms and the License Term. The terms of
the License Certificate are considered part of this Agreement and shall be
updated from time to time to reflect any agreed changes to the foregoing terms
relating to Designated User's rights to the Licensed Software.
"License Fee" shall mean the fee charged to the Licensee for rights granted
under the terms of this Agreement.
"License Term" shall mean the agreed validity period of the Development
License of the respective Designated User, during which time the
Designated User is entitled to use the Licensed Software, as set forth in the
respective License Certificate.
"Licensed Software" shall mean all versions of the
(i) Qt Toolkit (including Qt Essentials, Qt Add-Ons and Value-Add modules) as
described in http://doc.qt.io/qt-5/qtmodules.html,
(ii) Qt Creator (including Creator IDE tool) as described in
http://doc.qt.io/qtcreator/index.html,
(iii) Qt 3D Studio as described in http://doc.qt.io/qt3dstudio/index.html, and
as well as corresponding online or electronic documentation, associated media
and printed materials, including the source code, example programs and the
documentation, licensed to the Licensee under this Agreement. Licensed Software
does not include Third Party Software (as defined in Section 4), Open Source
Qt, or other software products of The Qt Company (for example Qt Safe Renderer
and Qt for Automation), unless such other software products of The Qt Company
are separately agreed in writing to be included in scope of the Licensed
Software.
"Licensee" shall mean the individual or legal entity that is party to this
Agreement, as identified on the signature page hereof.
"Licensee's Records" shall mean books and records that are likely to contain
information bearing on Licensee's compliance with this Agreement or the
payments due to The Qt Company under this Agreement, including, but not limited
to: assembly logs, sales records and distribution records.
"Modified Software" shall have the meaning as set forth in Section 2.3.
"Online Services" shall mean any services or access to systems made available
by The Qt Company to the Licensee over the Internet relating to the Licensed
Software or for the purpose of use by the Licensee of the Licensed Software or
Support. Use of any such Online Services is discretionary for the Licensee and
some of them may be subject to additional fees.
"Open Source Qt" shall mean the non-commercial Qt computer software products,
licensed under the terms of the GNU Lesser General Public License, version
2.1 or later ("LGPL") or the GNU General Public License, version 2.0 or later
("GPL"). For clarity, Open Source Qt shall not be provided nor governed under
this Agreement.
"Party" or "Parties" shall mean Licensee and/or The Qt Company.
"Redistributables" shall mean the portions of the Licensed Software set forth
in Appendix 1, Section 1 that may be distributed pursuant to the terms of this
Agreement in object code form only, including any relevant documentation.
Where relevant, any reference to Licensed Software in this Agreement shall
include and refer also to Redistributables.
"Renewal Term" shall mean an extension of previous License Term as agreed
between the Parties.
"Submitted Modified Software" shall have the meaning as set forth in
Section 2.3.
"Support" shall mean standard developer support that is provided by The Qt
Company to assist Designated Users in using the Licensed Software in
accordance with The Qt Company's standard support terms and as further
defined in Section 8 hereunder.
"Taxes" shall have the meaning set forth in Section 10.5.
"Term" shall have the meaning set forth in Section 12.
"The Qt Company" shall mean:
(i) in the event Licensee is an individual residing in the United States or a
legal entity incorporated in the United States or having its headquarters in
the United States, The Qt Company Inc., a Delaware corporation with its office
at 2350 Mission College Blvd., Suite 1020, Santa Clara, CA 95054, USA.; or
(ii) in the event the Licensee is an individual residing outside of the United
States or a legal entity incorporated outside of the United States or having
its registered office outside of the United States, The Qt Company Ltd., a
Finnish company with its registered office at Bertel Jungin aukio D3A, 02600
Espoo, Finland.
"Third Party Software " shall have the meaning set forth in Section 4.
"Updates" shall mean a release or version of the Licensed Software containing
bug fixes, error corrections and other changes that are generally made
available to users of the Licensed Software that have contracted for Support.
Updates are generally depicted as a change to the digits following the decimal
in the Licensed Software version number. The Qt Company shall make Updates
available to the Licensee under the Support. Updates shall be considered as
part of the Licensed Software hereunder.
"Upgrades" shall mean a release or version of the Licensed Software containing
enhancements and new features and are generally depicted as a change to the
first digit of the Licensed Software version number. In the event Upgrades are
provided to the Licensee under this Agreement, they shall be considered as
part of the Licensed Software hereunder.
2. OWNERSHIP
2.1 Ownership of The Qt Company
The Licensed Software is protected by copyright laws and international
copyright treaties, as well as other intellectual property laws and treaties.
The Licensed Software is licensed, not sold.
All The Qt Company's Intellectual Property Rights are and shall remain the
exclusive property of The Qt Company or its licensors respectively.
2.2 Ownership of Licensee
All the Licensee's Intellectual Property Rights are and shall remain the
exclusive property of the Licensee or its licensors respectively.
All Intellectual Property Rights to the Modified Software, Applications and
Devices shall remain with the Licensee and no rights thereto shall be granted
by the Licensee to The Qt Company under this Agreement (except as set forth in
Section 2.3 below).
2.3 Modified Software
Licensee may create bug-fixes, error corrections, patches or modifications to
the Licensed Software ("Modified Software"). Such Modified Software may break
the source or binary compatibility with the Licensed Software (including
without limitation through changing the application programming interfaces
("API") or by adding, changing or deleting any variable, method, or class
signature in the Licensed Software and/or any inter-process protocols, services
or standards in the Licensed Software libraries). To the extent that Licensee's
Modified Software so breaks source or binary compatibility with the Licensed
Software, Licensee acknowledges that The Qt Company's ability to provide
Support may be prevented or limited and Licensee's ability to make use of
Updates may be restricted.
Licensee may, at its sole and absolute discretion, choose to submit Modified
Software to The Qt Company ("Submitted Modified Software") in connection with
Licensee's Support request, service request or otherwise. In the event Licensee
does so, then, Licensee hereby grants The Qt Company a sublicensable,
assignable, irrevocable, perpetual, worldwide, non-exclusive, royalty-free and
fully paid-up license, under all of Licensee's Intellectual Property Rights, to
reproduce, adapt, translate, modify, and prepare derivative works of, publicly
display, publicly perform, sublicense, make available and distribute such
Submitted Modified Software as The Qt Company sees fit at its free and absolute
discretion.
3. LICENSES GRANTED
3.1 Development with Licensed Software
Subject to the terms of this Agreement, The Qt Company grants to Licensee a
personal, worldwide, non-exclusive, non-transferable license, valid for the
License Term, to use, modify and copy the Licensed Software by Designated Users
on the Development Platforms for the sole purposes of designing, developing,
demonstrating and testing Application(s) and/or Devices, and to provide thereto
related support and other related services to end-user Customers.
Licensee may install copies of the Licensed Software on an unlimited number of
computers provided that (i) only the Designated Users may use the Licensed
Software, and (ii) all Designated Users must have a valid Development License
to use Licensed Software.
Licensee may at any time designate another Designated User to replace a then-
current Designated User by notifying The Qt Company in writing, provided that
any Designated User may be replaced only once during any six-month period.
Upon expiry of the initially agreed License Term, the respective License Terms
shall be automatically extended to one or more Renewal Term(s), unless and
until either Party notifies the other Party in writing that it does not wish to
continue the License Term, such notification to be provided to the other Party
no less than ninety (90) days before expiry of the respective License Term.
Unless otherwise agreed between the Parties, Renewal Term shall be of equal
length with the initial Term.
Any such Renewal Term shall be subject to License Fees agreed between the
Parties or, if no advance agreement exists, subject to The Qt Company's
standard pricing applicable at the commencement date of any such Renewal Term.
3.2 Distribution of Applications
Subject to the terms of this Agreement, The Qt Company grants to Licensee a
personal, worldwide, non-exclusive, non-transferable, revocable (for cause
pursuant to this Agreement) right and license, valid for the Term, to
(i) distribute, by itself or through its Contractors, Redistributables as
installed, incorporated or integrated into Applications for execution on the
Deployment Platforms, and
(ii) grant sublicenses to Redistributables, as distributed hereunder, for
Customers solely for Customer's internal use and to the extent necessary in
order for the Customers to use the Applications for their respective intended
purposes.
Right to distribute the Redistributables as part of an Application as provided
herein is not royalty-bearing but is conditional upon the Licensee having paid
the agreed Development Licenses from The Qt Company before distributing any
Redistributables to Customers.
3.3 Distribution of Devices
Subject to the terms of this Agreement, The Qt Company grants to Licensee a
personal, worldwide, non-exclusive, non-transferable, revocable (for cause
pursuant to this Agreement) right and license, valid for the Term, to
(i) distribute, by itself or through one or more tiers of Contractors,
Redistributables as installed, incorporated or integrated, or intended to be
installed, incorporated or integrated into Devices for execution on the
Deployment Platforms, and
(ii) grant sublicenses to Redistributables, as distributed hereunder, for
Customers solely for Customer's internal use and to the extent necessary in
order for the Customers to use the Devices for their respective intended
purposes.
Right to distribute the Redistributables with Devices as provided herein is
conditional upon the Licensee having purchased and paid the appropriate amount
of Development and Distribution Licenses from The Qt Company before
distributing any Redistributables to Customers.
3.4 Further Requirements
The licenses granted above in this Section 3 by The Qt Company to Licensee are
conditional and subject to Licensee's compliance with the following terms:
(i) Licensee shall not remove or alter any copyright, trademark or other
proprietary rights notice contained in any portion of the Licensed Software;
(ii) Applications must add primary and substantial functionality to the
Licensed Software;
(iii) Applications may not pass on functionality which in any way makes it
possible for others to create software with the Licensed Software; provided
however that Licensee may use the Licensed Software's scripting and QML ("Qt
Quick") functionality solely in order to enable scripting, themes and styles
that augment the functionality and appearance of the Application(s) without
adding primary and substantial functionality to the Application(s);
(iv) Applications must not compete with the Licensed Software;
(v) Licensee shall not use The Qt Company's or any of its suppliers' names,
logos, or trademarks to market Applications, except that Licensee may use
"Built with Qt" logo to indicate that Application(s) was developed using the
Licensed Software;
(vi) Licensee shall not distribute, sublicense or disclose source code of
Licensed Software to any third party (provided however that Licensee may
appoint employee(s) of Contractors as Designated Users to use Licensed
Software pursuant to this Agreement). Such right may be available for the
Licensee subject to a separate software development kit ("SDK") license
agreement to be concluded with The Qt Company;
(vii) Licensee shall not grant the Customers a right to (i) make copies of the
Redistributables except when and to the extent required to use the Applications
and/or Devices for their intended purpose, (ii) modify the Redistributables or
create derivative works thereof, (iii) decompile, disassemble or otherwise
reverse engineer Redistributables, or (iv) redistribute any copy or portion of
the Redistributables to any third party, except as part of the onward sale of
the Device on which the Redistributables are installed;
(viii) Licensee shall not and shall cause that its Affiliates or Contractors
shall not a) in any way combine, incorporate or integrate Licensed Software
with, or use Licensed Software for creation of, any software created with or
incorporating Open Source Qt, or b) incorporate or integrate Applications
into a hardware device or product other than a Device, unless Licensee has
received an advance written permission from The Qt Company to do so. Absent
such written permission, any and all distribution by the Licensee during the
Term of a hardware device or product a) which incorporate or integrate any
part of Licensed Software or Open Source Qt; or b) where the main user
interface or substantial functionality is provided by software build with
Licensed Software or Open Source Qt or otherwise depends on the Licensed
Software or Open Source Qt, shall be considered as a Device distribution under
this Agreement and dependent on compliance thereof (including but not limited
to obligation to pay applicable License Fees for such distribution);
(ix) Licensee shall cause all of its Affiliates and Contractors entitled to
make use of the licenses granted under this Agreement, to be contractually
bound to comply with the relevant terms of this Agreement and not to use the
Licensed Software beyond the terms hereof and for any purposes other than
operating within the scope of their services for Licensee. Licensee shall be
responsible for any and all actions and omissions of its Affiliates and
Contractors relating to the Licensed Software and use thereof (including but
not limited to payment of all applicable License Fees);
(x) Except when and to the extent explicitly provided in this Section 3,
Licensee shall not transfer, publish, disclose, display or otherwise make
available the Licensed Software;
; and
(xi) Licensee shall not attempt or enlist a third party to conduct or attempt
to conduct any of the above.
Above terms shall not be applicable if and to the extent they conflict with any
mandatory provisions of any applicable laws.
Any use of Licensed Software beyond the provisions of this Agreement is
strictly prohibited and requires an additional license from The Qt Company.
4. THIRD PARTY SOFTWARE
The Licensed Software may provide links to third party libraries or code
(collectively "Third Party Software") to implement various functions. Third
Party Software does not comprise part of the Licensed Software. In some cases,
access to Third Party Software may be included in the Licensed Software. Such
Third Party Software will be listed in the ".../src/3rdparty" source tree
delivered with the Licensed Software or documented in the Licensed Software, as
such may be amended from time to time. Licensee acknowledges that use or
distribution of Third Party Software is in all respects subject to applicable
license terms of applicable third party right holders.
5. PRE-RELEASE CODE
The Licensed Software may contain pre-release code and functionality marked or
otherwise stated as "Technology Preview", "Alpha", "Beta" or similar
designation. Such pre-release code may be present in order to provide
experimental support for new platforms or preliminary versions of one or more
new functionalities. The pre-release code may not be at the level of
performance and compatibility of a final, generally available, product
offering of the Licensed Software. The pre-release parts of the Licensed
Software may not operate correctly, may contain errors and may be substantially
modified by The Qt Company prior to the first commercial product release, if
any. The Qt Company is under no obligation to make pre-release code
commercially available, or provide any Support or Updates relating thereto. The
Qt Company assumes no liability whatsoever regarding any pre-release code, but
any use thereof is exclusively at Licensee's own risk and expense.
6. LIMITED WARRANTY AND WARRANTY DISCLAIMER
The Qt Company hereby represents and warrants that it has the power and
authority to grant the rights and licenses granted to Licensee under this
Agreement.
Except as set forth above, the Licensed Software is licensed to Licensee
"as is" and Licensee's exclusive remedy and The Qt Company's entire liability
for errors in the Licensed Software shall be limited, at The Qt Company's
option, to correction of the error, replacement of the Licensed Software or
return of the applicable fees paid for the defective Licensed Software for the
time period during which the License is not able to utilize the Licensed
Software under the terms of this Agreement.
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE QT COMPANY ON BEHALF OF
ITSELF AND ITS LICENSORS, SUPPLIERS AND AFFILIATES, DISCLAIMS ALL OTHER
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-
INFRINGEMENT WITH REGARD TO THE LICENSED SOFTWARE. THE QT COMPANY DOES NOT
WARRANT THAT THE LICENSED SOFTWARE WILL SATISFY LICENSEE'S REQUIREMENTS OR THAT
IT WILL OPERATE WITHOUT DEFECT OR ERROR OR THAT THE OPERATION THEREOF WILL BE
UNINTERRUPTED. ALL USE OF AND RELIANCE ON THE LICENSED SOFTWARE IS AT THE SOLE
RISK OF AND RESPONSIBILITY OF LICENSEE.
7. INDEMNIFICATION AND LIMITATION OF LIABILITY
7.1 Limitation of Liability
EXCEPT FOR (I) CASES OF GROSS NEGLIGENCE OR INTENTIONAL MISCONDUCT, AND (II)
BREACH OF CONFIDENTIALITY, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN NO
EVENT SHALL EITHER PARTY BE LIABLE TO THE OTHER PARTY FOR ANY LOSS OF PROFIT,
LOSS OF DATA, LOSS OF BUSINESS OR GOODWILL OR ANY OTHER INDIRECT, SPECIAL,
CONSEQUENTIAL, INCIDENTAL OR PUNITIVE COST, DAMAGES OR EXPENSE OF ANY KIND,
HOWSOEVER ARISING UNDER OR IN CONNECTION WITH THIS AGREEMENT. PARTIES
SPECIFICALLY AGREE THAT LICENSEE'S OBLIGATION TO PAY LICENSE AND OTHER FEES
CORRESPONDING TO ACTUAL USAGE OF LICENSED SOFTWARE HEREUNDER SHALL BE
CONSIDERED AS A DIRECT DAMAGE.
EXCEPT FOR (I) CASES OF GROSS NEGLIGENCE OR INTENTIONAL MISCONDUCT, AND (II)
BREACH OF CONFIDENTIALITY, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN
NO EVENT SHALL EITHER PARTY'S TOTAL AGGREGATE LIABILITY UNDER THIS AGREEMENT
EXCEED THE AGGREGATE LICENSE FEES PAID OR PAYABLE TO THE QT COMPANY FROM
LICENSEE DURING THE PERIOD OF TWELVE (12) MONTHS IMMEDIATELY PRECEDING THE
EVENT RESULTING IN SUCH LIABILITY.
THE PROVISIONS OF THIS SECTION 7 ALLOCATE THE RISKS UNDER THIS AGREEMENT
BETWEEN THE QT COMPANY AND LICENSEE AND THE PARTIES HAVE RELIED UPON THE
LIMITATIONS SET FORTH HEREIN IN DETERMINING WHETHER TO ENTER INTO THIS AGREEMENT.
7.2 Licensee's Indemnification
Licensee shall indemnify and hold harmless The Qt Company from and against any
claim, injury, judgment, settlement, loss or expense, including attorneys' fees
related to: (a) Licensee's misrepresentation in connection with The Qt Company
or the Licensed Software or breach of this Agreement, (b) the Application or
Device (except where such cause of liability is solely attributable to the
Licensed Software).
8. SUPPORT, UPDATES AND ONLINE SERVICES
Upon due payment of the agreed License Fees the Licensee will be eligible to
receive Support and Updates and to use the Online Services during the License
Term, provided, however, that in the event the License Term is longer than 36
months, Support is provided only for the first 12 months, unless the Parties
specifically otherwise agree.
Unless otherwise decided by The Company at its free and absolute discretion,
Upgrades will not be included in the Support but may be available subject to
additional fees.
From time to time The Qt Company may change the Support terms, provided that
during the respective ongoing License Term the level of Support provided by The
Qt Company may not be reduced without the consent of the Licensee.
Unless otherwise agreed, The Qt Company shall not be responsible for providing
any service or support to Customers.
9. CONFIDENTIALITY
Each Party acknowledges that during the Term of this Agreement each Party may
receive information about the other Party's business, business methods,
business plans, customers, business relations, technology, and other
information, including the terms of this Agreement, that is confidential and
of great value to the other Party, and the value of which would be
significantly reduced if disclosed to third parties ("Confidential
Information"). Accordingly, when a Party (the "Receiving Party") receives
Confidential Information from the other Party (the "Disclosing Party"), the
Receiving Party shall only disclose such information to employees and
Contractors on a need to know basis, and shall cause its employees and
employees of its Affiliates to: (i) maintain any and all Confidential
Information in confidence; (ii) not disclose the Confidential Information to a
third party without the Disclosing Party's prior written approval; and (iii)
not, directly or indirectly, use the Confidential Information for any purpose
other than for exercising its rights and fulfilling its responsibilities
pursuant to this Agreement. Each Party shall take reasonable measures to
protect the Confidential Information of the other Party, which measures shall
not be less than the measures taken by such Party to protect its own
confidential and proprietary information.
Obligation of confidentiality shall not apply to information that (i) is or
becomes generally known to the public through no act or omission of the
Receiving Party; (ii) was in the Receiving Party's lawful possession prior to
the disclosure hereunder and was not subject to limitations on disclosure or
use; (iii) is developed independently by employees or Contractors of the
Receiving Party or other persons working for the Receiving Party who have not
had access to the Confidential Information of the Disclosing Party, as proven
by the written records of the Receiving Party; (iv) is lawfully disclosed to
the Receiving Party without restrictions, by a third party not under an
obligation of confidentiality; or (v) the Receiving Party is legally compelled
to disclose, in which case the Receiving Party shall notify the Disclosing
Party of such compelled disclosure and assert the privileged and confidential
nature of the information and cooperate fully with the Disclosing Party to
limit the scope of disclosure and the dissemination of disclosed Confidential
Information to the minimum extent necessary.
The obligations under this Section 9 shall continue to remain in force for a
period of five (5) years after the last disclosure, and, with respect to trade
secrets, for so long as such trade secrets are protected under applicable trade
secret laws.
10. FEES, DELIVERY AND PAYMENT
10.1 License Fees
License Fees are described in The Qt Company's standard price list, quote or
Purchase Order confirmation or in an appendix hereto, as the case may be.
The License Fees shall not be refunded or claimed as a credit in any event or
for any reason whatsoever.
10.2 Ordering Licenses
Licensee may purchase Development Licenses and Distribution Licenses pursuant
to agreed pricing terms or, if no specific pricing terms have been agreed upon,
at The Qt Company's standard pricing terms applicable at the time of purchase.
Licensee shall submit all purchase orders for Development Licenses and
Distribution Licenses to The Qt Company by email or any other method acceptable
to The Qt Company (each such order is referred to herein as a "Purchase Order")
for confirmation, whereupon the Purchase Order shall become binding between the
Parties.
10.3 Distribution License Packs
Unless otherwise agreed, Distribution Licenses shall be purchased by way of
Distribution License Packs.
Upon due payment of the ordered Distribution License Pack(s), the Licensee will
have an account of Distribution Licenses available for installing, bundling or
integrating (all jointly "installing") the Redistributables with the Devices or
for otherwise distributing the Redistributables in accordance with this
Agreement.
Each time Licensee "installs" or distributes a copy of Redistributables, then
one Distribution License is used, and Licensee's account of available
Distribution Licenses is decreased accordingly.
Licensee may "install" copies of the Redistributables so long as Licensee has
Distribution Licenses remaining on its account.
Redistributables will be deemed to have been "installed" into a Device when one
of the following circumstances shall have occurred: a) the Redistributables
have been loaded onto the Device and used outside of the Licensee's premises or
b) the Device has been fully tested and placed into Licensee's inventory
(or sold) for the first time (i.e., Licensee will not be required to use
(or pay for) more than one Distribution License for each individual Device,
e.g. in a situation where a Device is returned to Licensee's inventory after
delivery to a distributor or sale to a Customer). In addition, if Licensee
includes a back-up copy of the Redistributables on a CD-ROM or other storage
medium along with the product, that backup copy of the Redistributables will
not be deemed to have been "installed" and will not require an additional
Distribution License.
10.4 Payment Terms
License Fees and any other charges under this Agreement shall be paid by
Licensee no later than thirty (30) days from the date of the applicable invoice
from The Qt Company.
The Qt Company will submit an invoice to Licensee after the date of this
Agreement and/or after The Qt Company receives a Purchase Order from
Licensee.
A late payment charge of the lower of (a) one percent per month; or (b) the
interest rate stipulated by applicable law, shall be charged on any unpaid
balances that remain past due.
The Qt Company shall have the right to suspend, terminate or withhold grants
of all rights to the Licensed Software hereunder, including but not limited to
the Developer License, Distribution License, and Support, should Licensee fail
to make payment in timely fashion.
10.5 Taxes
All License Fees and other charges payable hereunder are gross amounts but
exclusive of any value added tax, use tax, sales tax and other taxes, duties or
tariffs ("Taxes"). Such applicable Taxes shall be paid by Licensee, or, where
applicable, in lieu of payment of such Taxes, Licensee shall provide an
exemption certificate to The Qt Company and any applicable authority.
11 RECORD-KEEPING AND REPORTING OBLIGATIONS; AUDIT RIGHTS
11.1 Licensee's Record-keeping
Licensee shall at all times maintain accurate and up-to-date written records of
Licensee's activities related to the use of Licensed Software and distribution
of Redistributables. The records shall be adequate to determine Licensee's
compliance with the provisions of this Agreement and to demonstrate the number
of Designated Users and Redistributables distributed by Licensee. The records
shall conform to good accounting practices reasonably acceptable to The Qt
Company.
Licensee shall, within thirty (30) days from receiving The Qt Company's request
to that effect, deliver to The Qt Company a report on Licensee's usage of
Licensed Software, such report to copies of Redistributables distributed by
Licensee during that calendar quarter, and also detailing the number of
undistributed copies of Redistributables made by Licensee and remaining in its
account contain information, in sufficient detail, on (i) amount of users
working with Licensed Software, (ii) copies of Redistributables distributed by
Licensee during that calendar quarter, (iii) number of undistributed copies of
Redistributables and corresponding number of unused Distribution Licenses
remaining on Licensee's account, and (iv) any other information as The Qt
Company may reasonably require from time to time.
11.2. The Qt Company's Audit Rights
The Qt Company or an independent auditor acting on behalf of The Qt Company's,
may, upon at least five (5) business days' prior written notice and at its
expense, audit Licensee with respect to the use of the Redistributables, but
not more frequently than once during each 6-month period. Such audit may be
conducted by mail, electronic means or through an in-person visit to Licensee's
place of business. Any such in-person audit shall be conducted during regular
business hours at Licensee's facilities and shall not unreasonably interfere
with Licensee's business activities. The Qt Company or the independent auditor
acting on behalf of The Qt Company shall be entitled to inspect Licensee's
Records. All such Licensee's Records and use thereof shall be subject to an
obligation of confidentiality under this Agreement.
If an audit reveals that Licensee is using the Licensed Software beyond scope
of the licenses Licensee has paid for, Licensee agrees to immediately pay The
Qt Company any amounts owed for such unauthorized use.
In addition, in the event the audit reveals a material violation of the terms
of this Agreement (underpayment of more than 5% of License Fees shall always be
deemed a material violation for purposes of this section), then the Licensee
shall pay The Qt Company's reasonable cost of conducting such audit.
12 TERM AND TERMINATION
12.1 Term
This Agreement shall enter into force upon due acceptance by both Parties and
remain in force for as long as there is any Development License(s) in force
("Term"), unless and until terminated pursuant to the terms of this Section 12.
12.2 Termination by The Qt Company
The Qt Company shall have the right to terminate this Agreement upon thirty
(30) days prior written notice if the Licensee is in material breach of any
obligation of this Agreement and fails to remedy such breach within such notice
period.
12.3 Mutual Right to Terminate
Either Party shall have the right to terminate this Agreement immediately upon
written notice in the event that the other Party becomes insolvent, files for
any form of bankruptcy, makes any assignment for the benefit of creditors, has
a receiver, administrative receiver or officer appointed over the whole or a
substantial part of its assets, ceases to conduct business, or an act
equivalent to any of the above occurs under the laws of the jurisdiction of the
other Party.
12.4 Parties' Rights and Duties upon Termination
Upon expiry or termination of the Agreement Licensee shall cease and shall
cause all Designated Users (including those of its Affiliates' and
Contractors') to cease using the Licensed Software and distribution of the
Redistributables under this Agreement.
Notwithstanding the above, in the event the Agreement expires or is terminated:
(i) as a result of The Qt Company choosing not to renew the Development
License(s) as set forth in Section 3.1, then all valid licenses possessed by
the Licensee at such date shall be extended to be valid in perpetuity under the
terms of this Agreement and Licensee is entitled to purchase additional
licenses as set forth in Section 10.2; or
(ii) for reason other than by The Qt Company pursuant to item (i) above or
pursuant to Section 12.2, then the Licensee is entitled, for a period of six
(6) months after the effective date of termination, to continue distribution of
Devices under the Distribution Licenses paid but unused at such effective date
of termination.
Upon any such termination the Licensee shall destroy or return to The Qt
Company all copies of the Licensed Software and all related materials and will
certify the same to The Qt Company upon its request, provided however that
Licensee may retain and exploit such copies of the Licensed Software as it may
reasonably require in providing continued support to Customers.
Expiry or termination of this Agreement for any reason whatsoever shall not
relieve Licensee of its obligation to pay any License Fees accrued or payable
to The Qt Company prior to the effective date of termination, and Licensee
shall immediately pay to The Qt Company all such fees upon the effective date
of termination. Termination of this Agreement shall not affect any rights of
Customers to continue use of Applications and Devices (and therein incorporated
Redistributables).
12.5 Extension in case of bankruptcy
In the event The Qt Company is declared bankrupt under a final, non-cancellable
decision by relevant court of law, and this Agreement is not, at the date of
expiry of the Development License(s) pursuant to Section 3.1, assigned to
party, who has assumed The Qt Company's position as a legitimate licensor of
Licensed Software under this Agreement, then all valid licenses possessed by
the Licensee at such date of expiry, and which the Licensee has not notified
for expiry, shall be extended to be valid in perpetuity under the terms of
this Agreement.
13. GOVERNING LAW AND LEGAL VENUE
In the event this Agreement is in the name of The Qt Company Inc., a Delaware
Corporation, then:
(i) this Agreement shall be construed and interpreted in accordance with the
laws of the State of California, USA, excluding its choice of law provisions;
(ii) the United Nations Convention on Contracts for the International Sale of
Goods will not apply to this Agreement; and
(iii) any dispute, claim or controversy arising out of or relating to this
Agreement or the breach, termination, enforcement, interpretation or validity
thereof, including the determination of the scope or applicability of this
Agreement to arbitrate, shall be determined by arbitration in San Francisco,
USA, before one arbitrator. The arbitration shall be administered by JAMS
pursuant to JAMS' Streamlined Arbitration Rules and Procedures. Judgment on the
Award may be entered in any court having jurisdiction. This Section shall not
preclude parties from seeking provisional remedies in aid of arbitration from a
court of appropriate jurisdiction.
In the event this Agreement is in the name of The Qt Company Ltd., a Finnish
Company, then:
(i) this Agreement shall be construed and interpreted in accordance with the
laws of Finland, excluding its choice of law provisions;
(ii) the United Nations Convention on Contracts for the International Sale of
Goods will not apply to this Agreement; and
(iii) any disputes, controversy or claim arising out of or relating to this
Agreement, or the breach, termination or validity thereof shall be shall be
finally settled by arbitration in accordance with the Arbitration Rules of
Finland Chamber of Commerce. The arbitration tribunal shall consist of one (1),
or if either Party so requires, of three (3), arbitrators. The award shall be
final and binding and enforceable in any court of competent jurisdiction. The
arbitration shall be held in Helsinki, Finland and the process shall be
conducted in the English language. This Section shall not preclude parties from
seeking provisional remedies in aid of arbitration from a court of appropriate
jurisdiction.
14. GENERAL PROVISIONS
14.1 No Assignment
Except in the case of a merger or sale of substantially all of its corporate
assets, Licensee shall not be entitled to assign or transfer all or any of its
rights, benefits and obligations under this Agreement without the prior written
consent of The Qt Company, which shall not be unreasonably withheld or delayed.
The Qt Company shall be entitled to freely assign or transfer any of its
rights, benefits or obligations under this Agreement.
14.2 No Third Party Representations
Licensee shall make no representations or warranties concerning the Licensed
Software on behalf of The Qt Company. Any representation or warranty Licensee
makes or purports to make on The Qt Company's behalf shall be void as to The
Qt Company.
14.3 Surviving Sections
Any terms and conditions that by their nature or otherwise reasonably should
survive termination of this Agreement shall so be deemed to survive.
14.4 Entire Agreement
This Agreement, the exhibits hereto, the License Certificate and any applicable
Purchase Order constitute the complete agreement between the Parties and
supersedes all prior or contemporaneous discussions, representations, and
proposals, written or oral, with respect to the subject matters discussed
herein.
In the event of any conflict or inconsistency between this Agreement and any
Purchase Order, the terms of this Agreement will prevail over the terms of the
Purchase Order with respect to such conflict or inconsistency.
Parties specifically acknowledge and agree that this Agreement prevails over
any click-to-accept or similar agreements the Designated Users may need to
accept online upon download of the Licensed Software, as may be required by
The Qt Company's applicable processes relating to Licensed Software.
14.5 Modifications
No modification of this Agreement shall be effective unless contained in a
writing executed by an authorized representative of each Party. No term or
condition contained in Licensee's Purchase Order shall apply unless expressly
accepted by The Qt Company in writing.
14.6 Force Majeure
Except for the payment obligations hereunder, neither Party shall be liable to
the other for any delay or non-performance of its obligations hereunder in the
event and to the extent that such delay or non-performance is due to an event
of act of God, terrorist attack or other similar unforeseeable catastrophic
event that prevents either Party for fulfilling its obligations under this
Agreement and which such Party cannot avoid or circumvent ("Force Majeure
Event"). If the Force Majeure Event results in a delay or non-performance of a
Party for a period of three (3) months or longer, then either Party shall have
the right to terminate this Agreement with immediate effect without any
liability (except for the obligations of payment arising prior to the event of
Force Majeure) towards the other Party.
14.7 Notices
Any notice given by one Party to the other shall be deemed properly given and
deemed received if specifically acknowledged by the receiving Party in writing
or when successfully delivered to the recipient by hand, fax, or special
courier during normal business hours on a business day to the addresses
specified for each Party on the signature page. Each communication and document
made or delivered by one Party to the other Party pursuant to this Agreement
shall be in the English language.
14.8 Export Control
Licensee acknowledges that the Redistributables may be subject to export
control restrictions under the applicable laws of respective countries.
Licensee shall fully comply with all applicable export license restrictions
and requirements as well as with all laws and regulations relating to the
Redistributables and exercise of licenses hereunder and shall procure all
necessary governmental authorizations, including without limitation, all
necessary licenses, approvals, permissions or consents, where necessary for the
re-exportation of the Redistributables, Applications and/or Devices.
14.9 No Implied License
There are no implied licenses or other implied rights granted under this
Agreement, and all rights, save for those expressly granted hereunder, shall
remain with The Qt Company and its licensors. In addition, no licenses or
immunities are granted to the combination of the Licensed Software with any
other software or hardware not delivered by The Qt Company under this Agreement.
14.10 Attorney Fees
The prevailing Party in any action to enforce this Agreement shall be entitled
to recover its attorney's fees and costs in connection with such action.
14.11 Severability
If any provision of this Agreement shall be adjudged by any court of competent
jurisdiction to be unenforceable or invalid, that provision shall be limited or
eliminated to the minimum extent necessary so that this Agreement shall
otherwise remain in full force and effect and enforceable.
IN WITNESS WHEREOF, the Parties hereto, intending to be legally bound hereby,
have caused this Agreement to be executed by Licensee's authorized
representative installing the Licensed Software and accepting the terms
hereof in connection therewith.
Appendix 1
1. Parts of the Licensed Software that are permitted for distribution in
object code form only ("Redistributables") under this Agreement:
- The Licensed Software's Qt Essentials and Qt Add-on libraries
- The Licensed Software's configuration tool ("qtconfig")
- The Licensed Software's help tool ("Qt Assistant")
- The Licensed Software's internationalization tools ("Qt Linguist", "lupdate",
"lrelease")
- The Licensed Software's QML ("Qt Quick") launcher tool ("qmlscene" or
"qmlviewer")
- The Licensed Software's installer framework
2. Parts of the Licensed Software that are not permitted for distribution
include, but are not limited to:
- The Licensed Software's source code and header files
- The Licensed Software's documentation
- The Licensed Software's documentation generation tool ("qdoc")
- The Licensed Software's tool for writing makefiles ("qmake")
- The Licensed Software's Meta Object Compiler ("moc")
- The Licensed Software's User Interface Compiler ("uic")
- The Licensed Software's Resource Compiler ("rcc")
- The Licensed Software's parts of the IDE tool ("Qt Creator")
- The Licensed Software's parts of the Design tools ("Qt 3D Studio" or
"Qt Quick Designer")
- The Licensed Software's Emulator

View File

@ -84,7 +84,7 @@ $INPUT_RECORD_SEPARATOR = "\r\n" if ($^O eq "msys");
# will be defined based on the modules sync.profile
our (%modules, %moduleheaders, @allmoduleheadersprivate, %classnames, %deprecatedheaders);
our @qpa_headers = ();
our (@qpa_headers, @private_headers);
# will be derived from sync.profile
our %reverse_classnames = ();
@ -659,6 +659,8 @@ sub loadSyncProfile {
$reverse_classnames{$cn} = $fn;
}
}
push @private_headers, qr/_p(ch)?\.h$/;
}
sub basePrettify {
@ -701,6 +703,15 @@ sub isQpaHeader
return 0;
}
sub isPrivateHeader
{
my ($header) = @_;
foreach my $private_header (@private_headers) {
return 1 if ($header =~ $private_header);
}
return 0;
}
sub globosort($$) {
my ($a, $b) = @_;
if ($a =~ /^q(.*)global\.h$/) {
@ -1021,7 +1032,7 @@ foreach my $lib (@modules_to_sync) {
if(isQpaHeader($public_header)) {
$public_header = 0;
$qpa_header = 1;
} elsif ($allheadersprivate || $thisprivate || $public_header =~ /_p(ch)?\.h$/) {
} elsif ($allheadersprivate || $thisprivate || isPrivateHeader($public_header)) {
$public_header = 0;
}

View File

@ -72,7 +72,7 @@ defineReplace(qtConfFunc_licenseCheck) {
hasOpenSource = true
else: \
hasOpenSource = false
exists($$QT_SOURCE_TREE/LICENSE.PREVIEW.COMMERCIAL)|exists($$QT_SOURCE_TREE/bin/licheck*): \
exists($$QT_SOURCE_TREE/LICENSE.QT-LICENSE-AGREEMENT-4.0): \
hasCommercial = true
else: \
hasCommercial = false
@ -128,14 +128,18 @@ defineReplace(qtConfFunc_licenseCheck) {
qtConfFatalError("This is the Qt Open Source Edition." \
"Cannot proceed with -commercial.")
exists($$QT_SOURCE_TREE/LICENSE.PREVIEW.COMMERCIAL) {
logn()
logn("This is the Qt Technology Preview Edition.")
!exists($$QT_SOURCE_TREE/.release-timestamp) {
# Build from git
EditionString = "Technology Preview"
config.input.qt_edition = Preview
logn()
logn("This is the Qt Commercial Edition.")
EditionString = "Commercial"
config.input.qt_edition = Commercial
export(config.input.qt_edition)
} else {
# Build from a released source package
equals(QMAKE_HOST.os, Linux) {
!equals(QMAKE_HOST.arch, x86_64): \
Licheck = licheck32
@ -194,7 +198,7 @@ defineReplace(qtConfFunc_licenseCheck) {
affix = either
}
} else {
theLicense = $$cat($$QT_SOURCE_TREE/LICENSE.PREVIEW.COMMERCIAL, lines)
theLicense = $$cat($$QT_SOURCE_TREE/LICENSE.QT-LICENSE-AGREEMENT-4.0, lines)
theLicense = $$first(theLicense)
showWhat = "Type '?' to view the $${theLicense}."
}
@ -221,7 +225,7 @@ defineReplace(qtConfFunc_licenseCheck) {
} else: equals(val, n)|equals(val, no) {
return(false)
} else: equals(commercial, yes):equals(val, ?) {
licenseFile = $$QT_SOURCE_TREE/LICENSE.PREVIEW.COMMERCIAL
licenseFile = $$QT_SOURCE_TREE/LICENSE.QT-LICENSE-AGREEMENT-4.0
} else: equals(commercial, no):equals(val, l) {
licenseFile = $$QT_SOURCE_TREE/LICENSE.LGPL3
} else: equals(commercial, no):equals(val, g):$$gpl2Ok {

144
dist/changes-5.11.1 vendored Normal file
View File

@ -0,0 +1,144 @@
Qt 5.11.1 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.11.0.
For more details, refer to the online documentation included in this
distribution. The documentation is also available online:
http://doc.qt.io/qt-5/index.html
The Qt version 5.11 series is binary compatible with the 5.10.x series.
Applications compiled for 5.10 will continue to run with 5.11.
Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:
https://bugreports.qt.io/
Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.
****************************************************************************
* Important Behavior Changes *
****************************************************************************
- [QTBUG-68619] In Qt 5.11.0, support for selecting a platform plugin
based on the XDG_SESSION_TYPE environment variable was added. On
gnome-shell, however, bugs—in both Qt and gnome-shell—made many
widget applications almost unusable. So until those bugs are fixed
XDG_SESSION_TYPE=wayland is now ignored on gnome-shell.
****************************************************************************
* Library *
****************************************************************************
QtCore
------
- Item Models:
* [QTBUG-18001] Fixed a bug that made selecting or deselecting a column if
some flags are applied to certain items.
* [QTBUG-44962][QTBUG-67948][QTBUG-68427] Fixed issues with the replacing
of the source model in QSortFilterProxyModel that could lead to empty
views or failed assertions.
- QJsonDocument
* [QTBUG-61969] Fixed a number of bugs in the parsing of binary data
(QJson::fromRawData) that could lead to crashes or out-of-bounds access.
- QLocale:
* On Unix, when using LANGUAGE would lose information about script or
country, without changing language, use the locale implied by LC_ALL,
LC_MESSAGES or LANG.
- QPointF/QRectF:
* [QTBUG-60359][QTBUG-62161] Fixed an issue that led to inconsistent
comparison results for the different edges of a rectangle.
- QProcess:
* [QTBUG-68472] On Unix, the QProcess SIGCHLD handler now restores errno
on exit.
* [QTBUG-67744] QProcess now properly reports an error state if it failed
to create the communication pipes.
- QSharedPointer:
* [QTBUG-68300] Fixed a problem that made create() on a type with const
qualification fail to compile.
QtNetwork
---------
- QNetworkCookieJar:
* [QTBUG-52040] Cookies will no longer be rejected when the domain
matches a TLD. However (to avoid problems with TLDs), such cookies are
only accepted, or sent, when the host name matches exactly.
QtWidgets
---------
- [QTBUG-48325] Sending a key press event with sendEvent() now sends a
ShortCutOverride event first to the widget to trigger any shortcuts set
first.
- [QTBUG-67533] QOpenGLWidget/QQuickWidget is now respecting AlwaysStackOnTop.
- [QTBUG-60404] Fixed crash in QMacPanGestureRecognizer.
- [QTBUG-67836] Fixed input method commits that end with newline.
- [QTBUG-33855] Fixed issue with fonts in QHeaderViews
- [QTBUG-56457] Fixed margin issue related to sections in QHeaderView.
****************************************************************************
* Platform-specific Changes *
****************************************************************************
Android
-------
- [QTBUG-68344] QTemporaryFile does not try to use O_TMPFILE any more,
to work around outdated sandbox restrictions of linkat(). This also fixes
use of QSettings and QFile::copy().
Linux
-----
- [QTBUG-68586] Fixed a bug that caused QFileSystemWatcher to print a warning
if the file being watched did not exist. The class is documented to return
the list of files that it could not watch.
macOS
-----
- [QTBUG-60676] Fixed a bug in using QFileSystemWatcher to watch different
file paths that shared a common prefix.
Windows
-------
- [QTBUG-68514] Reverted a change that caused static binaries compiled
with Visual Studio 2015 to crash on start-up. Note that this does not
apply to Visual Studio 2017 static binaries, even though the crash stack
traces are very similar: with 2017, the problem is compiler regression
and requires updating to version 15.8 for the fix.
****************************************************************************
* Tools *
****************************************************************************
configure & build system
------------------------
- [QTBUG-68478] Fixed parallel build of examples in some modules.
qmake
-----
- [QTBUG-37417][CMake] Fixed missing include paths in private modules.
- [QTBUG-47325] Fixed crash when $QMAKEFEATURES contains empty paths
(e.g., due to a trailing colon).
- [QTBUG-52474][Xcode] Fixed sources being excluded from Time Machine
backups.
- [QTBUG-66462][Darwin] Fixed overriding QMAKE_TARGET_BUNDLE_PREFIX in
project files.
- [QTBUG-68705][Xcode] Fixed build directory location of app bundles.
- [Xcode] Fixed compatibility with Xcode 10 by opting out from the new
build system.
- [Darwin] Fixed .prl file lookup for suffixed frameworks.
- Fixed look-up of relative files from extra compilers' .depend_command
in shadow builds.

122
dist/changes-5.9.5 vendored Normal file
View File

@ -0,0 +1,122 @@
Qt 5.9.5 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.9.0 through 5.9.4.
For more details, refer to the online documentation included in this
distribution. The documentation is also available online:
http://doc.qt.io/qt-5/index.html
The Qt version 5.9 series is binary compatible with the 5.8.x series.
Applications compiled for 5.8 will continue to run with 5.9.
Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:
https://bugreports.qt.io/
Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.
****************************************************************************
* Qt 5.9.5 Changes *
****************************************************************************
QtCore
------
- QDateTime and QLocale:
* [QTBUG-66076] Fixed a crash if the date/time parsed with Qt::ISODate and
Qt::ISODateWithMS had a 'T' for the time, but no actual time.
- QObject:
* [QTBUG-65712] Improved performance of QObject::deleteLater.
- QPluginLoader:
* [QTBUG-65197] Fixed a bug that would cause the Qt plugin scanning
system to allocate too much memory and possibly crash the process.
- QStandardPaths:
* [QTBUG-65687] Fixed a memory leak with displayName() on Apple platforms.
* [QTBUG-65820] Fixed QStandardPaths::AppDataLocation on Android.
QtGui
-----
- Text:
* [QTBUG-61882] Fixed a bug where mixing different writing systems with
emojis could lead to missing glyphs.
* [QTBUG-65519] Fixed ZWJ and ZWNJ control characters when fallback
fonts are in use.
QtWidgets
---------
- QTreeView:
* [QTBUG-65980] Fixed missing update of QTreeView on changing tree
position.
- QLabel:
* [QTBUG-66841] Fixed crash related to deleted buddy.
- QHeaderView:
* [QTBUG-65478] Fixed crash that could happen during layout.
* [QTBUG-66444][QTBUG-65478][QTBUG-65478] Fixed section resize settings
getting lost after layouting.
* [QTBUG-66413][QTBUG-65478] Fixed hidden section issues during layout.
* [QTBUG-65478] Fixed section restore issues after a layout change.
- QFusionStyle:
* [QTBUG-66343] Fixed checkbox rendering regression in low DPI settings.
- QComboBox:
* [QTBUG-55251] Fixed context menu opening up at the wrong location.
- QFileDialog:
* Fixed regression when using QFileDialog::getOpenFileUrl() using
remote URLs.
- QWidget:
* [QTBUG-65783] Fixed crash when platform window creation fails.
Third-Party Code
----------------
- Documented use of "Unicode Character Database (UCD)" in Qt Core.
- Clarified use of "Unicode Common Local Data Repository (CLDR)" in the
documentation. Also updated SPDX license name / ID.
Platform-specific changes
-------------------------
- Android:
* [QTBUG-65863] Fixed the detection of which thread is the main thread on
Android.
- Windows:
* Named pipes internally created by QProcess now contain the PID in their
name to ensure uniqueness.
- winrt:
* -qdevel and -qdebug are removed from the command line arguments and
not passed to the application.
****************************************************************************
* Tools *
****************************************************************************
configure & build system
------------------------
- [QTBUG-65753] Fixed installation of example sources for qrc/rc files.
- [Windows] cl.exe is now preferred over clang-cl.exe again.
qmake
-----
- [QTBUG-50839][Windows] Paths starting with a (back-)slash but without
a drive letter are not considered absolute any more.
- [QTBUG-63637][MinGW] Fixed cross-compilation from Linux.
- [QTBUG-65106] Fixed complaints about missing modules in $$QT after the
project has already failed requires() (or REQUIRES=).
- [QTBUG-65477][Darwin] Bundle identifiers are now properly escaped.
- [Windows] Fixed 'make check' for executables in subdirectories.

46
dist/changes-5.9.6 vendored Normal file
View File

@ -0,0 +1,46 @@
Qt 5.9.6 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.9.0 through 5.9.5.
For more details, refer to the online documentation included in this
distribution. The documentation is also available online:
http://doc.qt.io/qt-5/index.html
The Qt version 5.9 series is binary compatible with the 5.8.x series.
Applications compiled for 5.8 will continue to run with 5.9.
Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:
https://bugreports.qt.io/
Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.
****************************************************************************
* Qt 5.9.6 Changes *
****************************************************************************
- This release contains only minor code improvements.
QtCore
------
- [QTBUG-61159] Fixed QStandardPaths::standardLocations() returning some
incorrect paths on macOS.
- [QTBUG-57299] Fixed some issues with locking files during save using
QSaveFile if the target directory is monitored by Dropbox.
QtWidgets
---------
- [QTBUG-16252] Fixed geometry not restored correctly for a dock widget
after being docked.
qmake
-----
- [QTBUG-52474][Xcode] Fixed sources being excluded from Time Machine
backups.
- [QTBUG-66156] $$relative_path() and $$absolute_path() now resolve
the base directory to an absolute path.

View File

@ -10,10 +10,10 @@ HTML.footer = \
" <p>\n" \
" <acronym title=\"Copyright\">&copy;</acronym> 2018 The Qt Company Ltd.\n" \
" Documentation contributions included herein are the copyrights of\n" \
" their respective owners.<br>" \
" their respective owners.<br/>" \
" The documentation provided herein is licensed under the terms of the" \
" <a href=\"http://www.gnu.org/licenses/fdl.html\">GNU Free Documentation" \
" License version 1.3</a> as published by the Free Software Foundation.<br>" \
" License version 1.3</a> as published by the Free Software Foundation.<br/>" \
" Qt and respective logos are trademarks of The Qt Company Ltd. " \
" in Finland and/or other countries worldwide. All other trademarks are property\n" \
" of their respective owners. </p>\n" \

View File

@ -28,7 +28,7 @@
/*!
\example threads/queuedcustomtype
\title Queued Custom Type Example
\brief Demonstrates multi-thread programming using Qt
\brief Demonstrates multi-thread programming using Qt.
\ingroup qtconcurrent-mtexamples
\brief The Queued Custom Type example shows how to send custom types between

View File

@ -28,7 +28,7 @@
/*!
\example threads/semaphores
\title Semaphores Example
\brief Demonstrates multi-thread programming using Qt
\brief Demonstrates multi-thread programming using Qt.
\ingroup qtconcurrent-mtexamples
\brief The Semaphores example shows how to use QSemaphore to control

View File

@ -28,7 +28,7 @@
/*!
\example threads/waitconditions
\title Wait Conditions Example
\brief Demonstrates multi-thread programming using Qt
\brief Demonstrates multi-thread programming using Qt.
\ingroup qtconcurrent-mtexamples
\brief The Wait Conditions example shows how to use QWaitCondition and

View File

@ -34,7 +34,7 @@
isn't, users still dislike an application using excessive memory.
Using QContiguousCache to manage a list, rather than loading
the entire list into memory, allows the application to limit the amount
of memory it uses, regardless of the size of the data set it accesses
of memory it uses, regardless of the size of the data set it accesses.
The simplest way to use QContiguousCache is to cache as items are requested. When
a view requests an item at row N it is also likely to ask for items at rows near

View File

@ -40,4 +40,12 @@
\include examples-run.qdocinc
To run, execute the \c complexping application.
\badcode
$ ./complexping
Ask your question: When is the next Qt release?
Reply was: Sorry, I don't know the answer
Ask your question: What is the answer to life, the universe and everything?
Reply was: 42
\endcode
*/

View File

@ -29,7 +29,7 @@
\example blockingfortuneclient
\title Blocking Fortune Client Example
\ingroup examples-network
\brief Demonstrates how to create a client for a network service
\brief Demonstrates how to create a client for a network service.
\image blockingfortuneclient-example.png

View File

@ -29,7 +29,7 @@
\example fortuneclient
\title Fortune Client Example
\ingroup examples-network
\brief Demonstrates how to create a client for a network service
\brief Demonstrates how to create a client for a network service.
This example uses QTcpSocket, and is intended to be run alongside the
\l{fortuneserver}{Fortune Server} example or

View File

@ -29,7 +29,7 @@
\example googlesuggest
\title Google Suggest Example
\ingroup examples-network
\brief Obtains the list of search recommendations by the Google search engine
\brief Obtains the list of search recommendations by the Google search engine.
The example uses the QNetworkAccessManager to obtain the list of search
recommendations by Google as the user types into a QLineEdit.

View File

@ -29,7 +29,7 @@
\example http
\title HTTP Example
\ingroup examples-network
\brief Demonstrates a simple HTTP client
\brief Demonstrates a simple HTTP client.
This example demonstrates how a simple HTTP client can fetch files
from remote hosts.

View File

@ -29,7 +29,7 @@
\example loopback
\title Loopback Example
\ingroup examples-network
\brief Demonstrates the client-server communication on a local host
\brief Demonstrates the client-server communication on a local host.
The example demonstrates how the clients and servers on a local host
communicate with each other.

View File

@ -29,7 +29,7 @@
\example multicastreceiver
\title Multicast Receiver Example
\ingroup examples-network
\brief Demonstrates how to receive information sent to a multicast group
\brief Demonstrates how to receive information sent to a multicast group.
This example demonstrates how to receive messages sent to a multicast group
\image multicastreceiver-example.png

View File

@ -29,7 +29,7 @@
\example multicastsender
\title Multicast Sender Example
\ingroup examples-network
\brief Demonstrates how to send messages to a multicast group
\brief Demonstrates how to send messages to a multicast group.
This example demonstrates how to send messages to the clients of a
multicast group.

View File

@ -29,7 +29,7 @@
\example network-chat
\title Network Chat Example
\ingroup examples-network
\brief Demonstrates a stateful peer-to-peer Chat client
\brief Demonstrates a stateful peer-to-peer Chat client.
This example uses broadcasting with QUdpSocket and QNetworkInterface to
discover its peers.

View File

@ -28,7 +28,7 @@
/*!
\example download
\title Network Download Example
\brief Demonstrates how to use networking APIs for multiple downloads
\brief Demonstrates how to use networking APIs for multiple downloads.
\ingroup examples-network
The Network Download example shows how to perform multiple downloads in

View File

@ -28,7 +28,7 @@
/*!
\example downloadmanager
\title Network Download Manager Example
\brief Demonstrates how to use the networking APIs for multiple downloads
\brief Demonstrates how to use the networking APIs for multiple downloads.
\ingroup examples-network
The Network Download example shows how to implement a queue for multiple

View File

@ -29,7 +29,7 @@
\example securesocketclient
\title Secure Socket Client Example
\ingroup examples-network
\brief Demonstrates how to communicate over an encrypted (SSL) connection
\brief Demonstrates how to communicate over an encrypted (SSL) connection.
This example uses QSslSocket to demonstrate how to communicate over an
encrypted connection, deal with authenticity problems, and display security

View File

@ -29,7 +29,7 @@
\example torrent
\title Torrent Example
\ingroup examples-network
\brief Demonstrates complex TCP/IP operations
\brief Demonstrates complex TCP/IP operations.
This example demonstrates some of the complex TCP/IP operations
supported by the Qt Network APIs.

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2018 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
@ -26,11 +26,21 @@
****************************************************************************/
/*!
\example complexpingpong
\title Complex Ping Pong Example
\example hellogles3
\title Hello GLES3 Example
\ingroup examples-widgets-opengl
The Complex Ping Pong example improves on the \l{D-Bus Ping Pong Example} by providing
a more useful demonstration of D-Bus interfaces.
\brief The Hello GLES3 example demonstrates easy, cross-platform usage of
OpenGL ES 3.0 functions via QOpenGLExtraFunctions in an application that
works identically on desktop platforms with OpenGL 3.3 and mobile/embedded
devices with OpenGL ES 3.0.
\quotefile doc/src/snippets/complexpingpong-example.txt
The code is always the same, with the exception of two places:
\list
\li The OpenGL context creation has to have a sufficiently high version
number for the features that are in use.
\li The shader code's version directive is different.
\endlist
\image hellogles3-example.png
*/

View File

@ -243,7 +243,8 @@ void GLWindow::initializeGL()
f->glEnableVertexAttribArray(0);
f->glEnableVertexAttribArray(1);
f->glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat), 0);
f->glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat), reinterpret_cast<void *>(3 * sizeof(GLfloat)));
f->glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat),
reinterpret_cast<void *>(3 * sizeof(GLfloat)));
m_vbo->release();
f->glEnable(GL_DEPTH_TEST);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -28,7 +28,7 @@
/*!
\example wordcount
\title QtConcurrent Word Count Example
\brief Demonstrates how to use the map-reduce algorithm
\brief Demonstrates how to use the map-reduce algorithm.
\ingroup qtconcurrentexamples
The QtConcurrent Word Count example demonstrates the use of the map-reduce

View File

@ -115,6 +115,11 @@ BookWindow::BookWindow()
ui.genreEdit->setModelColumn(
model->relationModel(genreIdx)->fieldIndex("name"));
// Lock and prohibit resizing of the width of the rating column:
ui.bookTable->horizontalHeader()->setSectionResizeMode(
model->fieldIndex("rating"),
QHeaderView::ResizeToContents);
QDataWidgetMapper *mapper = new QDataWidgetMapper(this);
mapper->setModel(model);
mapper->setItemDelegate(new BookDelegate(this));
@ -131,6 +136,7 @@ BookWindow::BookWindow()
);
ui.bookTable->setCurrentIndex(model->index(0, 0));
createMenuBar();
}
void BookWindow::showError(const QSqlError &err)
@ -138,3 +144,28 @@ void BookWindow::showError(const QSqlError &err)
QMessageBox::critical(this, "Unable to initialize Database",
"Error initializing database: " + err.text());
}
void BookWindow::createMenuBar()
{
QAction *quitAction = new QAction(tr("&Quit"), this);
QAction *aboutAction = new QAction(tr("&About"), this);
QAction *aboutQtAction = new QAction(tr("&About Qt"), this);
QMenu *fileMenu = menuBar()->addMenu(tr("&File"));
fileMenu->addAction(quitAction);
QMenu *helpMenu = menuBar()->addMenu(tr("&Help"));
helpMenu->addAction(aboutAction);
helpMenu->addAction(aboutQtAction);
connect(quitAction, &QAction::triggered, this, &BookWindow::close);
connect(aboutAction, &QAction::triggered, this, &BookWindow::about);
connect(aboutQtAction, &QAction::triggered, qApp, &QApplication::aboutQt);
}
void BookWindow::about()
{
QMessageBox::about(this, tr("About Books"),
tr("<p>The <b>Books</b> example shows how to use Qt SQL classes "
"with a model/view framework."));
}

View File

@ -63,11 +63,16 @@ class BookWindow: public QMainWindow
public:
BookWindow();
private slots:
void about();
private:
void showError(const QSqlError &err);
Ui::BookWindow ui;
QSqlRelationalTableModel *model;
int authorIdx, genreIdx;
void createMenuBar();
};
#endif

View File

@ -33,7 +33,7 @@
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Books</string>
<string/>
</property>
<layout class="QVBoxLayout">
<property name="spacing">

View File

@ -29,7 +29,7 @@
\example hellovulkancubes
\title Hello Vulkan Cubes Example
\ingroup examples-vulkan
\brief Shows the basics of using QVulkanWindow
\brief Shows the basics of using QVulkanWindow.
The \e{Hello Vulkan Cubes Example} shows more advanced usage of QVulkanWindow.

View File

@ -29,7 +29,7 @@
\example hellovulkantexture
\ingroup examples-vulkan
\title Hello Vulkan Texture Vulkan Example
\brief Shows the basics of rendering with textures in a QVulkanWindow
\brief Shows the basics of rendering with textures in a QVulkanWindow.
The \e{Hello Vulkan Texture Example} builds on \l hellovulkantriangle. Here
instead of drawing a single triangle, a triangle strip is drawn in order to

View File

@ -29,7 +29,7 @@
\example hellovulkantriangle
\ingroup examples-vulkan
\title Hello Vulkan Triangle Example
\brief Shows the basics of rendering with QVulkanWindow and the Vulkan API
\brief Shows the basics of rendering with QVulkanWindow and the Vulkan API.
The \e{Hello Vulkan Triangle Example} builds on \l hellovulkanwindow. This
time a full graphics pipeline is created, including a vertex and fragment

View File

@ -29,7 +29,7 @@
\example hellovulkanwidget
\ingroup examples-vulkan
\title Hello Vulkan Widget Example
\brief Shows the usage of QVulkanWindow in QWidget applications
\brief Shows the usage of QVulkanWindow in QWidget applications.
The \e{Hello Vulkan Widget Example} is a variant of \l hellovulkantriangle
that embeds the QVulkanWindow into a QWidget-based user interface using

View File

@ -29,7 +29,7 @@
\example hellovulkanwindow
\title Hello Vulkan Window Example
\ingroup examples-vulkan
\brief Shows the basics of using QVulkanWindow
\brief Shows the basics of using QVulkanWindow.
The \e{Hello Vulkan Window Example} shows the basics of using QVulkanWindow
in order to display rendering with the Vulkan graphics API on systems that

View File

@ -29,7 +29,7 @@
\example graphicsview/basicgraphicslayouts
\title Basic Graphics Layouts Example
\ingroup examples-graphicsview-layout
\brief Demonstrates how to create basic graphics layout
\brief Demonstrates how to create basic graphics layout.
The Basic Graphics Layouts example shows how to use the layout classes
in QGraphicsView: QGraphicsLinearLayout and QGraphicsGridLayout.

View File

@ -29,7 +29,7 @@
\example effects/blurpicker
\title Blur Picker Effect Example
\ingroup examples-graphicsview-graphicseffects
\brief Demonstrates how to apply graphical effects on items in the view
\brief Demonstrates how to apply graphical effects on items in the view.
\image blurpickereffect-example.png

View File

@ -29,7 +29,7 @@
\example graphicsview/boxes
\title Boxes
\ingroup examples-graphicsview
\brief Combines advanced OpenGL rendering with the Graphics View framework
\brief Combines advanced OpenGL rendering with the Graphics View framework.
\image boxes-demo.png

View File

@ -29,7 +29,7 @@
\example graphicsview/chip
\title 40000 Chips
\ingroup examples-graphicsview
\brief Visualizes a huge graphic view scene with 40000 chip items
\brief Visualizes a huge graphic view scene with 40000 chip items.
This examples demonstrates Graphics View's powerful navigation
and interaction features, allowing you to zoom and rotate each of four

View File

@ -28,7 +28,7 @@
/*!
\example graphicsview/collidingmice
\title Colliding Mice Example
\brief Demonstrates how to animate items on a graphics view
\brief Demonstrates how to animate items on a graphics view.
\ingroup examples-graphicsview
The Colliding Mice example shows how to use the Graphics View

View File

@ -29,7 +29,7 @@
\example graphicsview/diagramscene
\title Diagram Scene Example
\ingroup examples-graphicsview
\brief Demonstrate how to use the Graphics View framework
\brief Demonstrate how to use the Graphics View framework.
\image diagramscene.png

View File

@ -29,7 +29,7 @@
\example graphicsview/dragdroprobot
\title Drag and Drop Robot Example
\ingroup examples-graphicsview
\brief Demonstrates how to drag and drop items in a graphics view
\brief Demonstrates how to drag and drop items in a graphics view.
The Drag and Drop Robot example shows how to implement Drag and Drop in a
QGraphicsItem subclass, as well as how to animate items using Qt's

View File

@ -28,7 +28,7 @@
/*!
\example draganddrop/draggabletext
\title Draggable Text Example
\brief Illustrates how to drag and drop text between widgets
\brief Illustrates how to drag and drop text between widgets.
\brief The Draggable Text example shows how to drag and drop textual data between widgets
in the same application, and between different applications.

View File

@ -29,7 +29,7 @@
\example graphicsview/elasticnodes
\title Elastic Nodes Example
\ingroup examples-graphicsview
\brief Demonstrates how to interact with graphical items in a scene
\brief Demonstrates how to interact with graphical items in a scene.
The Elastic Nodes example shows how to implement edges between nodes in a
graph, with basic interaction. You can click to drag a node around, and

View File

@ -29,7 +29,7 @@
\example graphicsview/embeddeddialogs
\title Embedded Dialogs
\ingroup examples-graphicsview-layout
\brief Demonstrates how to embed dialogs into a graphics view
\brief Demonstrates how to embed dialogs into a graphics view.
This example shows how to embed standard dialogs into
Graphics View. It also shows how you can customize the

View File

@ -36,23 +36,21 @@
\image extension-example.png Screenshot of the Extension example
The Extension application is a dialog that allows the user to
perform a simple search as well as a more advanced search.
The Extension application lets the user add search parameters in
a dialog and launch a simple or advanced search.
The simple search has two options: \uicontrol {Match case} and \uicontrol
{Search from start}. The advanced search options include the
possibilities to search for \uicontrol {Whole words}, \uicontrol {Search
backward} and \uicontrol {Search selection}. Only the simple search is
visible when the application starts. The advanced search options
are located in the application's extension part, and can be made
visible by pressing the \uicontrol More button:
{Search from start}. The advanced search offers search for \uicontrol {Whole words},
\uicontrol {Search backward}, and \uicontrol {Search selection}. The
application starts with simple search as the default. Click the \uicontrol More button
to show the advanced search options:
\image extension_more.png Screenshot of the Extension example
\section1 FindDialog Class Definition
The \c FindDialog class inherits QDialog. The QDialog class is the
base class of dialog windows. A dialog window is a top-level
The \c FindDialog class inherits QDialog. QDialog is the
base class for dialog windows. A dialog window is a top-level
window mostly used for short-term tasks and brief communications
with the user.
@ -62,45 +60,53 @@
displays the application's search options and controlling
buttons.
In addition to a constructor, we declare the several child
widgets: We need a QLineEdit with an associated QLabel to let the
user type a word to search for, we need several \l
{QCheckBox}{QCheckBox}es to facilitate the search options, and we
need three \l {QPushButton}{QPushButton}s: the \uicontrol Find button to
start a search and the \uicontrol More button to enable an advanced search.
Finally, we need a QWidget representing the application's extension
part.
In addition to the constructor, there are several child widgets:
\list
\li A QLineEdit with an associated QLabel to let the
user type a word to search for.
\li Several \l {QCheckBox}{QCheckBox}es to facilitate the search options.
\li Three \l {QPushButton}{QPushButton}s:
\list
\li the \uicontrol Find button to start a search
\li the \uicontrol More button to enable an advanced search
\li a QWidget representing the application's extension part
\endlist
\endlist
\section1 FindDialog Class Implementation
In the constructor we first create the standard child widgets for
the simple search: the QLineEdit with the associated QLabel, two
of the \l {QCheckBox}{QCheckBox}es and all the \l
{QPushButton}{QPushButton}s.
Create the standard child widgets for the simple search in the constructor:
the QLineEdit with the associated QLabel, two {QCheckBox}es and all the
\l {QPushButton}{QPushButton}s.
\snippet dialogs/extension/finddialog.cpp 0
We give the options and buttons a shortcut key using the &
character. In the \uicontrol {Find what} option's case, we also need to
use the QLabel::setBuddy() function to make the shortcut key work
as expected; then, when the user presses the shortcut key
indicated by the label, the keyboard focus is transferred to the
label's buddy widget, the QLineEdit.
This snippet illustrates how you can define a shortcut key
for a widget. A shortcut should be defined by putting the ampersand
character (\c &) in front of the letter that should
become the shortcut.
For example, for \uicontrol {Find what}, pressing \uicontrol Alt
and \uicontrol w transfers focus to the QLineEdit widget.
Shortcuts can also be used for checking on or off a checkmark.
For example, pressing \uicontrol Alt and \uicontrol c puts the check mark
on \uicontrol {Match Case} if it was unchecked and vice versa.
It is the QLabel::setBuddy() method that links a widget to the shortcut
character if it has been defined.
We set the \uicontrol Find button's default property to true, using the
Set the \uicontrol Find button's default property to true, using the
QPushButton::setDefault() function. Then the push button will be
pressed if the user presses the Enter (or Return) key. Note that a
QDialog can only have one default button.
\snippet dialogs/extension/finddialog.cpp 2
Then we create the extension widget, and the \l
{QCheckBox}{QCheckBox}es associated with the advanced search
options.
Create the extension widget, and the \l {QCheckBox}{QCheckBox}es associated
with the advanced search options.
\snippet dialogs/extension/finddialog.cpp 3
Now that the extension widget is created, we can connect the \uicontrol
Now that the extension widget is created, connect the \uicontrol
More button's \l{QAbstractButton::toggled()}{toggled()} signal to
the extension widget's \l{QWidget::setVisible()}{setVisible()} slot.
@ -111,26 +117,26 @@
the status is true the widget is shown, otherwise the widget is
hidden.
Since we made the \uicontrol More button checkable when we created it,
the connection makes sure that the extension widget is shown
depending on the state of \uicontrol More button.
Since the \uicontrol More button is checkable, the connection makes
sure that the extension widget is shown depending on the state of
the \uicontrol More button.
We also put the check boxes associated with the advanced
search options into a layout we install on the extension widget.
Create checkboxes associated with the advanced search options in
a layout installed on the extension widget.
\snippet dialogs/extension/finddialog.cpp 4
Before we create the main layout, we create several child layouts
for the widgets: First we align the QLabel and its buddy, the
QLineEdit, using a QHBoxLayout. Then we vertically align the
QLabel and QLineEdit with the check boxes associated with the
simple search, using a QVBoxLayout. We also create a QVBoxLayout
for the buttons. In the end we lay out the two latter layouts and
the extension widget using a QGridLayout.
Before creating the main layout, create several child layouts
for the widgets. First align the QLabel and its buddy, the
QLineEdit, using a QHBoxLayout. Then align the QLabel and the QLineEdit
vertically with the checkboxes associated with the simple search,
using a QVBoxLayout. Create also a QVBoxLayout for the buttons.
Finally, lay out the two latter layouts and the extension widget
using a QGridLayout.
\snippet dialogs/extension/finddialog.cpp 5
Finally, we hide the extension widget using the QWidget::hide()
Hide the extension widget using the QWidget::hide()
function, making the application only show the simple search
options when it starts. When the user wants to access the advanced
search options, the dialog only needs to change the visibility of

View File

@ -29,7 +29,7 @@
\example effects/fademessage
\title Fade Message Effect Example
\ingroup examples-graphicsview-graphicseffects
\brief Demonstrates how to apply effects on items in the view
\brief Demonstrates how to apply effects on items in the view.
\div { style="text-align: left"}
\inlineimage fademessageeffect-example.png

View File

@ -30,7 +30,7 @@
\title Find Files Example
\ingroup examples-dialogs
\brief A dialog for finding files in a specified folder
\brief A dialog for finding files in a specified folder.
The Find Files application allows the user to search for files in a
specified directory, matching a given file name or wildcard,

View File

@ -29,7 +29,7 @@
\example graphicsview/anchorlayout
\title Anchor Layout Example
\ingroup examples-graphicsview-layout
\brief Demonstrates anchor layout in a graphics view scene
\brief Demonstrates anchor layout in a graphics view scene.
The Anchor Layout example demonstrates the use of the QGraphicsAnchorLayout
class.

View File

@ -29,7 +29,7 @@
\example graphicsview/simpleanchorlayout
\title Simple Anchor Layout Example
\ingroup examples-graphicsview-layout
\brief Demonstrates anchor layout on a graphics view scene
\brief Demonstrates anchor layout on a graphics view scene.
The Simple Anchor Layout example shows the basic use of the
QGraphicsAnchorLayout class.

View File

@ -29,7 +29,7 @@
\example graphicsview/weatheranchorlayout
\title Weather Anchor Layout Example
\ingroup examples-graphicsview-layout
\brief Demonstrates anchor layout on a graphics view scene
\brief Demonstrates anchor layout on a graphics view scene.
The Weather Anchor Layout example shows more complex use of the
QGraphicsAnchorLayout class to create a real-world window layout.

View File

@ -29,7 +29,7 @@
\example graphicsview/padnavigator
\title Pad Navigator Example
\ingroup examples-graphicsview
\brief Demonstrates how to create animated user interface
\brief Demonstrates how to create animated user interface.
The Pad Navigator Example shows how you can use Graphics View together with
embedded widgets and Qt's \l{The State Machine Framework}{state machine

View File

@ -149,7 +149,7 @@
For mouse press and mouse release events, we use the
QMouseEvent::button() function to find out which button caused
the event. For mose move events, we use QMouseEvent::buttons()
the event. For mouse move events, we use QMouseEvent::buttons()
to find which buttons are currently held down (as an OR-combination).
If the users press the left mouse button, we store the position

View File

@ -28,7 +28,7 @@
/*!
\example gestures/imagegestures
\title Image Gestures Example
\brief Demonstrates the use of simple gestures in a widget
\brief Demonstrates the use of simple gestures in a widget.
This example shows how to enable gestures for a widget and use gesture input
to perform actions.

View File

@ -175,7 +175,7 @@ int main(int argc, char **argv)
//! [6]
machine.setInitialState(compute);
QObject::connect(&machine, SIGNAL(finished()), &app, SLOT(quit()));
QObject::connect(&machine, &QStateMachine::finished, &app, QCoreApplication::quit);
machine.start();
return app.exec();

View File

@ -28,7 +28,7 @@
/*!
\example tutorials/notepad
\title Getting Started Programming with Qt Widgets
\brief A tutorial for Qt Widgets based on a notepad application
\brief A tutorial for Qt Widgets based on a notepad application.
In this topic, we teach basic Qt knowledge by implementing a simple
Notepad application using C++ and the \l{Qt Widgets} module. The

View File

@ -73,6 +73,17 @@ Notepad::Notepad(QWidget *parent) :
{
ui->setupUi(this);
this->setCentralWidget(ui->textEdit);
// Disable menu actions for unavailable features
#if !QT_CONFIG(printer)
ui->actionPrint->setEnabled(false);
#endif
#if !QT_CONFIG(clipboard)
ui->actionCut->setEnabled(false);
ui->actionCopy->setEnabled(false);
ui->actionPaste->setEnabled(false);
#endif
}
Notepad::~Notepad()
@ -161,17 +172,23 @@ void Notepad::on_actionExit_triggered()
void Notepad::on_actionCopy_triggered()
{
#if QT_CONFIG(clipboard)
ui->textEdit->copy();
#endif
}
void Notepad::on_actionCut_triggered()
{
#if QT_CONFIG(clipboard)
ui->textEdit->cut();
#endif
}
void Notepad::on_actionPaste_triggered()
{
#if QT_CONFIG(clipboard)
ui->textEdit->paste();
#endif
}
void Notepad::on_actionUndo_triggered()

View File

@ -94,25 +94,25 @@ TestWidget::TestWidget(QWidget *parent):
//! [2]
QPushButton *switchButton = new QPushButton(tr("Switch text"));
connect(switchButton, SIGNAL(clicked(bool)), this, SLOT(switchText()));
connect(switchButton, &QPushButton::clicked, this, &TestWidget::switchText);
QPushButton *exitButton = new QPushButton(tr("Exit"));
connect(exitButton, SIGNAL(clicked(bool)), this, SLOT(close()));
connect(exitButton, &QPushButton::clicked, this, &TestWidget::close);
QLabel *label = new QLabel(tr("Elided"));
label->setVisible(elidedText->isElided());
connect(elidedText, SIGNAL(elisionChanged(bool)), label, SLOT(setVisible(bool)));
connect(elidedText, &ElidedLabel::elisionChanged, label, &QLabel::setVisible);
//! [2]
//! [3]
widthSlider = new QSlider(Qt::Horizontal);
widthSlider->setMinimum(0);
connect(widthSlider, SIGNAL(valueChanged(int)), this, SLOT(onWidthChanged(int)));
connect(widthSlider, &QSlider::valueChanged, this, &TestWidget::onWidthChanged);
heightSlider = new QSlider(Qt::Vertical);
heightSlider->setInvertedAppearance(true);
heightSlider->setMinimum(0);
connect(heightSlider, SIGNAL(valueChanged(int)), this, SLOT(onHeightChanged(int)));
connect(heightSlider, &QSlider::valueChanged, this, &TestWidget::onHeightChanged);
//! [3]
//! [4]
@ -165,4 +165,3 @@ void TestWidget::onHeightChanged(int height)
}
//! [8]

View File

@ -29,7 +29,7 @@
\example dombookmarks
\title DOM Bookmarks Example
\ingroup xml-examples
\brief Provides a reader for XML Bookmark Exchange Language files
\brief Provides a reader for XML Bookmark Exchange Language files.
The DOM Bookmarks example provides a reader for XML Bookmark Exchange Language (XBEL)
files that uses Qt's DOM-based XML API to read and parse the files. The SAX Bookmarks

View File

@ -28,7 +28,7 @@
/*!
\example saxbookmarks
\title SAX Bookmarks Example
\brief Demonstrates how to read XBEL files
\brief Demonstrates how to read XBEL files.
\ingroup xml-examples
This example uses Qt's SAX API to read and parse the files. The DOM Bookmarks

View File

@ -28,7 +28,7 @@
/*!
\example streambookmarks
\title QXmlStream Bookmarks Example
\brief Demonstrates how to read and write to XBEL files
\brief Demonstrates how to read and write to XBEL files.
\ingroup xml-examples
The QXmlStream Bookmarks example provides a reader for XML Bookmark

View File

@ -4,8 +4,8 @@
QMAKE_COMPILER = gcc clang llvm # clang pretends to be gcc
QMAKE_CC = clang
QMAKE_CXX = clang++
QMAKE_CC = $${CROSS_COMPILE}clang
QMAKE_CXX = $${CROSS_COMPILE}clang++
QMAKE_LINK_C = $$QMAKE_CC
QMAKE_LINK_C_SHLIB = $$QMAKE_CC

View File

@ -33,12 +33,19 @@ QMAKE_LIBS_DYNLOAD =
QMAKE_LIBS_OPENGL = -framework OpenGL -framework AGL
QMAKE_LIBS_THREAD =
QMAKE_INCDIR_WAYLAND =
QMAKE_LIBS_WAYLAND_CLIENT = -lwayland-client
QMAKE_LIBS_WAYLAND_SERVER = -lwayland-server
QMAKE_LIBDIR_WAYLAND =
QMAKE_DEFINES_WAYLAND =
QMAKE_WAYLAND_SCANNER = wayland-scanner
QMAKE_ACTOOL = actool
QMAKE_DSYMUTIL = dsymutil
QMAKE_STRIP = strip
QMAKE_STRIP = $${CROSS_COMPILE}strip
QMAKE_STRIPFLAGS_LIB += -S -x
QMAKE_AR = ar cq
QMAKE_RANLIB = ranlib -s
QMAKE_NM = nm -P
QMAKE_AR = $${CROSS_COMPILE}ar cq
QMAKE_RANLIB = $${CROSS_COMPILE}ranlib -s
QMAKE_NM = $${CROSS_COMPILE}nm -P

View File

@ -100,11 +100,16 @@ greaterThan(QMAKE_MSC_VER, 1909) {
# API is used in direct2d, but also in multimedia, positioning and sensors.
# We can try again with a later version of Visual Studio.
# QMAKE_CXXFLAGS_STRICTCXX = -permissive-
# MSVC partially supports the following, but '__cplusplus' definition is set
# as for C++98 until MSVC fully conforms with C++14, see
# https://developercommunity.visualstudio.com/content/problem/139261/msvc-incorrectly-defines-cplusplus.html
# QMAKE_CXXFLAGS_CXX14 = -std:c++14
# QMAKE_CXXFLAGS_CXX1Z = -std:c++latest
# Support became available in MSVC 2017 15.7:
greaterThan(QMAKE_MSC_VER, 1913) {
QMAKE_CXXFLAGS += -Zc:__cplusplus
QMAKE_CXXFLAGS_CXX14 = -std:c++14
QMAKE_CXXFLAGS_CXX1Z = -std:c++17
}
}
greaterThan(QMAKE_MSC_VER, 1910) {

View File

@ -11,7 +11,7 @@ CONFIG = \
testcase_targets import_plugins import_qpa_plugin \
$$CONFIG
!build_pass:defined(QT_EDITION, var):!equals(QT_EDITION, "OpenSource"):!equals(QT_EDITION, "Preview") {
!build_pass:!isEmpty(QT_LICHECK) {
#
# call license checker (but cache result for one day)
#

View File

@ -57,7 +57,7 @@ defineReplace(mocCmdBase) {
msvc: RET += --compiler-flavor=msvc
isEmpty(MOC_PREDEF_FILE): RET += $$join(QMAKE_COMPILER_DEFINES, " -D", -D)
else: RET += --include $$shell_quote($$moc_predefs.output)
else: RET += --include $$shell_quote($$absolute_path($$moc_predefs.output, $$OUT_PWD))
RET += $$incvar $$QMAKE_MOC_OPTIONS
return($$RET)

View File

@ -158,7 +158,7 @@ defineTest(qtConfCommandline_optionalString) {
nextok = $${3}
isEmpty(val) {
$$nextok: val = $$qtConfPeekNextCommandlineArg()
contains(val, "^-.*|[A-Z_]+=.*")|isEmpty(val): \
contains(val, "^-.*|[A-Z0-9_]+=.*")|isEmpty(val): \
val = "yes"
else: \
val = $$qtConfGetNextCommandlineArg()
@ -233,9 +233,9 @@ defineTest(qtConfParseCommandLine) {
$$didCustomCall: \
next()
contains(c, "([A-Z_]+)=(.*)") {
opt = $$replace(c, "^([A-Z_]+)=(.*)", "\\1")
val = $$replace(c, "^([A-Z_]+)=(.*)", "\\2")
contains(c, "([A-Z0-9_]+)=(.*)") {
opt = $$replace(c, "^([A-Z0-9_]+)=(.*)", "\\1")
val = $$replace(c, "^([A-Z0-9_]+)=(.*)", "\\2")
for (cc, allConfigs) {
var = $$eval($${cc}.commandline.assignments.$${opt})
!isEmpty(var): \

View File

@ -35,9 +35,9 @@ CONFIG += relative_qt_rpath # Qt's plugins should be relocatable
# Qt libraries should only use Application Extension safe APIs
darwin:!no_app_extension_api_only: CONFIG += app_extension_api_only
CONFIG(static, static|shared)|prefix_build {
isEmpty(MODULE): MODULE = $$basename(TARGET)
isEmpty(MODULE): MODULE = $$basename(TARGET)
CONFIG(static, static|shared)|prefix_build {
mod_work_pfx = $$MODULE_QMAKE_OUTDIR/mkspecs/modules
force_independent: \
mod_inst_pfx = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst

View File

@ -14,54 +14,14 @@
isEmpty(QMAKE_WAYLAND_SCANNER):error("QMAKE_WAYLAND_SCANNER not defined for this mkspec")
defineReplace(waylandScannerHeaderFiles) {
side = $$1
path = $$2
isEqual(side, "server"): \
sources_list = $$WAYLANDSERVERSOURCES $$WAYLANDSERVERSOURCES_SYSTEM
else: \
sources_list = $$WAYLANDCLIENTSOURCES $$WAYLANDCLIENTSOURCES_SYSTEM
wayland_header_files_for_side =
for(file, sources_list) {
basenameFile = $$basename(file)
basenameFile ~= s,\\.xml$,,
wayland_header_files_for_side += $$path/wayland-$$basenameFile-$$side-protocol$${first(QMAKE_EXT_H)}
isEqual(side, "server"): \
wayland_header_files_for_side += $$path/qwayland-server-$$basenameFile$${first(QMAKE_EXT_H)}
else: \
wayland_header_files_for_side += $$path/qwayland-$$basenameFile$${first(QMAKE_EXT_H)}
}
return($$wayland_header_files_for_side)
}
qt_install_headers {
header_dest = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
header_files_client = $$waylandScannerHeaderFiles(client, $$header_dest)
!isEmpty(header_files_client) {
wayland_generated_client_headers.files = $$header_files_client
wayland_generated_client_headers.path = $$private_headers.path
wayland_generated_client_headers.CONFIG = no_check_exist
INSTALLS += wayland_generated_client_headers
WAYLAND_CLIENT_HEADER_DEST = $$header_dest/
WAYLAND_CLIENT_INCLUDE_DIR = $$MODULE_INCNAME/private
}
header_files_server = $$waylandScannerHeaderFiles(server, $$header_dest)
!isEmpty(header_files_server) {
wayland_generated_server_headers.files = $$header_files_server
wayland_generated_server_headers.path = $$private_headers.path
wayland_generated_server_headers.CONFIG = no_check_exist
INSTALLS += wayland_generated_server_headers
WAYLAND_SERVER_HEADER_DEST = $$header_dest/
WAYLAND_SERVER_INCLUDE_DIR = $$MODULE_INCNAME/private
}
!isEmpty(MODULE_INCNAME) {
WAYLAND_INCLUDE_DIR = $$MODULE_INCNAME/private
}
wayland_server_header.name = wayland ${QMAKE_FILE_BASE}
wayland_server_header.input = WAYLANDSERVERSOURCES WAYLANDSERVERSOURCES_SYSTEM
wayland_server_header.variable_out = HEADERS
wayland_server_header.output = $${WAYLAND_SERVER_HEADER_DEST}wayland-${QMAKE_FILE_BASE}-server-protocol$${first(QMAKE_EXT_H)}
wayland_server_header.output = wayland-${QMAKE_FILE_BASE}-server-protocol$${first(QMAKE_EXT_H)}
wayland_server_header.commands = $$QMAKE_WAYLAND_SCANNER server-header < ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
silent:wayland_server_header.commands = @echo Wayland server header ${QMAKE_FILE_IN} && $$wayland_server_header.commands
QMAKE_EXTRA_COMPILERS += wayland_server_header
@ -69,7 +29,7 @@ QMAKE_EXTRA_COMPILERS += wayland_server_header
wayland_client_header.name = wayland ${QMAKE_FILE_BASE}
wayland_client_header.input = WAYLANDCLIENTSOURCES WAYLANDCLIENTSOURCES_SYSTEM
wayland_client_header.variable_out = HEADERS
wayland_client_header.output = $${WAYLAND_CLIENT_HEADER_DEST}wayland-${QMAKE_FILE_BASE}-client-protocol$${first(QMAKE_EXT_H)}
wayland_client_header.output = wayland-${QMAKE_FILE_BASE}-client-protocol$${first(QMAKE_EXT_H)}
wayland_client_header.commands = $$QMAKE_WAYLAND_SCANNER client-header < ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
silent:wayland_client_header.commands = @echo Wayland client header ${QMAKE_FILE_IN} && $$wayland_client_header.commands
QMAKE_EXTRA_COMPILERS += wayland_client_header
@ -87,35 +47,35 @@ qtPrepareTool(QMAKE_QTWAYLANDSCANNER, qtwaylandscanner)
qtwayland_client_header.name = qtwayland ${QMAKE_FILE_BASE}
qtwayland_client_header.input = WAYLANDCLIENTSOURCES WAYLANDCLIENTSOURCES_SYSTEM
qtwayland_client_header.variable_out = HEADERS
qtwayland_client_header.depends += $$QMAKE_QTWAYLANDSCANNER_EXE $${WAYLAND_CLIENT_HEADER_DEST}wayland-${QMAKE_FILE_BASE}-client-protocol$${first(QMAKE_EXT_H)}
qtwayland_client_header.output = $${WAYLAND_CLIENT_HEADER_DEST}qwayland-${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
qtwayland_client_header.commands = $$QMAKE_QTWAYLANDSCANNER client-header ${QMAKE_FILE_IN} $$WAYLAND_CLIENT_INCLUDE_DIR > ${QMAKE_FILE_OUT}
qtwayland_client_header.depends += $$QMAKE_QTWAYLANDSCANNER_EXE wayland-${QMAKE_FILE_BASE}-client-protocol$${first(QMAKE_EXT_H)}
qtwayland_client_header.output = qwayland-${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
qtwayland_client_header.commands = $$QMAKE_QTWAYLANDSCANNER client-header ${QMAKE_FILE_IN} $$WAYLAND_INCLUDE_DIR > ${QMAKE_FILE_OUT}
silent:qtwayland_client_header.commands = @echo QtWayland client header ${QMAKE_FILE_IN} && $$qtwayland_client_header.commands
QMAKE_EXTRA_COMPILERS += qtwayland_client_header
qtwayland_client_code.name = qtwayland ${QMAKE_FILE_BASE}
qtwayland_client_code.input = WAYLANDCLIENTSOURCES WAYLANDCLIENTSOURCES_SYSTEM
qtwayland_client_code.variable_out = SOURCES
qtwayland_client_code.depends += $$QMAKE_QTWAYLANDSCANNER_EXE $${WAYLAND_CLIENT_HEADER_DEST}qwayland-${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
qtwayland_client_code.depends += $$QMAKE_QTWAYLANDSCANNER_EXE qwayland-${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
qtwayland_client_code.output = qwayland-${QMAKE_FILE_BASE}.cpp
qtwayland_client_code.commands = $$QMAKE_QTWAYLANDSCANNER client-code ${QMAKE_FILE_IN} $$WAYLAND_CLIENT_INCLUDE_DIR > ${QMAKE_FILE_OUT}
qtwayland_client_code.commands = $$QMAKE_QTWAYLANDSCANNER client-code ${QMAKE_FILE_IN} $$WAYLAND_INCLUDE_DIR > ${QMAKE_FILE_OUT}
silent:qtwayland_client_code.commands = @echo QtWayland client code ${QMAKE_FILE_IN} && $$qtwayland_client_code.commands
QMAKE_EXTRA_COMPILERS += qtwayland_client_code
qtwayland_server_header.name = qtwayland ${QMAKE_FILE_BASE}
qtwayland_server_header.input = WAYLANDSERVERSOURCES WAYLANDSERVERSOURCES_SYSTEM
qtwayland_server_header.variable_out = HEADERS
qtwayland_server_header.depends += $$QMAKE_QTWAYLANDSCANNER_EXE $${WAYLAND_SERVER_HEADER_DEST}wayland-${QMAKE_FILE_BASE}-server-protocol$${first(QMAKE_EXT_H)}
qtwayland_server_header.output = $${WAYLAND_SERVER_HEADER_DEST}qwayland-server-${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
qtwayland_server_header.commands = $$QMAKE_QTWAYLANDSCANNER server-header ${QMAKE_FILE_IN} $$WAYLAND_SERVER_INCLUDE_DIR > ${QMAKE_FILE_OUT}
qtwayland_server_header.depends += $$QMAKE_QTWAYLANDSCANNER_EXE wayland-${QMAKE_FILE_BASE}-server-protocol$${first(QMAKE_EXT_H)}
qtwayland_server_header.output = qwayland-server-${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
qtwayland_server_header.commands = $$QMAKE_QTWAYLANDSCANNER server-header ${QMAKE_FILE_IN} $$WAYLAND_INCLUDE_DIR > ${QMAKE_FILE_OUT}
silent:qtwayland_server_header.commands = @echo QtWayland server header ${QMAKE_FILE_IN} && $$qtwayland_server_header.commands
QMAKE_EXTRA_COMPILERS += qtwayland_server_header
qtwayland_server_code.name = qtwayland ${QMAKE_FILE_BASE}
qtwayland_server_code.input = WAYLANDSERVERSOURCES WAYLANDSERVERSOURCES_SYSTEM
qtwayland_server_code.variable_out = SOURCES
qtwayland_server_code.depends += $$QMAKE_QTWAYLANDSCANNER_EXE $${WAYLAND_SERVER_HEADER_DEST}qwayland-server-${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
qtwayland_server_code.depends += $$QMAKE_QTWAYLANDSCANNER_EXE qwayland-server-${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
qtwayland_server_code.output = qwayland-server-${QMAKE_FILE_BASE}.cpp
qtwayland_server_code.commands = $$QMAKE_QTWAYLANDSCANNER server-code ${QMAKE_FILE_IN} $$WAYLAND_SERVER_INCLUDE_DIR > ${QMAKE_FILE_OUT}
qtwayland_server_code.commands = $$QMAKE_QTWAYLANDSCANNER server-code ${QMAKE_FILE_IN} $$WAYLAND_INCLUDE_DIR > ${QMAKE_FILE_OUT}
silent:qtwayland_server_code.commands = @echo QtWayland server code ${QMAKE_FILE_IN} && $$qtwayland_server_code.commands
QMAKE_EXTRA_COMPILERS += qtwayland_server_code

View File

@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildSystemType</key>
<string>Original</string>
<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
<false/>
</dict>

View File

@ -3624,7 +3624,7 @@
\section2 mkpath(dirPath)
Creates the directory path \c dirPath. This function is a wrapper around the
QDir::makepath function.
QDir::mkpath function.
\section2 requires(condition)

View File

@ -1613,7 +1613,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
// The configuration build dir however is not treated as excluded,
// so we can safely point it to the root output dir.
t << "\t\t\t\t" << writeSettings("CONFIGURATION_BUILD_DIR",
Option::output_dir + Option::dir_sep + "$(CONFIGURATION)") << ";\n";
Option::output_dir + Option::dir_sep + "$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)") << ";\n";
if (!project->isEmpty("DESTDIR")) {
ProString dir = project->first("DESTDIR");

View File

@ -1141,7 +1141,7 @@ MakefileGenerator::writeObj(QTextStream &t, const char *src)
QString srcf = (*sit).toQString();
QString dstf = (*oit).toQString();
t << escapeDependencyPath(dstf) << ": " << escapeDependencyPath(srcf)
<< " " << escapeDependencyPaths(findDependencies(srcf)).join(" \\\n\t\t");
<< " " << finalizeDependencyPaths(findDependencies(srcf)).join(" \\\n\t\t");
ProKey comp;
for (const ProString &compiler : project->values("QMAKE_BUILTIN_COMPILERS")) {
@ -2013,7 +2013,7 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
if (config.indexOf("explicit_dependencies") != -1) {
t << " " << valList(escapeDependencyPaths(fileFixify(tmp_dep, FileFixifyFromOutdir)));
} else {
t << " " << valList(escapeDependencyPaths(inputs)) << " " << valList(escapeDependencyPaths(deps));
t << " " << valList(escapeDependencyPaths(inputs)) << " " << valList(finalizeDependencyPaths(deps));
}
t << "\n\t" << cmd << endl << endl;
continue;
@ -2133,7 +2133,7 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
else
++i;
}
t << escapeDependencyPath(out) << ": " << valList(escapeDependencyPaths(deps)) << "\n\t"
t << escapeDependencyPath(out) << ": " << valList(finalizeDependencyPaths(deps)) << "\n\t"
<< cmd << endl << endl;
}
}
@ -2823,6 +2823,19 @@ MakefileGenerator::escapeFilePaths(const ProStringList &paths) const
return ret;
}
QString
MakefileGenerator::escapeDependencyPath(const QString &path) const
{
QString ret = path;
if (!ret.isEmpty()) {
// Unix make semantics, to be inherited by unix and mingw generators.
static const QRegExp criticalChars(QStringLiteral("([\t :#])"));
ret.replace(criticalChars, QStringLiteral("\\\\1"));
debug_msg(2, "escapeDependencyPath: %s -> %s", path.toLatin1().constData(), ret.toLatin1().constData());
}
return ret;
}
ProString
MakefileGenerator::escapeDependencyPath(const ProString &path) const
{
@ -2851,6 +2864,17 @@ MakefileGenerator::escapeDependencyPaths(const ProStringList &paths) const
return ret;
}
QStringList
MakefileGenerator::finalizeDependencyPaths(const QStringList &paths) const
{
QStringList ret;
const int size = paths.size();
ret.reserve(size);
for (int i = 0; i < size; ++i)
ret.append(escapeDependencyPath(Option::fixPathToTargetOS(paths.at(i), false)));
return ret;
}
QStringList
MakefileGenerator::fileFixify(const QStringList &files, FileFixifyTypes fix, bool canon) const
{

View File

@ -130,15 +130,17 @@ protected:
QMakeProject *project;
//escape
virtual QString escapeFilePath(const QString &path) const { return path; }
virtual QString escapeFilePath(const QString &path) const = 0;
ProString escapeFilePath(const ProString &path) const;
QStringList escapeFilePaths(const QStringList &paths) const;
ProStringList escapeFilePaths(const ProStringList &paths) const;
virtual QString escapeDependencyPath(const QString &path) const { return escapeFilePath(path); }
virtual QString escapeDependencyPath(const QString &path) const;
ProString escapeDependencyPath(const ProString &path) const;
QStringList escapeDependencyPaths(const QStringList &paths) const;
ProStringList escapeDependencyPaths(const ProStringList &paths) const;
QStringList finalizeDependencyPaths(const QStringList &paths) const;
//initialization
void verifyCompilers();
virtual void init();

View File

@ -1050,7 +1050,7 @@ void QMakeSourceFileInfo::saveCache(const QString &cf)
QFile file(QMakeLocalFileName(cf).local());
if(file.open(QIODevice::WriteOnly)) {
QTextStream stream(&file);
stream << qmake_version() << endl << endl; //version
stream << QMAKE_VERSION_STR << endl << endl; //version
{ //cache verification
QMap<QString, QStringList> verify = getCacheVerification();
stream << verify.count() << endl;
@ -1105,11 +1105,11 @@ void QMakeSourceFileInfo::loadCache(const QString &cf)
return;
QFile file;
if(!file.open(QIODevice::ReadOnly, fd))
if (!file.open(fd, QIODevice::ReadOnly))
return;
QTextStream stream(&file);
if(stream.readLine() == qmake_version()) { //version check
if (stream.readLine() == QMAKE_VERSION_STR) { //version check
stream.skipWhiteSpace();
bool verified = true;

View File

@ -42,6 +42,9 @@ class ProjectGenerator : public MakefileGenerator
protected:
virtual void init();
virtual bool writeMakefile(QTextStream &);
virtual QString escapeFilePath(const QString &path) const { Q_ASSERT(false); return QString(); }
public:
ProjectGenerator();
~ProjectGenerator();

View File

@ -375,7 +375,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
QStringList deps = findDependencies((*it).toQString()).filter(QRegExp(
"((^|/)" + Option::h_moc_mod + "|" + Option::cpp_moc_ext + "$)"));
if(!deps.isEmpty())
t << d_file_d << ": " << escapeDependencyPaths(deps).join(' ') << endl;
t << d_file_d << ": " << finalizeDependencyPaths(deps).join(' ') << endl;
t << "-include " << d_file_d << endl;
project->values("QMAKE_DISTCLEAN") += d_file;
}
@ -1191,7 +1191,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
<< "EXPORT_QMAKE_XARCH_LFLAGS = $(EXPORT_QMAKE_XARCH_LFLAGS_" << arch << ")" << "\n\n";
}
t << pchFilePath_d << ": " << escapeDependencyPath(pchInput) << ' '
<< escapeDependencyPaths(findDependencies(pchInput)).join(" \\\n\t\t");
<< finalizeDependencyPaths(findDependencies(pchInput)).join(" \\\n\t\t");
if (project->isActiveConfig("icc_pch_style")) {
QString sourceFile = pchArchOutput + Option::cpp_ext.first();
QString sourceFile_f = escapeFilePath(sourceFile);

View File

@ -46,8 +46,7 @@ QString MingwMakefileGenerator::escapeDependencyPath(const QString &path) const
{
QString ret = path;
ret.replace('\\', "/"); // ### this shouldn't be here
ret.replace(' ', QLatin1String("\\ "));
return ret;
return MakefileGenerator::escapeDependencyPath(ret);
}
QString MingwMakefileGenerator::getManifestFileForRcFile() const
@ -165,13 +164,13 @@ void MingwMakefileGenerator::writeMingwParts(QTextStream &t)
QString header = project->first("PRECOMPILED_HEADER").toQString();
QString cHeader = preCompHeaderOut + Option::dir_sep + "c";
t << escapeDependencyPath(cHeader) << ": " << escapeDependencyPath(header) << " "
<< escapeDependencyPaths(findDependencies(header)).join(" \\\n\t\t")
<< finalizeDependencyPaths(findDependencies(header)).join(" \\\n\t\t")
<< "\n\t" << mkdir_p_asstring(preCompHeaderOut)
<< "\n\t$(CC) -x c-header -c $(CFLAGS) $(INCPATH) -o " << escapeFilePath(cHeader)
<< ' ' << escapeFilePath(header) << endl << endl;
QString cppHeader = preCompHeaderOut + Option::dir_sep + "c++";
t << escapeDependencyPath(cppHeader) << ": " << escapeDependencyPath(header) << " "
<< escapeDependencyPaths(findDependencies(header)).join(" \\\n\t\t")
<< finalizeDependencyPaths(findDependencies(header)).join(" \\\n\t\t")
<< "\n\t" << mkdir_p_asstring(preCompHeaderOut)
<< "\n\t$(CXX) -x c++-header -c $(CXXFLAGS) $(INCPATH) -o " << escapeFilePath(cppHeader)
<< ' ' << escapeFilePath(header) << endl << endl;

View File

@ -39,8 +39,8 @@ public:
MingwMakefileGenerator();
~MingwMakefileGenerator();
protected:
QString escapeDependencyPath(const QString &path) const;
ProString escapeDependencyPath(const ProString &path) const { return MakefileGenerator::escapeDependencyPath(path); }
using MakefileGenerator::escapeDependencyPath;
virtual QString escapeDependencyPath(const QString &path) const;
virtual ProString fixLibFlag(const ProString &lib);
virtual QString getManifestFileForRcFile() const;
bool writeMakefile(QTextStream &);

View File

@ -321,7 +321,7 @@ void NmakeMakefileGenerator::writeNmakeParts(QTextStream &t)
QString precompRule = QString("-c -Yc -Fp%1 -Fo%2")
.arg(escapeFilePath(precompPch), escapeFilePath(precompObj));
t << escapeDependencyPath(precompObj) << ": " << escapeDependencyPath(precompH) << ' '
<< escapeDependencyPaths(findDependencies(precompH)).join(" \\\n\t\t")
<< finalizeDependencyPaths(findDependencies(precompH)).join(" \\\n\t\t")
<< "\n\t$(CXX) " + precompRule +" $(CXXFLAGS) $(INCPATH) -TP "
<< escapeFilePath(precompH) << endl << endl;
}
@ -329,7 +329,7 @@ void NmakeMakefileGenerator::writeNmakeParts(QTextStream &t)
QString precompRuleC = QString("-c -Yc -Fp%1 -Fo%2")
.arg(escapeFilePath(precompPchC), escapeFilePath(precompObjC));
t << escapeDependencyPath(precompObjC) << ": " << escapeDependencyPath(precompH) << ' '
<< escapeDependencyPaths(findDependencies(precompH)).join(" \\\n\t\t")
<< finalizeDependencyPaths(findDependencies(precompH)).join(" \\\n\t\t")
<< "\n\t$(CC) " + precompRuleC +" $(CFLAGS) $(INCPATH) -TC "
<< escapeFilePath(precompH) << endl << endl;
}
@ -619,6 +619,8 @@ void NmakeMakefileGenerator::writeBuildRulesPart(QTextStream &t)
}
} else {
manifest = fileFixify(manifest);
if (linkerSupportsEmbedding)
extraLFlags = "/MANIFEST:embed /MANIFESTINPUT:" + escapeFilePath(manifest);
}
const QString resourceId = (templateName == "app") ? "1" : "2";

View File

@ -773,6 +773,18 @@ QString Win32MakefileGenerator::escapeFilePath(const QString &path) const
return ret;
}
QString Win32MakefileGenerator::escapeDependencyPath(const QString &path) const
{
QString ret = path;
if (!ret.isEmpty()) {
static const QRegExp criticalChars(QStringLiteral("([\t #])"));
if (ret.contains(criticalChars))
ret = "\"" + ret + "\"";
debug_msg(2, "EscapeDependencyPath: %s -> %s", path.toLatin1().constData(), ret.toLatin1().constData());
}
return ret;
}
QString Win32MakefileGenerator::cQuoted(const QString &str)
{
QString ret = str;

View File

@ -47,8 +47,10 @@ protected:
virtual void writeObjectsPart(QTextStream &t);
virtual void writeImplicitRulesPart(QTextStream &t);
virtual void writeBuildRulesPart(QTextStream &);
using MakefileGenerator::escapeFilePath;
virtual QString escapeFilePath(const QString &path) const;
ProString escapeFilePath(const ProString &path) const { return MakefileGenerator::escapeFilePath(path); }
using MakefileGenerator::escapeDependencyPath;
virtual QString escapeDependencyPath(const QString &path) const;
virtual void writeRcFilePart(QTextStream &t);

View File

@ -83,7 +83,7 @@ class MacroExpander : public Lexer
Diagnostics *mDiagnostics;
bool mParseDefined;
std::auto_ptr<Token> mReserveToken;
std::unique_ptr<Token> mReserveToken;
std::vector<MacroContext *> mContextStack;
};

View File

@ -0,0 +1,31 @@
From 946903d23ae361ddb05d2c0f64b339eb1694311b Mon Sep 17 00:00:00 2001
From: Corentin Wallez <cwallez@chromium.org>
Date: Mon, 18 Apr 2016 17:30:07 -0400
Subject: [PATCH] Remove usage of auto_ptr in MacroExpander
BUG=angleproject:1269
Change-Id: I1fafa102b065f6da1797e8790ec3ed498d9d8b45
Reviewed-on: https://chromium-review.googlesource.com/339379
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
---
src/compiler/preprocessor/MacroExpander.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/compiler/preprocessor/MacroExpander.h b/src/compiler/preprocessor/MacroExpander.h
index 3cc860d75..dc870f626 100644
--- a/src/3rdparty/angle/src/compiler/preprocessor/MacroExpander.h
+++ b/src/3rdparty/angle/src/compiler/preprocessor/MacroExpander.h
@@ -83,7 +83,7 @@ class MacroExpander : public Lexer
Diagnostics *mDiagnostics;
bool mParseDefined;
- std::auto_ptr<Token> mReserveToken;
+ std::unique_ptr<Token> mReserveToken;
std::vector<MacroContext *> mContextStack;
};
--
2.15.0.windows.1

View File

@ -28,7 +28,7 @@
/*!
\module QtConcurrent
\title Qt Concurrent C++ Classes
\brief The Qt Concurrent module contains functionality to support concurrent execution of program code
\brief The Qt Concurrent module contains functionality to support concurrent execution of program code.
\ingroup modules
\qtvariable concurrent

View File

@ -294,3 +294,54 @@ function(QT5_ADD_RESOURCES outfiles )
endfunction()
set(_Qt5_COMPONENT_PATH "${CMAKE_CURRENT_LIST_DIR}/..")
if (NOT CMAKE_VERSION VERSION_LESS 2.8.9)
macro(qt5_use_modules _target _link_type)
if(NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.11)
if(CMAKE_WARN_DEPRECATED)
set(messageType WARNING)
endif()
if(CMAKE_ERROR_DEPRECATED)
set(messageType FATAL_ERROR)
endif()
if(messageType)
message(${messageType} "The qt5_use_modules macro is obsolete. Use target_link_libraries with IMPORTED targets instead.")
endif()
endif()
if (NOT TARGET ${_target})
message(FATAL_ERROR "The first argument to qt5_use_modules must be an existing target.")
endif()
if ("${_link_type}" STREQUAL "LINK_PUBLIC" OR "${_link_type}" STREQUAL "LINK_PRIVATE" )
set(_qt5_modules ${ARGN})
set(_qt5_link_type ${_link_type})
else()
set(_qt5_modules ${_link_type} ${ARGN})
endif()
if ("${_qt5_modules}" STREQUAL "")
message(FATAL_ERROR "qt5_use_modules requires at least one Qt module to use.")
endif()
foreach(_module ${_qt5_modules})
if (NOT Qt5${_module}_FOUND)
find_package(Qt5${_module} PATHS "${_Qt5_COMPONENT_PATH}" NO_DEFAULT_PATH)
if (NOT Qt5${_module}_FOUND)
message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
endif()
endif()
target_link_libraries(${_target} ${_qt5_link_type} ${Qt5${_module}_LIBRARIES})
set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_module}_INCLUDE_DIRS})
set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_module}_COMPILE_DEFINITIONS})
set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_DEBUG)
set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO QT_NO_DEBUG)
set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS_MINSIZEREL QT_NO_DEBUG)
if (Qt5_POSITION_INDEPENDENT_CODE
AND (CMAKE_VERSION VERSION_LESS 2.8.12
AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU"
OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)))
set_property(TARGET ${_target} PROPERTY POSITION_INDEPENDENT_CODE ${Qt5_POSITION_INDEPENDENT_CODE})
endif()
endforeach()
endmacro()
endif()

View File

@ -40,7 +40,7 @@
/*!
\class QPropertyAnimation
\inmodule QtCore
\brief The QPropertyAnimation class animates Qt properties
\brief The QPropertyAnimation class animates Qt properties.
\since 4.6
\ingroup animation

View File

@ -629,7 +629,7 @@
# define Q_COMPILER_THREAD_LOCAL
# define Q_COMPILER_UDL
# endif
# elif defined(__STDC_VERSION__) && __STDC_VERSION__ > 199901L s
# elif defined(__STDC_VERSION__) && __STDC_VERSION__ > 199901L
// C11 features supported. Only tested with ICC 17 and up.
# define Q_COMPILER_STATIC_ASSERT
# if __has_include(<threads.h>)

View File

@ -1038,6 +1038,11 @@ Q_STATIC_ASSERT((std::is_same<qsizetype, qptrdiff>::value));
\snippet code/src_corelib_global_qglobal.cpp 53
\note Qt detects the necessary C++14 compiler support by way of the feature
test recommendations from
\l{https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations}
{C++ Committee's Standing Document 6}.
\sa qConstOverload(), qNonConstOverload(), {Differences between String-Based
and Functor-Based Connections}
*/

View File

@ -3,9 +3,9 @@
** Copyright (C) 2016 Intel Corporation.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
@ -14,25 +14,13 @@
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/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 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or (at your option) the GNU General
** Public license version 3 or any later version approved by the KDE Free
** Qt Foundation. The licenses are as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
** https://www.gnu.org/licenses/gpl-3.0.html.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
@ -336,7 +324,7 @@
\threadsafe
\inmodule QtCore
\since 5.1
\brief The QGlobalStatic class is used to implement a global static object
\brief The QGlobalStatic class is used to implement a global static object.
The QGlobalStatic class is the front-end API exported when
Q_GLOBAL_STATIC() is used. See the documentation for the macro for a

View File

@ -437,6 +437,14 @@ const QOperatingSystemVersion QOperatingSystemVersion::MacOSSierra =
const QOperatingSystemVersion QOperatingSystemVersion::MacOSHighSierra =
QOperatingSystemVersion(QOperatingSystemVersion::MacOS, 10, 13);
/*!
\variable QOperatingSystemVersion::MacOSMojave
\brief a version corresponding to macOS Mojave (version 10.14).
\since 5.11.2
*/
const QOperatingSystemVersion QOperatingSystemVersion::MacOSMojave =
QOperatingSystemVersion(QOperatingSystemVersion::MacOS, 10, 14);
/*!
\variable QOperatingSystemVersion::AndroidJellyBean
\brief a version corresponding to Android Jelly Bean (version 4.1, API level 16).

View File

@ -70,6 +70,7 @@ public:
static const QOperatingSystemVersion OSXElCapitan;
static const QOperatingSystemVersion MacOSSierra;
static const QOperatingSystemVersion MacOSHighSierra;
static const QOperatingSystemVersion MacOSMojave;
static const QOperatingSystemVersion AndroidJellyBean;
static const QOperatingSystemVersion AndroidJellyBean_MR1;

View File

@ -97,7 +97,7 @@ static inline OSVERSIONINFOEX determineWinOsVersion()
// because linking to it at load time will not pass the Windows App Certification Kit
// https://msdn.microsoft.com/en-us/library/windows/hardware/ff561910.aspx
RtlGetVersionFunction pRtlGetVersion = reinterpret_cast<RtlGetVersionFunction>(
GetProcAddressA(ntdll, "RtlGetVersion"));
reinterpret_cast<QFunctionPointer>(GetProcAddressA(ntdll, "RtlGetVersion")));
if (Q_UNLIKELY(!pRtlGetVersion))
return result;

View File

@ -216,18 +216,6 @@
# // Numerical checks are preferred to named checks, but to be safe
# // we define the missing version names in case Qt uses them.
#
# if !defined(__MAC_10_7)
# define __MAC_10_7 1070
# endif
# if !defined(__MAC_10_8)
# define __MAC_10_8 1080
# endif
# if !defined(__MAC_10_9)
# define __MAC_10_9 1090
# endif
# if !defined(__MAC_10_10)
# define __MAC_10_10 101000
# endif
# if !defined(__MAC_10_11)
# define __MAC_10_11 101100
# endif
@ -237,17 +225,8 @@
# if !defined(__MAC_10_13)
# define __MAC_10_13 101300
# endif
# if !defined(MAC_OS_X_VERSION_10_7)
# define MAC_OS_X_VERSION_10_7 1070
# endif
# if !defined(MAC_OS_X_VERSION_10_8)
# define MAC_OS_X_VERSION_10_8 1080
# endif
# if !defined(MAC_OS_X_VERSION_10_9)
# define MAC_OS_X_VERSION_10_9 1090
# endif
# if !defined(MAC_OS_X_VERSION_10_10)
# define MAC_OS_X_VERSION_10_10 101000
# if !defined(__MAC_10_14)
# define __MAC_10_14 101400
# endif
# if !defined(MAC_OS_X_VERSION_10_11)
# define MAC_OS_X_VERSION_10_11 101100
@ -258,55 +237,10 @@
# if !defined(MAC_OS_X_VERSION_10_13)
# define MAC_OS_X_VERSION_10_13 101300
# endif
# if !defined(MAC_OS_X_VERSION_10_14)
# define MAC_OS_X_VERSION_10_14 101400
# endif
#
# if !defined(__IPHONE_4_3)
# define __IPHONE_4_3 40300
# endif
# if !defined(__IPHONE_5_0)
# define __IPHONE_5_0 50000
# endif
# if !defined(__IPHONE_5_1)
# define __IPHONE_5_1 50100
# endif
# if !defined(__IPHONE_6_0)
# define __IPHONE_6_0 60000
# endif
# if !defined(__IPHONE_6_1)
# define __IPHONE_6_1 60100
# endif
# if !defined(__IPHONE_7_0)
# define __IPHONE_7_0 70000
# endif
# if !defined(__IPHONE_7_1)
# define __IPHONE_7_1 70100
# endif
# if !defined(__IPHONE_8_0)
# define __IPHONE_8_0 80000
# endif
# if !defined(__IPHONE_8_1)
# define __IPHONE_8_1 80100
# endif
# if !defined(__IPHONE_8_2)
# define __IPHONE_8_2 80200
# endif
# if !defined(__IPHONE_8_3)
# define __IPHONE_8_3 80300
# endif
# if !defined(__IPHONE_8_4)
# define __IPHONE_8_4 80400
# endif
# if !defined(__IPHONE_9_0)
# define __IPHONE_9_0 90000
# endif
# if !defined(__IPHONE_9_1)
# define __IPHONE_9_1 90100
# endif
# if !defined(__IPHONE_9_2)
# define __IPHONE_9_2 90200
# endif
# if !defined(__IPHONE_9_3)
# define __IPHONE_9_3 90300
# endif
# if !defined(__IPHONE_10_0)
# define __IPHONE_10_0 100000
# endif
@ -322,6 +256,9 @@
# if !defined(__IPHONE_11_0)
# define __IPHONE_11_0 110000
# endif
# if !defined(__IPHONE_12_0)
# define __IPHONE_12_0 120000
# endif
#endif
#ifdef __LSB_VERSION__

View File

@ -842,7 +842,7 @@ QDebug &QDebug::resetFormat()
/*!
\class QDebugStateSaver
\inmodule QtCore
\brief Convenience class for custom QDebug operators
\brief Convenience class for custom QDebug operators.
Saves the settings used by QDebug, and restores them upon destruction,
then calls \l {QDebug::maybeSpace()}{maybeSpace()}, to separate arguments with a space if

View File

@ -302,7 +302,8 @@ QStringList QInotifyFileSystemWatcherEngine::addPaths(const QStringList &paths,
| IN_DELETE_SELF
)));
if (wd < 0) {
qWarning().nospace() << "inotify_add_watch(" << path << ") failed: " << QSystemError(errno, QSystemError::NativeError).toString();
if (errno != ENOENT)
qErrnoWarning("inotify_add_watch(%ls) failed:", path.constData());
continue;
}

View File

@ -153,9 +153,8 @@ QString QLockFilePrivate::processNameByPid(qint64 pid)
HMODULE hPsapi = LoadLibraryA("psapi");
if (!hPsapi)
return QString();
GetModuleFileNameExFunc qGetModuleFileNameEx
= (GetModuleFileNameExFunc)GetProcAddress(hPsapi, "GetModuleFileNameExW");
GetModuleFileNameExFunc qGetModuleFileNameEx = reinterpret_cast<GetModuleFileNameExFunc>(
reinterpret_cast<QFunctionPointer>(GetProcAddress(hPsapi, "GetModuleFileNameExW")));
if (!qGetModuleFileNameEx) {
FreeLibrary(hPsapi);
return QString();

Some files were not shown because too many files have changed in this diff Show More