diff --git a/scripts/shipping/prepare-linux-qt-for-shipping.sh b/scripts/shipping/prepare-linux-qt-for-shipping.sh deleted file mode 100755 index b8c058a84cb6dcf3b09ee3fc9ca242fdf69d25d9..0000000000000000000000000000000000000000 --- a/scripts/shipping/prepare-linux-qt-for-shipping.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env bash - -version="4.5-rc1" -workdir=/home/berlin/dev/qt-${version}-temp -destdir=/home/berlin/dev/qt-${version}-shipping/qt # "/qt" suffix for Bitrock -dir=qt-x11-opensource-src-${version} -file_tar="${dir}.tar" -file_tar_gz="${file_tar}.gz" -[ -z ${MAKE} ] && MAKE=make -envpath=/usr/bin:/bin - -if gcc -dumpversion | grep '^4' ; then - # GCC 4.x machine - webkit= -else - # GCC 3.3.5 machine - webkit='-no-webkit' -fi - - -die() { - echo $1 1>&2 - exit 1 -} - -rand_range() { - incMin=$1 - incMax=$2 - echo $((RANDOM*(incMax-incMin+1)/32768+incMin)) -} - - -setup() { - mkdir -p "${workdir}" - cd "${workdir}" || die "cd failed" -} - -download() { - [ -f "${file_tar_gz}" ] && return - case `rand_range 1 2` in - 1) - mirror=http://ftp.ntua.gr/pub/X11/Qt/qt/source - ;; - *) - mirror=http://wftp.tu-chemnitz.de/pub/Qt/qt/source - ;; - esac - wget "${mirror}/${file_tar_gz}" || die "Download failed" -} - -unpack() { - [ -d "${dir}" ] && return - gzip -d "${file_tar_gz}" || die "gunzip failed" - tar -xf "${file_tar}" || die "untar failed" -} - -build() { - ( - cd "${dir}" || die "cd failed" - if [ ! -f config.status ] ; then - env -i PATH=${envpath} ./configure \ - -prefix "${destdir}" \ - -optimized-qmake \ - -confirm-license \ - \ - -no-mmx -no-sse -no-sse2 -no-3dnow \ - -release -fast \ - ${webkit} \ - -qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg \ - \ - || die "configure failed" - fi - - env -i PATH=${envpath} "${MAKE}" || die "make failed" - ) - ret=$?; [ ${ret} = 0 ] || exit ${ret} -} - -inst() { - ( - cd "${dir}" || die "cd failed" - if [ ! -d "${destdir}" ]; then - mkdir -p "${destdir}" - env -i "${MAKE}" install || die "make install failed" - fi - - # Fix rpath's - cd "${destdir}" || die "cd failed" - find bin -mindepth 1 -maxdepth 1 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../lib' - find lib -mindepth 1 -maxdepth 1 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN' - find . -mindepth 3 -maxdepth 3 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../../lib' - find . -mindepth 4 -maxdepth 4 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../../../lib' - find . -mindepth 5 -maxdepth 5 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../../../../lib' - ) - ret=$?; [ ${ret} = 0 ] || exit ${ret} -} - -main() { - ( - setup - download - unpack - build - inst - ) - ret=$?; [ ${ret} = 0 ] || exit ${ret} -} - -main diff --git a/share/qtcreator/license.txt b/share/qtcreator/license.txt deleted file mode 100644 index e965c1d70f3362db24e0631a3928e0fedb9c3813..0000000000000000000000000000000000000000 --- a/share/qtcreator/license.txt +++ /dev/null @@ -1,229 +0,0 @@ -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 "Beta Version License -Agreement (Agreement version 2.2): The Americas". - -For individuals and/or legal entities not resident in The Americas, the applicable licensing terms are specified under the heading " Beta Version License Agreement (Agreement version 2.2): Rest of the World". - ----------------------------------------- - -BETA VERSION LICENSE AGREEMENT -Agreement version 2.2 "Rest of the World" - -This Beta Version License Agreement ("Agreement") is a legal agreement between Nokia Corporation ("Nokia"), with its registered office at Keilalahdentie 4, 02150 Espoo, 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 from the later of (a) the Effective Date; or (b) the date the Licensed Software was initially delivered to Licensee by Nokia until thirty (30) days after Nokia's next beta or commercial release of a version of the Licensed Software with the same major and minor version number as the Licensed Software. 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. Notwithstanding the foregoing, in no event shall the term exceed six (6) months from the date Nokia initially delivered the Licensed Software 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 Nokia to Licensee in conjunction with this Agreement. - -"Party or Parties" shall mean Licensee and/or Nokia. - - -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 Nokia regarding the Licensed Software, Nokia 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 Nokia 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 Nokia containing Feedback,, and (iii) sublicense all the foregoing rights to third party licensees and customers of Nokia 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, Nokia grants Licensee the right to use the Licensed Software in the manner provided below. - - -4. LICENSES - -4.1. Using and Copying - -Nokia 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 testing 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 Support - -Nokia has no obligation to furnish Licensee with maintenance, technical support or updates for the Licensed Software provided under this Agreement. However, Nokia may, in its sole discretion, provide further pre-release versions, technical support, updates and/or supplements of the Licensed Software and/or related information ("Support and Updates") to Licensee hereunder, in which case Support and Updates shall also be deemed to be included in the Licensed Software and therefore governed by the terms of this Agreement, unless other terms of use are provided by Nokia with such Support and Updates. - - -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. Nokia 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, however Applications may be distributed within Licensee's organization for testing purposes. 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, Nokia 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, Nokia's warranty disclaimer notwithstanding, Nokia is held liable to Licensee, whether in contract, tort or any other legal theory, based on the Licensed Software, Nokia's entire liability to Licensee and Licensee's exclusive remedy shall be, at Nokia'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 Nokia all copies of the Licensed Software as originally delivered to Licensee. Nokia 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 Nokia 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 Nokia to Licensee shall not exceed the total amount Licensee has paid to Nokia 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 Nokia and Licensee conflict with the terms of this Section 8, this Section 8 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 Nokia, which shall not be unreasonably withheld. - -10.2 Termination - -Nokia may terminate the Agreement at any time immediately upon written notice by Nokia to Licensee if Licensee breaches this Agreement. - -Upon termination of this Agreement, Licensee shall return to Nokia all copies of Licensed Software that were supplied by Nokia. 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 Nokia 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 8. 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 Nokia 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 under the Rules of Arbitration of the Chamber of Commerce of Helsinki, Finland. 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 Nokia 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 Nokia 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. - ---------------------------------------------- - - -BETA VERSION LICENSE AGREEMENT -Agreement version 2.2"The Americas" - -This Beta Version License Agreement ("Agreement") is a legal agreement between Nokia Inc. ("Nokia"), with its registered office at 6021 Connection Drive, Irving, TX 75039 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 from the later of (a) the Effective Date; or (b) the date the Licensed Software was initially delivered to Licensee by Nokia until thirty (30) days after Nokia's next beta or commercial release of a version of the Licensed Software with the same major and minor version number as the Licensed Software. 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. Notwithstanding the foregoing, in no event shall the term exceed six (6) months from the date Nokia initially delivered the Licensed Software 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 Nokia to Licensee in conjunction with this Agreement. - -"Party or Parties" shall mean Licensee and/or Nokia. - - -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 Nokia regarding the Licensed Software, Nokia 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 Nokia 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 Nokia containing Feedback,, and (iii) sublicense all the foregoing rights to third party licensees and customers of Nokia 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, Nokia grants Licensee the right to use the Licensed Software in the manner provided below. - - -4. LICENSES - -4.1. Using and Copying - -Nokia 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 testing 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 Support - -Nokia has no obligation to furnish Licensee with maintenance, technical support or updates for the Licensed Software provided under this Agreement. However, Nokia may, in its sole discretion, provide further pre-release versions, technical support, updates and/or supplements of the Licensed Software and/or related information ("Support and Updates") to Licensee hereunder, in which case Support and Updates shall also be deemed to be included in the Licensed Software and therefore governed by the terms of this Agreement, unless other terms of use are provided by Nokia with such Support and Updates. - - -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. Nokia 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, however Applications may be distributed within Licensee's organization for testing purposes. 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, Nokia 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, Nokia's warranty disclaimer notwithstanding, Nokia is held liable to Licensee, whether in contract, tort or any other legal theory, based on the Licensed Software, Nokia's entire liability to Licensee and Licensee's exclusive remedy shall be, at Nokia'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 Nokia all copies of the Licensed Software as originally delivered to Licensee. Nokia 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 Nokia 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 Nokia to Licensee shall not exceed the total amount Licensee has paid to Nokia 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 Nokia and Licensee conflict with the terms of this Section 8, this Section 8 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 Nokia, which shall not be unreasonably withheld. - -10.2 Termination - -Nokia may terminate the Agreement at any time immediately upon written notice by Nokia to Licensee if Licensee breaches this Agreement. - -Upon termination of this Agreement, Licensee shall return to Nokia all copies of Licensed Software that were supplied by Nokia. 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 Nokia 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 8. 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 Nokia 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 Nokia 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 Nokia 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. diff --git a/share/qtcreator/schemes/MS_Visual_C++.kms b/share/qtcreator/schemes/MS_Visual_C++.kms index 696b96bb42f5e1c878da34cb00e04293ec609747..abd265f1bad6e4373161abf6c9920e3ecbd32d40 100644 --- a/share/qtcreator/schemes/MS_Visual_C++.kms +++ b/share/qtcreator/schemes/MS_Visual_C++.kms @@ -24,10 +24,10 @@ <shortcut id="Debugger.AddToWatch" > <key value="Alt+D, Alt+W" /> </shortcut> - <shortcut id="QtCreator.Mode.GdbDebugger.Mode.Debug" > + <shortcut id="QtCreator.Mode.Debug" > <key value="Ctrl+3" /> </shortcut> - <shortcut id="Qt Script Editor.Run" > + <shortcut id="QtScriptEditor.Run" > <key value="" /> </shortcut> <shortcut id="FindFilter.Files on Disk" > @@ -168,19 +168,19 @@ <shortcut id="QtCreator.RevertToSaved" > <key value="" /> </shortcut> - <shortcut id="Formeditor.Menu.Preview.Windows" > + <shortcut id="FormEditor.Menu.Preview.Windows" > <key value="" /> </shortcut> - <shortcut id="Formeditor.Menu.Preview.Motif" > + <shortcut id="FormEditor.Menu.Preview.Motif" > <key value="" /> </shortcut> - <shortcut id="Formeditor.Menu.Preview.CDE" > + <shortcut id="FormEditor.Menu.Preview.CDE" > <key value="" /> </shortcut> - <shortcut id="Formeditor.Menu.Preview.Plastique" > + <shortcut id="FormEditor.Menu.Preview.Plastique" > <key value="" /> </shortcut> - <shortcut id="Formeditor.Menu.Preview.Cleanlooks" > + <shortcut id="FormEditor.Menu.Preview.Cleanlooks" > <key value="" /> </shortcut> <shortcut id="FormEditor.ViewCode" > @@ -231,13 +231,13 @@ <shortcut id="QtCreator.DocumentToNextGroup" > <key value="" /> </shortcut> - <shortcut id="QtCreator.Mode.QtCreator.Mode.Output" > + <shortcut id="QtCreator.Mode.Output" > <key value="Ctrl+6" /> </shortcut> - <shortcut id="QtCreator.Mode.QtCreator.Mode.Welcome" > + <shortcut id="QtCreator.Mode.Welcome" > <key value="Ctrl+1" /> </shortcut> - <shortcut id="QtCreator.Mode.QtCreator.Mode.Edit" > + <shortcut id="QtCreator.Mode.Edit" > <key value="Ctrl+2" /> </shortcut> <shortcut id="Find.FindInCurrentDocument" > @@ -264,7 +264,7 @@ <shortcut id="Find.WholeWords" > <key value="" /> </shortcut> - <shortcut id="QtCreator.View.QuickOpen.ToolWindow" > + <shortcut id="QtCreator.QuickOpen" > <key value="Ctrl+D" /> </shortcut> <shortcut id="Help.Home" > @@ -291,7 +291,7 @@ <shortcut id="Help.Context" > <key value="F1" /> </shortcut> - <shortcut id="QtCreator.Mode.Help.HelpMode" > + <shortcut id="QtCreator.Mode.Help" > <key value="Ctrl+5" /> </shortcut> <shortcut id="Help.IndexShortcut" > @@ -306,7 +306,7 @@ <shortcut id="TextEditor.CompleteThis" > <key value="Ctrl+Space" /> </shortcut> - <shortcut id="QtCreator.Mode.ProjectExplorer.Mode.Session" > + <shortcut id="QtCreator.Mode.Project" > <key value="Ctrl+4" /> </shortcut> <shortcut id="ProjectExplorer.NewSession" > @@ -387,10 +387,10 @@ <shortcut id="Bookmarks.Next" > <key value="F2" /> </shortcut> - <shortcut id="Bookmarks.Previous.Document" > + <shortcut id="Bookmarks.PreviousDocument" > <key value="" /> </shortcut> - <shortcut id="Bookmarks.Next.Document" > + <shortcut id="Bookmarks.NextDocument" > <key value="" /> </shortcut> <shortcut id="CppTools.SwitchHeaderSource" > @@ -453,10 +453,10 @@ <shortcut id="Perforce.Filelog" > <key value="" /> </shortcut> - <shortcut id="Nokia.Perforce.SubmitCurrentLog" > + <shortcut id="Perforce.SubmitCurrentLog" > <key value="" /> </shortcut> - <shortcut id="Nokia.Perforce.DiffSelectedFilesInLog" > + <shortcut id="Perforce.DiffSelectedFilesInLog" > <key value="" /> </shortcut> <shortcut id="Debugger.StartExternal" > diff --git a/share/qtcreator/schemes/Xcode.kms b/share/qtcreator/schemes/Xcode.kms index 30653822dffe38dd9b01ec54a15923a5e95eedfd..48bc62913227a1bfaa76e7c72e7cefabd69a7f1e 100644 --- a/share/qtcreator/schemes/Xcode.kms +++ b/share/qtcreator/schemes/Xcode.kms @@ -114,13 +114,13 @@ <shortcut id="QtCreator.DocumentToNextGroup" > <key value="" /> </shortcut> - <shortcut id="QtCreator.Mode.QtCreator.Mode.Output" > + <shortcut id="QtCreator.Mode.Output" > <key value="Meta+6" /> </shortcut> - <shortcut id="QtCreator.Mode.QtCreator.Mode.Welcome" > + <shortcut id="QtCreator.Mode.Welcome" > <key value="Meta+1" /> </shortcut> - <shortcut id="QtCreator.Mode.QtCreator.Mode.Edit" > + <shortcut id="QtCreator.Mode.Edit" > <key value="Meta+2" /> </shortcut> <shortcut id="Find.FindInCurrentDocument" > @@ -150,13 +150,13 @@ <shortcut id="Find.WholeWords" > <key value="" /> </shortcut> - <shortcut id="QtCreator.View.QuickOpen.ToolWindow" > + <shortcut id="QtCreator.QuickOpen" > <key value="Ctrl+Shift+D" /> </shortcut> <shortcut id="TextEditor.CompleteThis" > <key value="Alt+Esc" /> </shortcut> - <shortcut id="QtCreator.Mode.ProjectExplorer.Mode.Session" > + <shortcut id="QtCreator.Mode.Project" > <key value="Meta+4" /> </shortcut> <shortcut id="ProjectExplorer.NewSession" > @@ -282,22 +282,22 @@ <shortcut id="FormEditor.Preview" > <key value="Ctrl+Alt+R" /> </shortcut> - <shortcut id="Formeditor.Menu.Preview.Windows" > + <shortcut id="FormEditor.Menu.Preview.Windows" > <key value="" /> </shortcut> - <shortcut id="Formeditor.Menu.Preview.Motif" > + <shortcut id="FormEditor.Menu.Preview.Motif" > <key value="" /> </shortcut> - <shortcut id="Formeditor.Menu.Preview.CDE" > + <shortcut id="FormEditor.Menu.Preview.CDE" > <key value="" /> </shortcut> - <shortcut id="Formeditor.Menu.Preview.Plastique" > + <shortcut id="FormEditor.Menu.Preview.Plastique" > <key value="" /> </shortcut> - <shortcut id="Formeditor.Menu.Preview.Cleanlooks" > + <shortcut id="FormEditor.Menu.Preview.Cleanlooks" > <key value="" /> </shortcut> - <shortcut id="Formeditor.Menu.Preview.Macintosh (aqua)" > + <shortcut id="FormEditor.Menu.Preview.Macintosh (aqua)" > <key value="" /> </shortcut> <shortcut id="FormEditor.FormSettings" > @@ -369,7 +369,7 @@ <shortcut id="Help.Context" > <key value="F1" /> </shortcut> - <shortcut id="QtCreator.Mode.Help.HelpMode" > + <shortcut id="QtCreator.Mode.Help" > <key value="Meta+5" /> </shortcut> <shortcut id="Help.IndexShortcut" > @@ -387,13 +387,13 @@ <shortcut id="Qt4Builder.RunQMakeContextMenu" > <key value="" /> </shortcut> - <shortcut id="Qt Script Editor.Run" > + <shortcut id="QtScriptEditor.Run" > <key value="Ctrl+R" /> </shortcut> - <shortcut id="CodePaster.post" > + <shortcut id="CodePaster.Post" > <key value="Alt+C, Alt+P" /> </shortcut> - <shortcut id="CodePaster.fetch" > + <shortcut id="CodePaster.Fetch" > <key value="Alt+C, Alt+F" /> </shortcut> <shortcut id="Debugger.StartExternal" > @@ -456,7 +456,7 @@ <shortcut id="Debugger.AddToWatch" > <key value="" /> </shortcut> - <shortcut id="QtCreator.Mode.Debugger.Mode.Debug" > + <shortcut id="QtCreator.Mode.Debug" > <key value="Meta+3" /> </shortcut> <shortcut id="Perforce.Edit" > @@ -504,10 +504,10 @@ <shortcut id="Perforce.Filelog" > <key value="" /> </shortcut> - <shortcut id="Nokia.Perforce.SubmitCurrentLog" > + <shortcut id="Perforce.SubmitCurrentLog" > <key value="" /> </shortcut> - <shortcut id="Nokia.Perforce.DiffSelectedFilesInLog" > + <shortcut id="Perforce.DiffSelectedFilesInLog" > <key value="" /> </shortcut> <shortcut id="Bookmarks.Toggle" > @@ -525,10 +525,10 @@ <shortcut id="Bookmarks.Next" > <key value="Meta+." /> </shortcut> - <shortcut id="Bookmarks.Previous.Document" > + <shortcut id="Bookmarks.PreviousDocument" > <key value="" /> </shortcut> - <shortcut id="Bookmarks.Next.Document" > + <shortcut id="Bookmarks.NextDocument" > <key value="" /> </shortcut> <shortcut id="TextEditor.SelectEncoding" > diff --git a/share/share.pri b/share/share.pri index 35c84568b9e839ec2997ec2700ffd8897b63f089..246048ca78d4f2f5e667bcc01734040dd8ea1553 100644 --- a/share/share.pri +++ b/share/share.pri @@ -9,11 +9,9 @@ macx { SCHEMES.files = $$PWD/qtcreator/schemes GDBDEBUGGER.path = Contents/Resources GDBDEBUGGER.files = $$PWD/qtcreator/gdbmacros - LICENSE.path = Contents/Resources - LICENSE.files = $$PWD/qtcreator/license.txt RUNINTERMINAL.path = Contents/Resources RUNINTERMINAL.files = $$PWD/qtcreator/runInTerminal.command - QMAKE_BUNDLE_DATA += SNIPPETS TEMPLATES DESIGNER SCHEMES GDBDEBUGGER LICENSE RUNINTERMINAL + QMAKE_BUNDLE_DATA += SNIPPETS TEMPLATES DESIGNER SCHEMES GDBDEBUGGER RUNINTERMINAL QMAKE_INFO_PLIST = $$PWD/qtcreator/Info.plist } @@ -43,9 +41,6 @@ win32|linux-* { } linux-* { - licenses.files += $$PWD/qtcreator/license.txt - licenses.path = /share/qtcreator - keymaps.files += $$PWD/qtcreator/schemes/MS_Visual_C++.kms keymaps.files += $$PWD/qtcreator/schemes/Xcode.kms keymaps.path = /share/qtcreator/schemes @@ -71,7 +66,6 @@ linux-* { projecttemplates.path = /share/qtcreator/templates/qt4project INSTALLS += \ - licenses \ keymaps \ gdbsupport \ designertemplates \ diff --git a/src/app/qtcreator.ico b/src/app/qtcreator.ico index 4aaeed08733b190f9804693c606d09c234f3c300..4bd39ff6537f4852a0dbfbc3fdf5fcd9c726c61f 100644 Binary files a/src/app/qtcreator.ico and b/src/app/qtcreator.ico differ diff --git a/src/libs/utils/projectintropage.ui b/src/libs/utils/projectintropage.ui index f530b78044ef49b937e044e09daa1f3f41a22fa1..05fe640306af13db8496097a6410da3ee708fa78 100644 --- a/src/libs/utils/projectintropage.ui +++ b/src/libs/utils/projectintropage.ui @@ -70,7 +70,7 @@ <item row="1" column="0"> <widget class="QLabel" name="pathLabel"> <property name="text"> - <string>Path:</string> + <string>Create in:</string> </property> </widget> </item> diff --git a/src/plugins/bookmarks/bookmarks_global.h b/src/plugins/bookmarks/bookmarks_global.h index 469c7acd3258444025574ad97a81db58acd83753..727978f47684640fec45e7a8e7d121c96ef5c814 100644 --- a/src/plugins/bookmarks/bookmarks_global.h +++ b/src/plugins/bookmarks/bookmarks_global.h @@ -42,10 +42,10 @@ const char * const BOOKMARKS_MOVEUP_ACTION = "Bookmarks.MoveUp"; const char * const BOOKMARKS_MOVEDOWN_ACTION = "Bookmarks.MoveDown"; const char * const BOOKMARKS_PREV_ACTION = "Bookmarks.Previous"; const char * const BOOKMARKS_NEXT_ACTION = "Bookmarks.Next"; -const char * const BOOKMARKS_PREVDIR_ACTION = "Bookmarks.Previous.Directory"; -const char * const BOOKMARKS_NEXTDIR_ACTION = "Bookmarks.Next.Directory"; -const char * const BOOKMARKS_PREVDOC_ACTION = "Bookmarks.Previous.Document"; -const char * const BOOKMARKS_NEXTDOC_ACTION = "Bookmarks.Next.Document"; +const char * const BOOKMARKS_PREVDIR_ACTION = "Bookmarks.PreviousDirectory"; +const char * const BOOKMARKS_NEXTDIR_ACTION = "Bookmarks.NextDirectory"; +const char * const BOOKMARKS_PREVDOC_ACTION = "Bookmarks.PreviousDocument"; +const char * const BOOKMARKS_NEXTDOC_ACTION = "Bookmarks.NextDocument"; const char * const BOOKMARKS_MENU = "Bookmarks.Menu"; const char * const BOOKMARKS_CONTEXT = "Bookmarks"; diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h index d8a61e6e8023caeffcec244773c7dea146e641a8..3a8dda54aa74766e78b7bc7eaae8915fc2b55ae5 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h @@ -71,14 +71,14 @@ class CMakeRunner { public: CMakeRunner(); - void run(QFutureInterface<void> &fi); void setExecutable(const QString &executable); QString executable() const; QString version() const; bool supportsQtCreator() const; - void waitForUpToDate() const; private: + void run(QFutureInterface<void> &fi); + void waitForUpToDate() const; QString m_executable; QString m_version; bool m_supportsQtCreator; diff --git a/src/plugins/coreplugin/coreconstants.h b/src/plugins/coreplugin/coreconstants.h index b0066c9b7880813dfd3a1a4ca076f5521e83ad81..99bb3e1de2e3c7df51deaacc42410d2ead4c4c53 100644 --- a/src/plugins/coreplugin/coreconstants.h +++ b/src/plugins/coreplugin/coreconstants.h @@ -63,9 +63,9 @@ const char * const IDE_REVISION_STR = ""; #undef STRINGIFY_INTERNAL //modes -const char * const MODE_WELCOME = "QtCreator.Mode.Welcome"; -const char * const MODE_EDIT = "QtCreator.Mode.Edit"; -const char * const MODE_OUTPUT = "QtCreator.Mode.Output"; +const char * const MODE_WELCOME = "Welcome"; +const char * const MODE_EDIT = "Edit"; +const char * const MODE_OUTPUT = "Output"; const int P_MODE_WELCOME = 100; const int P_MODE_EDIT = 90; const int P_MODE_OUTPUT = 10; diff --git a/src/plugins/coreplugin/html/images/product_logo.png b/src/plugins/coreplugin/html/images/product_logo.png index 7f8992e92c0ce0d4747a4515bcf90f76dd05dc87..8b8ff34a748b3fee6306279c4553b7d811f1025c 100644 Binary files a/src/plugins/coreplugin/html/images/product_logo.png and b/src/plugins/coreplugin/html/images/product_logo.png differ diff --git a/src/plugins/coreplugin/html/qt.css b/src/plugins/coreplugin/html/qt.css index aaba4703a0bd08592eb4d886af489df6850b9e51..1e1dc5884c190560a21bffabbacc5907b0d4fa1d 100644 --- a/src/plugins/coreplugin/html/qt.css +++ b/src/plugins/coreplugin/html/qt.css @@ -231,6 +231,7 @@ Layout TOP - Logo und Welcome Text float:left; width:210px; + padding-top:70px; } diff --git a/src/plugins/coreplugin/images/qtcreator_logo_128.png b/src/plugins/coreplugin/images/qtcreator_logo_128.png index c3ddf74c74f18dcbbf04b213ff529c94d60b05da..8b8ff34a748b3fee6306279c4553b7d811f1025c 100644 Binary files a/src/plugins/coreplugin/images/qtcreator_logo_128.png and b/src/plugins/coreplugin/images/qtcreator_logo_128.png differ diff --git a/src/plugins/coreplugin/images/qtcreator_logo_16.png b/src/plugins/coreplugin/images/qtcreator_logo_16.png index 6e48e979b8099741f314c500ff8909802ba63aab..d9f511f94c78e4f2123ff30d7be0a08bf3263112 100644 Binary files a/src/plugins/coreplugin/images/qtcreator_logo_16.png and b/src/plugins/coreplugin/images/qtcreator_logo_16.png differ diff --git a/src/plugins/coreplugin/images/qtcreator_logo_24.png b/src/plugins/coreplugin/images/qtcreator_logo_24.png index 797fc705a9ecc202be7d602848d95a0b3b204dd6..da7b8fde3e45ca3fafa642c75c1a1169d0de3cfc 100644 Binary files a/src/plugins/coreplugin/images/qtcreator_logo_24.png and b/src/plugins/coreplugin/images/qtcreator_logo_24.png differ diff --git a/src/plugins/coreplugin/images/qtcreator_logo_32.png b/src/plugins/coreplugin/images/qtcreator_logo_32.png index 992620b8ae2e2b83b50ce884ce4f7a55244579fe..d2ccdc136f29cf671ebcb0268bd765f72ec6011a 100644 Binary files a/src/plugins/coreplugin/images/qtcreator_logo_32.png and b/src/plugins/coreplugin/images/qtcreator_logo_32.png differ diff --git a/src/plugins/coreplugin/images/qtcreator_logo_48.png b/src/plugins/coreplugin/images/qtcreator_logo_48.png index 4bedd55219e6eb466cb2dde5cc1318445f30365a..555a51df1bbcf6b62cbe446b655658cdb69a9d33 100644 Binary files a/src/plugins/coreplugin/images/qtcreator_logo_48.png and b/src/plugins/coreplugin/images/qtcreator_logo_48.png differ diff --git a/src/plugins/coreplugin/images/qtcreator_logo_64.png b/src/plugins/coreplugin/images/qtcreator_logo_64.png index 88a11abf6e65e58f71369963b15ed59fee7cded1..0208f423828a11faa9ca8c93d8938108dc358692 100644 Binary files a/src/plugins/coreplugin/images/qtcreator_logo_64.png and b/src/plugins/coreplugin/images/qtcreator_logo_64.png differ diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index fc25a11aa25a4571339abd8319aa0ca52cf1eb48..78b8dd0f12d24697ce8e2a57eff28c6d83c5bee3 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -150,7 +150,9 @@ MainWindow::MainWindow() : OutputPaneManager::create(); setWindowTitle(tr("Qt Creator")); +#ifndef Q_OS_MAC qApp->setWindowIcon(QIcon(":/core/images/qtcreator_logo_128.png")); +#endif QCoreApplication::setApplicationName(QLatin1String("QtCreator")); QCoreApplication::setApplicationVersion(QLatin1String(Core::Constants::IDE_VERSION_LONG)); QCoreApplication::setOrganizationName(QLatin1String("Nokia")); @@ -311,7 +313,7 @@ bool MainWindow::init(QString *errorMessage) // Add widget to the bottom, we create the view here instead of inside the // OutputPaneManager, since the ViewManager needs to be initilized before m_outputView = new Core::BaseView; - m_outputView->setUniqueViewName("OutputWindow.Buttons"); + m_outputView->setUniqueViewName("OutputWindow"); m_outputView->setWidget(OutputPaneManager::instance()->buttonsWidget()); m_outputView->setDefaultPosition(Core::IView::Second); pm->addObject(m_outputView); diff --git a/src/plugins/coreplugin/navigationwidget.cpp b/src/plugins/coreplugin/navigationwidget.cpp index 3d4607a9269281a16de3278a26744655d3af4f1d..856becf3f97583edc3a5be96df96088956b15ab5 100644 --- a/src/plugins/coreplugin/navigationwidget.cpp +++ b/src/plugins/coreplugin/navigationwidget.cpp @@ -326,7 +326,7 @@ void NavigationWidget::objectAdded(QObject * obj) QShortcut *shortcut = new QShortcut(this); shortcut->setWhatsThis(tr("Activate %1 Pane").arg(displayName)); Core::Command *cmd = am->registerShortcut(shortcut, - displayName + QLatin1String(".FocusShortcut"), navicontext); + QLatin1String("QtCreator.Sidebar.") + displayName, navicontext); cmd->setDefaultKeySequence(factory->activationSequence()); connect(shortcut, SIGNAL(activated()), this, SLOT(activateSubWidget())); diff --git a/src/plugins/coreplugin/versiondialog.cpp b/src/plugins/coreplugin/versiondialog.cpp index 5ce821a8147573bfd728231a17c596fe773f7617..c576729d9bbd036a078c2990a49cb40f9f5fb24a 100644 --- a/src/plugins/coreplugin/versiondialog.cpp +++ b/src/plugins/coreplugin/versiondialog.cpp @@ -98,43 +98,9 @@ VersionDialog::VersionDialog(QWidget *parent) buttonBox->addButton(closeButton, QDialogButtonBox::ButtonRole(QDialogButtonBox::RejectRole | QDialogButtonBox::AcceptRole)); connect(buttonBox , SIGNAL(rejected()), this, SLOT(reject())); - buttonBox->addButton(tr("Show License"), QDialogButtonBox::HelpRole); - connect(buttonBox , SIGNAL(helpRequested()), this, SLOT(popupLicense())); - QLabel *logoLabel = new QLabel; logoLabel->setPixmap(QPixmap(QLatin1String(":/core/images/qtcreator_logo_128.png"))); layout->addWidget(logoLabel , 0, 0, 1, 1); layout->addWidget(copyRightLabel, 0, 1, 4, 4); layout->addWidget(buttonBox, 4, 0, 1, 5); } - -void VersionDialog::popupLicense() -{ - QDialog *dialog = new QDialog(this); - dialog->setWindowTitle("License"); - QVBoxLayout *layout = new QVBoxLayout(dialog); - QTextBrowser *licenseBrowser = new QTextBrowser(dialog); - layout->addWidget(licenseBrowser); - - QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Close); - connect(buttonBox , SIGNAL(rejected()), dialog, SLOT(reject())); - layout->addWidget(buttonBox); - - // Read file into string - ICore *core = ICore::instance(); - QTC_ASSERT(core, return); - QString fileName = core->resourcePath() + "/license.txt"; - QFile file(fileName); - - QString licenseText; - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) - licenseText = "File '" + fileName + "' could not be read."; - else - licenseText = file.readAll(); - - licenseBrowser->setPlainText(licenseText); - - dialog->setMinimumSize(QSize(550, 690)); - dialog->exec(); - delete dialog; -} diff --git a/src/plugins/coreplugin/versiondialog.h b/src/plugins/coreplugin/versiondialog.h index bfa61f1d52d833c006dc5c02469558e14f88cd78..4b695bafd4f896bd56b6075e82c40d01ca2fbb22 100644 --- a/src/plugins/coreplugin/versiondialog.h +++ b/src/plugins/coreplugin/versiondialog.h @@ -44,8 +44,6 @@ class VersionDialog : public QDialog Q_OBJECT public: explicit VersionDialog(QWidget *parent); -private slots: - void popupLicense(); }; } // namespace Internal diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp index 82a8be37d721e20bd05ff907afd70b2ecbbc8810..90d2e5c5986bd8b9745ce7fa11c93fe630a75ad9 100644 --- a/src/plugins/cpaster/cpasterplugin.cpp +++ b/src/plugins/cpaster/cpasterplugin.cpp @@ -103,14 +103,14 @@ bool CodepasterPlugin::initialize(const QStringList &arguments, QString *error_m Core::Command *command; - m_postAction = new QAction(tr("Paste snippet..."), this); - command = actionManager->registerAction(m_postAction, "CodePaster.post", globalcontext); + m_postAction = new QAction(tr("Paste Snippet..."), this); + command = actionManager->registerAction(m_postAction, "CodePaster.Post", globalcontext); command->setDefaultKeySequence(QKeySequence(tr("Alt+C,Alt+P"))); connect(m_postAction, SIGNAL(triggered()), this, SLOT(post())); cpContainer->addAction(command); - m_fetchAction = new QAction(tr("Fetch snippet..."), this); - command = actionManager->registerAction(m_fetchAction, "CodePaster.fetch", globalcontext); + m_fetchAction = new QAction(tr("Fetch Snippet..."), this); + command = actionManager->registerAction(m_fetchAction, "CodePaster.Fetch", globalcontext); command->setDefaultKeySequence(QKeySequence(tr("Alt+C,Alt+F"))); connect(m_fetchAction, SIGNAL(triggered()), this, SLOT(fetch())); cpContainer->addAction(command); diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index ff4d4eb06069094c35b217871cb2a74b04bba904..f73fc568bd0ddc05ff0f258470e613e1e32ff888 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -288,6 +288,7 @@ void GdbEngine::initializeVariables() { m_dataDumperState = DataDumperUninitialized; m_gdbVersion = 100; + m_gdbBuildVersion = -1; m_fullToShortName.clear(); m_shortToFullName.clear(); @@ -475,8 +476,20 @@ void GdbEngine::handleResponse() handleAsyncOutput(record); } else if (asyncClass == "running") { // Archer has 'thread-id="all"' here + #ifdef Q_OS_MAC + } else if (asyncClass == "shlibs-updated") { + // MAC announces updated libs + } else if (asyncClass == "shlibs-added") { + // MAC announces added libs + // {shlib-info={num="2", name="libmathCommon.A_debug.dylib", + // kind="-", dyld-addr="0x7f000", reason="dyld", requested-state="Y", + // state="Y", path="/usr/lib/system/libmathCommon.A_debug.dylib", + // description="/usr/lib/system/libmathCommon.A_debug.dylib", + // loaded_addr="0x7f000", slide="0x7f000", prefix=""}} + #endif } else { - qDebug() << "IGNORED ASYNC OUTPUT " << record.toString(); + qDebug() << "IGNORED ASYNC OUTPUT " + << asyncClass << record.toString(); } break; } @@ -1135,7 +1148,7 @@ void GdbEngine::handleAqcuiredInferior() } // nicer to see a bit of the world we live in reloadModules(); - QTimer::singleShot(0, this, SLOT(attemptBreakpointSynchronization())); + attemptBreakpointSynchronization(); } void GdbEngine::handleAsyncOutput(const GdbMi &data) @@ -1172,12 +1185,12 @@ void GdbEngine::handleAsyncOutput(const GdbMi &data) qq->notifyInferiorStopped(); m_waitingForFirstBreakpointToBeHit = false; + // this will "continue" if done + m_waitingForBreakpointSynchronizationToContinue = true; // // that's the "early stop" // handleAqcuiredInferior(); - // this will "continue" if done - m_waitingForBreakpointSynchronizationToContinue = true; return; } @@ -1342,10 +1355,14 @@ void GdbEngine::handleAsyncOutput2(const GdbMi &data) void GdbEngine::handleShowVersion(const GdbResultRecord &response) { + //qDebug () << "VERSION 2:" << response.data.findChild("consolestreamoutput").data(); + //qDebug () << "VERSION:" << response.toString(); + debugMessage("VERSION:" + response.toString()); if (response.resultClass == GdbResultDone) { m_gdbVersion = 100; + m_gdbBuildVersion = -1; QString msg = response.data.findChild("consolestreamoutput").data(); - QRegExp supported("GNU gdb(.*) (\\d+)\\.(\\d+)(\\.(\\d+))?"); + QRegExp supported("GNU gdb(.*) (\\d+)\\.(\\d+)(\\.(\\d+))?(-(\\d+))?"); if (supported.indexIn(msg) == -1) { debugMessage("UNSUPPORTED GDB VERSION " + msg); QStringList list = msg.split("\n"); @@ -1368,8 +1385,10 @@ void GdbEngine::handleShowVersion(const GdbResultRecord &response) m_gdbVersion = 10000 * supported.cap(2).toInt() + 100 * supported.cap(3).toInt() + 1 * supported.cap(5).toInt(); - //debugMessage(QString("GDB VERSION: %1").arg(m_gdbVersion)); + m_gdbBuildVersion = supported.cap(7).toInt(); + debugMessage(QString("GDB VERSION: %1").arg(m_gdbVersion)); } + //qDebug () << "VERSION 3:" << m_gdbVersion << m_gdbBuildVersion; } } @@ -1643,7 +1662,9 @@ bool GdbEngine::startDebugger() #endif if (!q->m_processArgs.isEmpty()) sendCommand("-exec-arguments " + q->m_processArgs.join(" ")); + #ifndef Q_OS_MAC sendCommand("set auto-solib-add off"); + #endif sendCommand("info target", GdbStart); } @@ -4053,12 +4074,12 @@ void GdbEngine::tryLoadCustomDumpers() QString lib = q->m_buildDir + "/qtc-gdbmacros/libgdbmacros.dylib"; if (QFileInfo(lib).exists()) { m_dataDumperState = DataDumperLoadTried; - sendCommand("sharedlibrary libc"); // for malloc - sendCommand("sharedlibrary libdl"); // for dlopen + //sendCommand("sharedlibrary libc"); // for malloc + //sendCommand("sharedlibrary libdl"); // for dlopen QString flag = QString::number(RTLD_NOW); sendCommand("call (void)dlopen(\"" + lib + "\", " + flag + ")", WatchDumpCustomSetup); - sendCommand("sharedlibrary " + dotEscape(lib)); + //sendCommand("sharedlibrary " + dotEscape(lib)); } #endif #if defined(Q_OS_WIN) diff --git a/src/plugins/debugger/gdbengine.h b/src/plugins/debugger/gdbengine.h index 2fff81b73ee54053904ad6dbd904289134ae49c9..9e6a0a9380b8b11e29a1f6757149acb5d6146dc5 100644 --- a/src/plugins/debugger/gdbengine.h +++ b/src/plugins/debugger/gdbengine.h @@ -222,6 +222,7 @@ private: int m_oldestAcceptableToken; int m_gdbVersion; // 6.8.0 is 680 + int m_gdbBuildVersion; // MAC only? // awful hack to keep track of used files QMap<QString, QString> m_shortToFullName; diff --git a/src/plugins/designer/designerconstants.h b/src/plugins/designer/designerconstants.h index 6d5f4a4695ceeb09a7cef16d4b8fe78f4eb1304f..954b90e671703e3dfa271586284ca09f7cfba65a 100644 --- a/src/plugins/designer/designerconstants.h +++ b/src/plugins/designer/designerconstants.h @@ -38,10 +38,10 @@ namespace Designer { namespace Constants { // context -const char * const C_FORMEDITOR = "Formeditor"; -const char * const T_FORMEDITOR = "Formeditor.Toolbar"; -const char * const M_FORMEDITOR = "Formeditor.Menu"; -const char * const M_FORMEDITOR_PREVIEW = "Formeditor.Menu.Preview"; +const char * const C_FORMEDITOR = "FormEditor"; +const char * const T_FORMEDITOR = "FormEditor.Toolbar"; +const char * const M_FORMEDITOR = "FormEditor.Menu"; +const char * const M_FORMEDITOR_PREVIEW = "FormEditor.Menu.Preview"; // Wizard type const char * const FORM_FILE_TYPE = "Qt4FormFiles"; diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index fe60eaa2de6d2d5361ffe441eed3c02bc2ddd387..fb920729aa1165d9e8009b0f1976058a8cb91918 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -84,8 +84,8 @@ using namespace ProjectExplorer; namespace FakeVim { namespace Constants { -const char * const INSTALL_HANDLER = "FakeVim.InstallHandler"; -const char * const MINI_BUFFER = "FakeVim.MiniBuffer"; +const char * const INSTALL_HANDLER = "TextEditor.FakeVimHandler"; +const char * const MINI_BUFFER = "TextEditor.FakeVimMiniBuffer"; const char * const INSTALL_KEY = "Alt+V,Alt+V"; } // namespace Constants diff --git a/src/plugins/find/findtoolbar.cpp b/src/plugins/find/findtoolbar.cpp index e4bb642a48cc3a25f47322d40df050f7fdddd4e6..0121e0b32f4552839ff92391050ec1ecd7555b83 100644 --- a/src/plugins/find/findtoolbar.cpp +++ b/src/plugins/find/findtoolbar.cpp @@ -79,6 +79,8 @@ FindToolBar::FindToolBar(FindPlugin *plugin, CurrentDocumentFind *currentDocumen addWidget(m_widget); setFocusProxy(m_ui.findEdit); setProperty("topBorder", true); + m_ui.findEdit->setAttribute(Qt::WA_MacShowFocusRect, false); + m_ui.replaceEdit->setAttribute(Qt::WA_MacShowFocusRect, false); connect(m_ui.findEdit, SIGNAL(editingFinished()), this, SLOT(invokeResetIncrementalSearch())); diff --git a/src/plugins/git/gitconstants.h b/src/plugins/git/gitconstants.h index 438d0f25b9a4440356f38cf2a691f8f29b7dfb54..cc2777973dfdecdf6f9e9cf36940aa6d58b1423b 100644 --- a/src/plugins/git/gitconstants.h +++ b/src/plugins/git/gitconstants.h @@ -48,8 +48,8 @@ const char * const C_GIT_DIFF_EDITOR = "Git Diff Editor"; const char * const C_GITSUBMITEDITOR = "Git Submit Editor"; const char * const GITSUBMITEDITOR_KIND = "Git Submit Editor"; -const char * const SUBMIT_CURRENT = "Nokia.Git.SubmitCurrentLog"; -const char * const DIFF_SELECTED = "Nokia.Git.DiffSelectedFilesInLog"; +const char * const SUBMIT_CURRENT = "Git.SubmitCurrentLog"; +const char * const DIFF_SELECTED = "Git.DiffSelectedFilesInLog"; const char * const SUBMIT_MIMETYPE = "application/vnd.nokia.text.git.submit"; const char * const GIT_BINARY = "git"; diff --git a/src/plugins/help/helpplugin.h b/src/plugins/help/helpplugin.h index 145981e16a28cb14361545c94071d55d8db73d61..d38df69f3d22b78b5dc07bdc53f69f03b17c1295 100644 --- a/src/plugins/help/helpplugin.h +++ b/src/plugins/help/helpplugin.h @@ -71,7 +71,7 @@ namespace Constants { const char * const HELPVIEWER_KIND = "Qt Help Viewer"; const char * const C_MODE_HELP = "Help Mode"; const int P_MODE_HELP = 70; - const char * const ID_MODE_HELP = "Help.HelpMode"; + const char * const ID_MODE_HELP = "Help"; } class HELP_EXPORT HelpManager : public QObject diff --git a/src/plugins/perforce/perforceconstants.h b/src/plugins/perforce/perforceconstants.h index e0feb0c58e9a24652873e5f7e169c9839c3c7236..a0d47ba8bea99684934fab878b865ef06d9563c5 100644 --- a/src/plugins/perforce/perforceconstants.h +++ b/src/plugins/perforce/perforceconstants.h @@ -42,8 +42,8 @@ const char * const C_PERFORCEEDITOR = "Perforce Editor"; const char * const PERFORCEEDITOR_KIND = "Perforce Editor"; const char * const C_PERFORCESUBMITEDITOR = "Perforce Submit Editor"; const char * const PERFORCESUBMITEDITOR_KIND = "Perforce Submit Editor"; -const char * const SUBMIT_CURRENT = "Nokia.Perforce.SubmitCurrentLog"; -const char * const DIFF_SELECTED = "Nokia.Perforce.DiffSelectedFilesInLog"; +const char * const SUBMIT_CURRENT = "Perforce.SubmitCurrentLog"; +const char * const DIFF_SELECTED = "Perforce.DiffSelectedFilesInLog"; const char * const SUBMIT_MIMETYPE = "application/vnd.nokia.text.p4.submit"; enum { debug = 0 }; } // Internal diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp index 2b4da85bf2b58b9c2273613d34ec71ca6b392c6a..b702ba06f0788fb2108b359b54f3f9d2a1b9f2c9 100644 --- a/src/plugins/perforce/perforceplugin.cpp +++ b/src/plugins/perforce/perforceplugin.cpp @@ -221,7 +221,6 @@ bool PerforcePlugin::initialize(const QStringList &arguments, QString *errorMess m_coreListener = new CoreListener(this); addObject(m_coreListener); - //register actions Core::ActionManager *am = Core::ICore::instance()->actionManager(); @@ -682,6 +681,8 @@ void PerforcePlugin::updateActions() bool PerforcePlugin::managesDirectory(const QString &directory) const { + if (!checkP4Command()) + return false; const QString p4Path = directory + QLatin1String("/..."); QStringList args; args << QLatin1String("fstat") << QLatin1String("-m1") << p4Path; @@ -758,7 +759,7 @@ PerforceResponse PerforcePlugin::runP4Cmd(const QStringList &args, tempfile.setAutoRemove(true); const QChar newLine = QLatin1Char('\n'); const QChar blank = QLatin1Char(' '); - QStringList actualArgs = basicP4Args(); + QStringList actualArgs = m_settings.basicP4Args(); if (!extraArgs.isEmpty()) { if (tempfile.open()) { QTextStream stream(&tempfile); @@ -773,7 +774,7 @@ PerforceResponse PerforcePlugin::runP4Cmd(const QStringList &args, actualArgs << args; if (logFlags & CommandToWindow) { - QString command = m_settings.p4Command; + QString command = m_settings.p4Command(); command += blank; command += actualArgs.join(QString(blank)); const QString timeStamp = QTime::currentTime().toString(QLatin1String("HH:mm")); @@ -799,7 +800,7 @@ PerforceResponse PerforcePlugin::runP4Cmd(const QStringList &args, connect(&process, SIGNAL(stdOutBuffered(QString,bool)), m_perforceOutputWindow, SLOT(append(QString,bool))); } - const Core::Utils::SynchronousProcessResponse sp_resp = process.run(m_settings.p4Command, actualArgs); + const Core::Utils::SynchronousProcessResponse sp_resp = process.run(m_settings.p4Command(), actualArgs); if (Perforce::Constants::debug) qDebug() << sp_resp; @@ -817,7 +818,7 @@ PerforceResponse PerforcePlugin::runP4Cmd(const QStringList &args, response.message = tr("The process terminated abnormally."); break; case Core::Utils::SynchronousProcessResponse::StartFailed: - response.message = tr("Could not start perforce '%1'. Please check your settings in the preferences.").arg(m_settings.p4Command); + response.message = tr("Could not start perforce '%1'. Please check your settings in the preferences.").arg(m_settings.p4Command()); break; case Core::Utils::SynchronousProcessResponse::Hang: response.message = tr("Perforce did not respond within timeout limit (%1 ms).").arg(p4Timeout ); @@ -969,8 +970,8 @@ bool PerforcePlugin::editorAboutToClose(Core::IEditor *editor) proc.setEnvironment(environment()); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); - proc.start(m_settings.p4Command, - basicP4Args() << QLatin1String("submit") << QLatin1String("-i")); + proc.start(m_settings.p4Command(), + m_settings.basicP4Args() << QLatin1String("submit") << QLatin1String("-i")); if (!proc.waitForStarted(p4Timeout)) { showOutput(tr("Cannot execute p4 submit."), true); QApplication::restoreOverrideCursor(); @@ -1018,8 +1019,8 @@ QString PerforcePlugin::clientFilePath(const QString &serverFilePath) QApplication::setOverrideCursor(Qt::WaitCursor); QProcess proc; proc.setEnvironment(environment()); - proc.start(m_settings.p4Command, - basicP4Args() << QLatin1String("fstat") << serverFilePath); + proc.start(m_settings.p4Command(), + m_settings.basicP4Args() << QLatin1String("fstat") << serverFilePath); QString path; if (proc.waitForFinished(3000)) { @@ -1047,22 +1048,9 @@ QString PerforcePlugin::currentFileName() return fileName; } -QStringList PerforcePlugin::basicP4Args() const -{ - QStringList lst; - if (!m_settings.defaultEnv) { - lst << QLatin1String("-c") << m_settings.p4Client; - lst << QLatin1String("-p") << m_settings.p4Port; - lst << QLatin1String("-u") << m_settings.p4User; - } - return lst; -} - bool PerforcePlugin::checkP4Command() const { - if (m_settings.p4Command.isEmpty()) - return false; - return true; + return m_settings.isValid(); } QString PerforcePlugin::pendingChangesData() @@ -1074,8 +1062,8 @@ QString PerforcePlugin::pendingChangesData() QString user; QProcess proc; proc.setEnvironment(environment()); - proc.start(m_settings.p4Command, - basicP4Args() << QLatin1String("info")); + proc.start(m_settings.p4Command(), + m_settings.basicP4Args() << QLatin1String("info")); if (proc.waitForFinished(3000)) { QString output = QString::fromUtf8(proc.readAllStandardOutput()); if (!output.isEmpty()) { @@ -1087,8 +1075,8 @@ QString PerforcePlugin::pendingChangesData() } if (user.isEmpty()) return data; - proc.start(m_settings.p4Command, - basicP4Args() << QLatin1String("changes") << QLatin1String("-s") << QLatin1String("pending") << QLatin1String("-u") << user); + proc.start(m_settings.p4Command(), + m_settings.basicP4Args() << QLatin1String("changes") << QLatin1String("-s") << QLatin1String("pending") << QLatin1String("-u") << user); if (proc.waitForFinished(3000)) data = QString::fromUtf8(proc.readAllStandardOutput()); return data; @@ -1139,17 +1127,24 @@ PerforcePlugin::~PerforcePlugin() } } -PerforceSettings PerforcePlugin::settings() const +const PerforceSettings& PerforcePlugin::settings() const { return m_settings; } -void PerforcePlugin::setSettings(const PerforceSettings &s) +void PerforcePlugin::setSettings(const QString &p4Command, const QString &p4Port, const QString &p4Client, const QString p4User, bool defaultEnv) { - if (s != m_settings) { - m_settings = s; - if (QSettings *settings = Core::ICore::instance()->settings()) - m_settings.toSettings(settings); + + if (m_settings.p4Command() == p4Command + && m_settings.p4Port() == p4Port + && m_settings.p4Client() == p4Client + && m_settings.p4User() == p4User + && m_settings.defaultEnv() == defaultEnv) + { + // Nothing to do + } else { + m_settings.setSettings(p4Command, p4Port, p4Client, p4User, defaultEnv); + m_settings.toSettings(Core::ICore::instance()->settings()); } } @@ -1162,9 +1157,9 @@ QString PerforcePlugin::fileNameFromPerforceName(const QString& perforceName, return perforceName; // "where" remaps the file to client file tree QProcess proc; - QStringList args(basicP4Args()); + QStringList args(m_settings.basicP4Args()); args << QLatin1String("where") << perforceName; - proc.start(m_settings.p4Command, args); + proc.start(m_settings.p4Command(), args); if (!proc.waitForFinished()) { *errorMessage = tr("Timeout waiting for \"where\" (%1).").arg(perforceName); return QString(); diff --git a/src/plugins/perforce/perforceplugin.h b/src/plugins/perforce/perforceplugin.h index e5985a28ab5bcce0067f57652d42a05babba3545..d856685bba9bf37d175f08e74822bbfee69a171e 100644 --- a/src/plugins/perforce/perforceplugin.h +++ b/src/plugins/perforce/perforceplugin.h @@ -93,7 +93,6 @@ public: PerforcePlugin(); ~PerforcePlugin(); - QStringList basicP4Args() const; SettingsPage *settingsPage() const { return m_settingsPage; } bool initialize(const QStringList &arguments, QString *error_message); @@ -113,8 +112,8 @@ public: static PerforcePlugin *perforcePluginInstance(); - PerforceSettings settings() const; - void setSettings(const PerforceSettings &s); + const PerforceSettings& settings() const; + void setSettings(const QString &p4Command, const QString &p4Port, const QString &p4Client, const QString p4User, bool defaultEnv); // Map a perforce name "//xx" to its real name in the file system QString fileNameFromPerforceName(const QString& perforceName, QString *errorMessage) const; diff --git a/src/plugins/perforce/perforcesettings.cpp b/src/plugins/perforce/perforcesettings.cpp index 7ba51b78e00a360be8b0bfe716d221066f944088..b30d12a41459c45a0bb45d7f5c31d002f0f0db98 100644 --- a/src/plugins/perforce/perforcesettings.cpp +++ b/src/plugins/perforce/perforcesettings.cpp @@ -33,7 +33,11 @@ #include "perforcesettings.h" +#include <qtconcurrent/QtConcurrentTools> +#include <QtCore/QtConcurrentRun> #include <QtCore/QSettings> +#include <QtCore/QStringList> +#include <QtCore/QProcess> static const char *groupC = "Perforce"; static const char *commandKeyC = "Command"; @@ -55,41 +59,134 @@ static QString defaultCommand() namespace Perforce { namespace Internal { -PerforceSettings::PerforceSettings() : - p4Command(defaultCommand()), - defaultEnv(true) +PerforceSettings::PerforceSettings() + : m_valid(false) { + // We do all the initialization in fromSettings +} + +PerforceSettings::~PerforceSettings() +{ + // ensure that we are not still running + m_future.waitForFinished(); +} + +bool PerforceSettings::isValid() const +{ + m_future.waitForFinished(); + m_mutex.lock(); + bool valid = m_valid; + m_mutex.unlock(); + return valid; +} + +void PerforceSettings::run(QFutureInterface<void> &fi) +{ + m_mutex.lock(); + QString executable = m_p4Command; + QStringList arguments = basicP4Args(); + m_mutex.unlock(); + + // TODO actually check + bool valid = true; + + QProcess p4; + p4.start(m_p4Command, QStringList() << "client"<<"-o"); + p4.waitForFinished(2000); + if (p4.state() != QProcess::NotRunning) { + p4.kill(); + p4.waitForFinished(); + valid = false; + } else { + QString response = p4.readAllStandardOutput(); + if (!response.contains("View:")) + valid = false; + } + + m_mutex.lock(); + if (executable == m_p4Command && arguments == basicP4Args()) // Check that those settings weren't changed in between + m_valid = valid; + m_mutex.unlock(); + fi.reportFinished(); } void PerforceSettings::fromSettings(QSettings *settings) { + m_mutex.lock(); settings->beginGroup(QLatin1String(groupC)); - p4Command = settings->value(QLatin1String(commandKeyC), defaultCommand()).toString(); - defaultEnv = settings->value(QLatin1String(defaultKeyC), true).toBool(); - p4Port = settings->value(QLatin1String(portKeyC), QString()).toString(); - p4Client = settings->value(QLatin1String(clientKeyC), QString()).toString(); - p4User = settings->value(QLatin1String(userKeyC), QString()).toString(); + m_p4Command = settings->value(QLatin1String(commandKeyC), defaultCommand()).toString(); + m_defaultEnv = settings->value(QLatin1String(defaultKeyC), true).toBool(); + m_p4Port = settings->value(QLatin1String(portKeyC), QString()).toString(); + m_p4Client = settings->value(QLatin1String(clientKeyC), QString()).toString(); + m_p4User = settings->value(QLatin1String(userKeyC), QString()).toString(); settings->endGroup(); + m_mutex.unlock(); + m_future = QtConcurrent::run(&PerforceSettings::run, this); } void PerforceSettings::toSettings(QSettings *settings) const { + m_mutex.lock(); settings->beginGroup(QLatin1String(groupC)); - settings->setValue(commandKeyC, p4Command); - settings->setValue(defaultKeyC, defaultEnv); - settings->setValue(portKeyC, p4Port); - settings->setValue(clientKeyC, p4Client); - settings->setValue(userKeyC, p4User); + settings->setValue(commandKeyC, m_p4Command); + settings->setValue(defaultKeyC, m_defaultEnv); + settings->setValue(portKeyC, m_p4Port); + settings->setValue(clientKeyC, m_p4Client); + settings->setValue(userKeyC, m_p4User); settings->endGroup(); + m_mutex.unlock(); } -bool PerforceSettings::equals(const PerforceSettings &s) const +void PerforceSettings::setSettings(const QString &p4Command, const QString &p4Port, const QString &p4Client, const QString p4User, bool defaultEnv) { - return p4Command == s.p4Command && p4Port == s.p4Port - && p4Client == s.p4Client && p4User == s.p4User - && defaultEnv == s.defaultEnv; + m_mutex.lock(); + m_p4Command = p4Command; + m_p4Port = p4Port; + m_p4Client = p4Client; + m_p4User = p4User; + m_defaultEnv = defaultEnv; + m_valid = false; + m_mutex.unlock(); + m_future = QtConcurrent::run(&PerforceSettings::run, this); } +QString PerforceSettings::p4Command() const +{ + return m_p4Command; +} + +QString PerforceSettings::p4Port() const +{ + return m_p4Port; +} + +QString PerforceSettings::p4Client() const +{ + return m_p4Client; +} + +QString PerforceSettings::p4User() const +{ + return m_p4User; +} + +bool PerforceSettings::defaultEnv() const +{ + return m_defaultEnv; +} + +QStringList PerforceSettings::basicP4Args() const +{ + QStringList lst; + if (!m_defaultEnv) { + lst << QLatin1String("-c") << m_p4Client; + lst << QLatin1String("-p") << m_p4Port; + lst << QLatin1String("-u") << m_p4User; + } + return lst; +} + + } // Internal } // Perforce diff --git a/src/plugins/perforce/perforcesettings.h b/src/plugins/perforce/perforcesettings.h index 4451d4ad617865a6ee07ae85c719588fde91536f..0ca1147f4f3938cf98b30e81d3c218388c65cb2c 100644 --- a/src/plugins/perforce/perforcesettings.h +++ b/src/plugins/perforce/perforcesettings.h @@ -35,6 +35,7 @@ #define PERFOCESETTINGS_H #include <QtCore/QString> +#include <QtCore/QFuture> QT_BEGIN_NAMESPACE class QSettings; @@ -43,23 +44,34 @@ QT_END_NAMESPACE namespace Perforce { namespace Internal { -struct PerforceSettings { +class PerforceSettings { +public: PerforceSettings(); - void fromSettings(QSettings *); + ~PerforceSettings(); + void fromSettings(QSettings *settings); void toSettings(QSettings *) const; - bool equals(const PerforceSettings &s) const; + void setSettings(const QString &p4Command, const QString &p4Port, const QString &p4Client, const QString p4User, bool defaultEnv); + bool isValid() const; - QString p4Command; - QString p4Port; - QString p4Client; - QString p4User; - bool defaultEnv; -}; + QString p4Command() const; + QString p4Port() const; + QString p4Client() const; + QString p4User() const; + bool defaultEnv() const; + QStringList basicP4Args() const; +private: + void run(QFutureInterface<void> &fi); + mutable QFuture<void> m_future; + mutable QMutex m_mutex; -inline bool operator==(const PerforceSettings &p1, const PerforceSettings &p2) - { return p1.equals(p2); } -inline bool operator!=(const PerforceSettings &p1, const PerforceSettings &p2) - { return !p1.equals(p2); } + QString m_p4Command; + QString m_p4Port; + QString m_p4Client; + QString m_p4User; + bool m_defaultEnv; + bool m_valid; + Q_DISABLE_COPY(PerforceSettings); +}; } // Internal } // Perforce diff --git a/src/plugins/perforce/settingspage.cpp b/src/plugins/perforce/settingspage.cpp index 70ef649b0e66c527512675a9dc65d3fb3dda5984..53d32714ff274065db9f11a1b34b2735fbf75d31 100644 --- a/src/plugins/perforce/settingspage.cpp +++ b/src/plugins/perforce/settingspage.cpp @@ -49,24 +49,38 @@ SettingsPageWidget::SettingsPageWidget(QWidget *parent) : m_ui.pathChooser->setExpectedKind(PathChooser::Command); } -PerforceSettings SettingsPageWidget::settings() const +QString SettingsPageWidget::p4Command() const { - PerforceSettings rc; - rc.p4Command = m_ui.pathChooser->path(); - rc.defaultEnv = m_ui.defaultCheckBox->isChecked(); - rc.p4Port = m_ui.portLineEdit->text(); - rc.p4Client = m_ui.clientLineEdit->text(); - rc.p4User = m_ui.userLineEdit->text(); - return rc; + return m_ui.pathChooser->path(); +} + +bool SettingsPageWidget::defaultEnv() const +{ + return m_ui.defaultCheckBox->isChecked(); +} + +QString SettingsPageWidget::p4Port() const +{ + return m_ui.portLineEdit->text(); +} + +QString SettingsPageWidget::p4User() const +{ + return m_ui.userLineEdit->text(); +} + +QString SettingsPageWidget::p4Client() const +{ + return m_ui.clientLineEdit->text(); } void SettingsPageWidget::setSettings(const PerforceSettings &s) { - m_ui.pathChooser->setPath(s.p4Command); - m_ui.defaultCheckBox->setChecked(s.defaultEnv); - m_ui.portLineEdit->setText(s.p4Port); - m_ui.clientLineEdit->setText(s.p4Client); - m_ui.userLineEdit->setText(s.p4User); + m_ui.pathChooser->setPath(s.p4Command()); + m_ui.defaultCheckBox->setChecked(s.defaultEnv()); + m_ui.portLineEdit->setText(s.p4Port()); + m_ui.clientLineEdit->setText(s.p4Client()); + m_ui.userLineEdit->setText(s.p4User()); } SettingsPage::SettingsPage() @@ -101,5 +115,5 @@ void SettingsPage::apply() if (!m_widget) return; - PerforcePlugin::perforcePluginInstance()->setSettings(m_widget->settings()); + PerforcePlugin::perforcePluginInstance()->setSettings(m_widget->p4Command(), m_widget->p4Port(), m_widget->p4Client(), m_widget->p4User(), m_widget->defaultEnv()); } diff --git a/src/plugins/perforce/settingspage.h b/src/plugins/perforce/settingspage.h index f5c43599fadfa5dea1ab66fae351a904882ab1db..10a3a0c93b778e570488975673cb7dd72fc96565 100644 --- a/src/plugins/perforce/settingspage.h +++ b/src/plugins/perforce/settingspage.h @@ -51,7 +51,12 @@ class SettingsPageWidget : public QWidget { public: explicit SettingsPageWidget(QWidget *parent); - PerforceSettings settings() const; + QString p4Command() const; + bool defaultEnv() const; + QString p4Port() const; + QString p4User() const; + QString p4Client() const; + void setSettings(const PerforceSettings &); private: diff --git a/src/plugins/projectexplorer/outputwindow.cpp b/src/plugins/projectexplorer/outputwindow.cpp index 6dc95b2bf053128f90ac76ec3bfde17978494779..5ac6f7e2df20f9f344f1a644a1867957ce6e3988 100644 --- a/src/plugins/projectexplorer/outputwindow.cpp +++ b/src/plugins/projectexplorer/outputwindow.cpp @@ -110,9 +110,12 @@ OutputPane::OutputPane() connect(m_tabWidget, SIGNAL(currentChanged(int)), this, SLOT(tabChanged(int))); m_mainWidget->setLayout(layout); + + connect(Core::ICore::instance(), SIGNAL(coreAboutToClose()), + this, SLOT(coreAboutToClose())); } -OutputPane::~OutputPane() +void OutputPane::coreAboutToClose() { while (m_tabWidget->count()) { RunControl *rc = runControlForTab(0); @@ -120,6 +123,10 @@ OutputPane::~OutputPane() rc->stop(); closeTab(0); } +} + +OutputPane::~OutputPane() +{ delete m_mainWidget; } diff --git a/src/plugins/projectexplorer/outputwindow.h b/src/plugins/projectexplorer/outputwindow.h index edc39ac2fb259ab81b3bbb4c1affb0f735e404a8..ceafb0a36a0798db66dba800ceb6024d81f114f8 100644 --- a/src/plugins/projectexplorer/outputwindow.h +++ b/src/plugins/projectexplorer/outputwindow.h @@ -84,6 +84,7 @@ public: public slots: void projectRemoved(); + void coreAboutToClose(); private slots: void insertLine(); diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index c4a94042df5363d56f209239ac2c9e06537cbb0e..e1a660d303f97048ae4a8f47690f271b2800490b 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -446,7 +446,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er // session menu Core::ActionContainer *msession = am->createMenu(Constants::M_SESSION); - msession->menu()->setTitle("&Session"); + msession->menu()->setTitle(tr("Session")); mfile->addMenu(msession, Core::Constants::G_FILE_PROJECT); m_sessionMenu = msession->menu(); connect(mfile->menu(), SIGNAL(aboutToShow()), diff --git a/src/plugins/projectexplorer/projectexplorerconstants.h b/src/plugins/projectexplorer/projectexplorerconstants.h index 183259be10d15d035a4b7e97dcc9642322b1961f..8715dd613486d895248491638c293a4b57a6f014 100644 --- a/src/plugins/projectexplorer/projectexplorerconstants.h +++ b/src/plugins/projectexplorer/projectexplorerconstants.h @@ -38,7 +38,7 @@ namespace ProjectExplorer { namespace Constants { // modes and their priorities -const char * const MODE_SESSION = "ProjectExplorer.Mode.Session"; +const char * const MODE_SESSION = "Project"; const int P_MODE_SESSION = 85; // actions diff --git a/src/plugins/projectexplorer/projectfilewizardextension.cpp b/src/plugins/projectexplorer/projectfilewizardextension.cpp index b897dd44ff91082fb7704fa870d1376bd7043398..3b969a10a9f7cd1d53d4a490463079f8bdb587be 100644 --- a/src/plugins/projectexplorer/projectfilewizardextension.cpp +++ b/src/plugins/projectexplorer/projectfilewizardextension.cpp @@ -152,7 +152,7 @@ QList<QWizardPage *> ProjectFileWizardExtension::extensionPages(const Core::IWiz const int count = m_context->projects.size(); for (int i = 0; i < count; i++) { ProjectNode *pn = m_context->projects.at(i); - projectNames.push_back(pn->name()); + projectNames.push_back(QFileInfo(pn->path()).fileName()); if (current == pn) currentIndex = i; } diff --git a/src/plugins/qtscripteditor/qtscripteditorconstants.h b/src/plugins/qtscripteditor/qtscripteditorconstants.h index 0e2e52c36615e4d60c7a81a562ff9afafdd3745d..474a8291e1bc3a4b5fc19b7d44afd535d2361262 100644 --- a/src/plugins/qtscripteditor/qtscripteditorconstants.h +++ b/src/plugins/qtscripteditor/qtscripteditorconstants.h @@ -38,8 +38,8 @@ namespace QtScriptEditor { namespace Constants { const char * const M_CONTEXT = "Qt Script Editor.ContextMenu"; -const char * const RUN = "Qt Script Editor.Run"; -const char * const RUN_SEP = "Qt Script Editor.Run.Separator"; +const char * const RUN = "QtScriptEditor.Run"; +const char * const RUN_SEP = "QtScriptEditor.Run.Separator"; const char * const C_QTSCRIPTEDITOR = "Qt Script Editor"; const char * const C_QTSCRIPTEDITOR_MIMETYPE = "application/javascript"; diff --git a/src/plugins/quickopen/quickopenplugin.cpp b/src/plugins/quickopen/quickopenplugin.cpp index a7b6de8fbab36d04d053f8e391b07c787529fdfe..c6a67e67ada0b988206ae350d7366bef4f2cd591 100644 --- a/src/plugins/quickopen/quickopenplugin.cpp +++ b/src/plugins/quickopen/quickopenplugin.cpp @@ -91,14 +91,14 @@ bool QuickOpenPlugin::initialize(const QStringList &, QString *) m_quickOpenToolWindow = new QuickOpenToolWindow(this); m_quickOpenToolWindow->setEnabled(false); Core::BaseView *view = new Core::BaseView; - view->setUniqueViewName("QuickOpen.ToolWindow"); + view->setUniqueViewName("QuickOpen"); view->setWidget(m_quickOpenToolWindow); view->setContext(QList<int>() << core->uniqueIDManager() ->uniqueIdentifier(QLatin1String("QuickOpenToolWindow"))); view->setDefaultPosition(Core::IView::First); addAutoReleasedObject(view); - const QString actionId = QLatin1String("QtCreator.View.QuickOpen.ToolWindow"); + const QString actionId = QLatin1String("QtCreator.QuickOpen"); QAction *action = new QAction(m_quickOpenToolWindow->windowIcon(), m_quickOpenToolWindow->windowTitle(), this); Core::Command *cmd = core->actionManager()->registerAction(action, actionId, QList<int>() << Core::Constants::C_GLOBAL_ID); cmd->setDefaultKeySequence(QKeySequence("Ctrl+K")); diff --git a/src/plugins/quickopen/quickopentoolwindow.cpp b/src/plugins/quickopen/quickopentoolwindow.cpp index dea220c837ee9c3a71526bf61ce89ee9899e35f8..5a682322d7eeae3a40f8078d224b55d0f55d25e7 100644 --- a/src/plugins/quickopen/quickopentoolwindow.cpp +++ b/src/plugins/quickopen/quickopentoolwindow.cpp @@ -281,6 +281,7 @@ QuickOpenToolWindow::QuickOpenToolWindow(QuickOpenPlugin *qop) : m_fileLineEdit->setUseLayoutDirection(true); m_fileLineEdit->setHintText(tr("Type to locate")); m_fileLineEdit->setFocusPolicy(Qt::ClickFocus); + m_fileLineEdit->setAttribute(Qt::WA_MacShowFocusRect, false); m_fileLineEdit->installEventFilter(this); this->installEventFilter(this); diff --git a/src/plugins/snippets/snippetsplugin.cpp b/src/plugins/snippets/snippetsplugin.cpp index 3eae254875cc9b96d83e01bef706d4e700b3120f..d597b9a19ada951af698cd5426b9ecd82ac92aeb 100644 --- a/src/plugins/snippets/snippetsplugin.cpp +++ b/src/plugins/snippets/snippetsplugin.cpp @@ -82,7 +82,7 @@ bool SnippetsPlugin::initialize(const QStringList &arguments, QString *) m_snippetWnd = new SnippetsWindow(); Core::BaseView *view = new Core::BaseView; - view->setUniqueViewName("Snippets.SnippetsTree"); + view->setUniqueViewName("Snippets"); view->setWidget(m_snippetWnd); view->setContext(QList<int>() << core->uniqueIDManager()->uniqueIdentifier(QLatin1String("Snippets Window")) diff --git a/src/plugins/subversion/subversionconstants.h b/src/plugins/subversion/subversionconstants.h index bd06b2b0bd81a00b11427b95d3ba40a49a9d42da..57c3b07b7ed106202e66ef18b89b35e1fc4f5f74 100644 --- a/src/plugins/subversion/subversionconstants.h +++ b/src/plugins/subversion/subversionconstants.h @@ -42,8 +42,8 @@ const char * const SUBVERSIONEDITOR = "Subversion Editor"; const char * const SUBVERSIONEDITOR_KIND = "Subversion Editor"; const char * const SUBVERSIONCOMMITEDITOR = "Subversion Commit Editor"; const char * const SUBVERSIONCOMMITEDITOR_KIND = "Subversion Commit Editor"; -const char * const SUBMIT_CURRENT = "Nokia.Subversion.SubmitCurrentLog"; -const char * const DIFF_SELECTED = "Nokia.Subversion.DiffSelectedFilesInLog"; +const char * const SUBMIT_CURRENT = "Subversion.SubmitCurrentLog"; +const char * const DIFF_SELECTED = "Subversion.DiffSelectedFilesInLog"; enum { debug = 0 }; } // namespace Constants diff --git a/src/tools/qtlibspatcher/qtlibspatcher.sh b/src/tools/qtlibspatcher/qtlibspatcher.sh new file mode 100755 index 0000000000000000000000000000000000000000..3f04fafb10161d8e9ac46b1610d7ae1158709f4d --- /dev/null +++ b/src/tools/qtlibspatcher/qtlibspatcher.sh @@ -0,0 +1,2 @@ +#!/bin/sh +LD_LIBRARY_PATH=`cd .. && pwd`/lib ./qtlibspatcher diff --git a/src/tools/qtlibspatcher/qtlibspatchermain.cpp b/src/tools/qtlibspatcher/qtlibspatchermain.cpp index ad4e3ae71561844c66ae754cf62e80157c0d4bba..56c7aeb104db8b0cc343ce74de27d3a9673772d7 100644 --- a/src/tools/qtlibspatcher/qtlibspatchermain.cpp +++ b/src/tools/qtlibspatcher/qtlibspatchermain.cpp @@ -42,7 +42,7 @@ #include <QtCore/QDebug> #ifdef Q_OS_WIN -# define QT_INSTALL_DIR "C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.4.3/qt"; +# define QT_INSTALL_DIR "C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.5.0/qt"; const char * const oldInstallBase = QT_INSTALL_DIR; const char * const oldSourceBase = QT_INSTALL_DIR;