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:
commit
e3ed2281c0
@ -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.
|
||||
|
913
LICENSE.QT-LICENSE-AGREEMENT-4.0
Normal file
913
LICENSE.QT-LICENSE-AGREEMENT-4.0
Normal 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
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
144
dist/changes-5.11.1
vendored
Normal 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
122
dist/changes-5.9.5
vendored
Normal 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
46
dist/changes-5.9.6
vendored
Normal 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.
|
@ -10,10 +10,10 @@ HTML.footer = \
|
||||
" <p>\n" \
|
||||
" <acronym title=\"Copyright\">©</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" \
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
*/
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
BIN
examples/opengl/hellogles3/doc/images/hellogles3-example.png
Normal file
BIN
examples/opengl/hellogles3/doc/images/hellogles3-example.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 60 KiB |
@ -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
|
||||
*/
|
@ -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 |
@ -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
|
||||
|
@ -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."));
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -33,7 +33,7 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Books</string>
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout">
|
||||
<property name="spacing">
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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();
|
||||
|
@ -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
|
||||
|
@ -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()
|
||||
|
@ -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]
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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) {
|
||||
|
@ -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)
|
||||
#
|
||||
|
@ -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)
|
||||
|
@ -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): \
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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");
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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 &);
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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()
|
||||
|
@ -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
|
||||
|
@ -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>)
|
||||
|
@ -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}
|
||||
*/
|
||||
|
@ -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
|
||||
|
@ -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).
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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__
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user