From bd9c842a38dd2d846c86b86e4ebee67395508f1f Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Mon, 7 Oct 2013 13:45:08 +0200 Subject: [PATCH 01/66] Doc: restructure UI design section Remove graphics and combine some short topics to put more weight on Qt Quick development instead of generic UI development. Change-Id: Ief2041022e0ccb407c26b0742825613223082f0a Reviewed-by: Thomas Hartmann --- doc/images/creator_createanimation.png | Bin 5510 -> 0 bytes doc/images/creator_createcode.png | Bin 7956 -> 0 bytes doc/images/creator_createcomponents.png | Bin 7368 -> 0 bytes doc/images/creator_createproject.png | Bin 2638 -> 0 bytes doc/images/creator_createscreen.png | Bin 7355 -> 0 bytes doc/images/creator_createuserinter.png | Bin 7028 -> 0 bytes doc/src/qtcreator.qdoc | 3 - doc/src/qtquick/qtquick-app-development.qdoc | 85 ++++++------------ doc/src/qtquick/qtquick-exporting-qml.qdoc | 4 +- .../qtquick/qtquick-modules-with-plugins.qdoc | 2 +- doc/src/qtquick/qtquick-screens.qdoc | 38 ++++---- 11 files changed, 47 insertions(+), 85 deletions(-) delete mode 100644 doc/images/creator_createanimation.png delete mode 100644 doc/images/creator_createcode.png delete mode 100644 doc/images/creator_createcomponents.png delete mode 100644 doc/images/creator_createproject.png delete mode 100644 doc/images/creator_createscreen.png delete mode 100644 doc/images/creator_createuserinter.png diff --git a/doc/images/creator_createanimation.png b/doc/images/creator_createanimation.png deleted file mode 100644 index 05375fda47a7a0f45734780bc2fcbd0cd29b55a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5510 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 E0Au4WHUIzs diff --git a/doc/images/creator_createcode.png b/doc/images/creator_createcode.png deleted file mode 100644 index 835c273edf5ae90470973c1dde3af6902639b3ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7956 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 AJOBUy diff --git a/doc/images/creator_createproject.png b/doc/images/creator_createproject.png deleted file mode 100644 index edede18598a11f97c50cea8b2237d27880f1728a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2638 zcmeAS@N?(olHy`uVBq!ia0y~yU^v9Uz>vwo%)r19|Aa@6fq_A?#5JNMI6tkVJh3R1 z!7(L2DOJHUH!(dmC^a#qvhZZ84Fdy{YJg9OD+2>V1Bu|-vuBt(PMar42)n{STY zS%2luqnr2d-@pI<{QVCX9!#lu`0UH$d7Y2<-+B7gZa!Z*{rQ(iFJ8QO@#fpB zElXaVfBO3M>o;%Sy!ra*?f#AL-o1PO{{4rO`#yaB`SJd{j~_pN`t<43&o`g1oc{dz z^OrAQzRsxocK^n=Z{NPJpZ)#&_wPUd{Mfbf$NO(Tk8S_?>gms)KY#xD`s>%P-xrVl zxqIc$mrsBG{Q3Lh(ciy+|9$!R|NsAJ(JibD3=IAyL4Lsuj7-cdtZeKYoLt;IynOru z0)j%qBBEkq;u4Zl(lWAg@(PMd%4!;#TH3k>h7K+PL1B?Gaq$TWg=Gzmz5V@@CQq3< zb^iJdd-oqWbpG;t|I0;{3=Hfko-U3d6}R5b>5je}CUQV`se|VF($-ubx0^D2&+q*H zTbF;1v1^f%|HehiD<%udYD^PTkL_NwG-c)7C9^CunU`(-@~_s~T-SF(yT$AYzk8kc zKU4egac+Fxxt-7FsHETC<}TW-cs}Ed`An`NO|{^C7iXj!)=KbH{$x$_j%>Y}w))J}8#&jyjJkI!*q>j(*|_mQOxD^}>sD^P{kllGtUA}X zbn4bCF$q_i4knn)^v=EdP4=s`v{czsHz}#IYwtIN-}XAIwwR5h@|aWi)?2IF_T+69 zk@~!4L(8H~TD!%c#x>=KOcl*c;BB*+ymL`iyB0@&SojRzSqdW2*{}A#_+WIB^H8+u zwIp4E9#*mFw|=1l_ttHVW){l^RR(Sz2{_ zSoL}<7bW_ayh(rZvEtYScHW1bFVxr+rTE;LH5wK*7AVN@xwJE=$z1!dBl9xm^qj?w zO9fZwM_ZJxa_^krv{J+rUzwd|SwXz)#cX%dV;*SyD@c;N$ZTq?VKfb#Sd}yqH|{~#06$@oK8Jl+O6CF<;S)SMsAP7Ua6%t^OK^J(+jvZ9;#b3G3I!+rzUrs`2s=>Ov)-MLN;=VYClZv zPCep2{;=$FURP@7_S)J}>>v7c3Q~w=QHk{88Xs z;UyiFf&`X%o&2gFrnfM>YJO+ZZT?29&9}ia_)XZU#avF+zl&O0QjR&9eLnfb-bB(> zqQGsT0J}8HHik06LuHIF`EC_xCQJ^Rce?1*f)z;Z_MZbMzir|bJzNKc=zqK7H{+3w9CEg{P%I2 znXSUwd)G~P4cMxxjW{;E@@nL-u~zudX4tB5I{yF64b{Qg91RN#w=Z*@ab~eW!6U^_ zjydK{1|0JqHp)*s#Qo{lG@H8@w{(@fxm=WKt#tpdeaqLj^c6Az(F^YwO!K%_yF{yK zTV|-`?}yK3eO8{bWqH)5DEYk=A2Z69FP$jT|7ClUP@i&1j3MuP!KM%Cx1%_6?+Y{; zlqTr5F!#17R2Xx~vsm_C$lP;Q=F_A`1N%7_!z&GnGb;EcIsRrVf0^7^aDVE>?@A|1 zTh=|!eKz5B<))m(rIwSExHER8>b6X)ZBh7hb*q@u_2n%JcZ%1xKDgz}!Nhgy^yh!g z?B7p!fBt?XCHM2XXIGi7rd^jy5)in(U&`tKb(W{+x-YAT3C+3joyGIz|3@YFnXd;G z&p*XtxjsRMtvz}Qi|*m-P_=-CIyKp=?4y}8-sacLKXU5ZqqUj&_2KUB;rqWI=bxvx z)ndPee5Xs({e3>a{D!X6dzM6GZC%RRq_y|Zg2;$O$9-lj zTBSLYqqaTGbeYh`VE8QLL%m6c+k|B&_WlWv{l|L2pZ(SDkXdyM3=9mOu6{1-oD!M< D#&b=a diff --git a/doc/images/creator_createscreen.png b/doc/images/creator_createscreen.png deleted file mode 100644 index 537273d769108f748334a4236e63e33e62a36694..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7355 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 diff --git a/doc/src/qtcreator.qdoc b/doc/src/qtcreator.qdoc index 3b1bb028dab..86815fdf858 100644 --- a/doc/src/qtcreator.qdoc +++ b/doc/src/qtcreator.qdoc @@ -190,10 +190,7 @@ \li \l {Creating Buttons} \li \l {Creating Scalable Buttons and Borders} \li \l {Creating Screens} - \li \l {Animating Screens} - \li \l {Adding User Interaction Methods} \li \l {Exporting Designs from Graphics Software} - \li \l {Implementing Application Logic} \li \l {Using QML Modules with Plugins} \endlist \li \l{Developing Widget Based Applications} diff --git a/doc/src/qtquick/qtquick-app-development.qdoc b/doc/src/qtquick/qtquick-app-development.qdoc index 61caacd9a81..a9a152e8ce1 100644 --- a/doc/src/qtquick/qtquick-app-development.qdoc +++ b/doc/src/qtquick/qtquick-app-development.qdoc @@ -31,67 +31,40 @@ \title Developing Qt Quick Applications - You can either create Qt Quick projects from scratch or import existing - projects to \QC. - - You can use the code editor (\l{Working in Edit Mode}{Edit mode}) or the - visual editor (\l{Using Qt Quick Designer}{Design mode}) to develop Qt Quick - applications. - - Typically, application development proceeds as follows: - - \table - \row - \li \inlineimage creator_createproject.png - \li \inlineimage creator_createcomponents.png - \li \inlineimage creator_createscreen.png - \row - \li \l {Creating Qt Quick Projects}{Create or import projects.} - \li \l {Creating Components}{Create components.} - \li \l {Creating Screens}{Create screens.} - \row - \li \inlineimage creator_createanimation.png - \li \inlineimage creator_createuserinter.png - \li \inlineimage creator_createcode.png - \row - \li \l {Animating Screens}{Add animation to screens.} - \li \l {Adding User Interaction Methods} - {Add user interaction methods.} - \li \l {Implementing Application Logic} - {Implement the application logic.} - \endtable - - \section1 Related Topics - \list + + \li \l {Creating Qt Quick Projects} + + You can either create Qt Quick projects from scratch or import + existing projects to \QC. \li \l {Using Qt Quick Designer} - \li \l {Creating Buttons} - \li \l {Creating Scalable Buttons and Borders} + + You can use the code editor (Edit mode) or the visual editor (Design + mode) to develop Qt Quick applications. + + \li \l {Creating Components} + + You can use predefined QML types to create components or use a set + of Qt Quick Controls for creating classic desktop-style user + interfaces using Qt Quick 2.1 (available since Qt 5.1). + \li \l {Creating Screens} + + You can use predefined QML types, Qt Quick Controls, and your own + components to create screens. You can use states and transitions to + navigate between screens. \li \l {Exporting Designs from Graphics Software} + + You can export designs from graphics software, such as Adobe + Photoshop and GIMP, to QML files. You can then edit QML files in + \QC. \li \l {Using QML Modules with Plugins} + QML modules may use plugins to expose components defined in C++ to + QML applications. \QC cannot load the plugins to determine the + details of the contained components, and therefore, the modules must + provide extra type information for code completion and the semantic + checks to work correctly. + \endlist */ - - -/*! - - \contentspage index.html - \previouspage quick-export-to-qml.html - \page quick-application-logic.html - \nextpage creator-qml-modules-with-plugins.html - - \title Implementing Application Logic - - A user interface is only a part of an application, and not really useful by itself. - You can use Qt or JavaScript to implement the application logic. For more information on - using JavaScript, see - \l{http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-topic.html} - {Integrating QML and JavaScript}. - - For an example of how to use JavaScript to develop a game, see the - \l{http://qt-project.org/doc/qt-5.0/qtquick/qtquick2-qml-advtutorial.html} - {QML Advanced Tutorial}. - - */ diff --git a/doc/src/qtquick/qtquick-exporting-qml.qdoc b/doc/src/qtquick/qtquick-exporting-qml.qdoc index 010b91ef52f..9244df48d2d 100644 --- a/doc/src/qtquick/qtquick-exporting-qml.qdoc +++ b/doc/src/qtquick/qtquick-exporting-qml.qdoc @@ -25,9 +25,9 @@ /*! \contentspage index.html - \previouspage quick-user-interaction.html + \previouspage quick-screens.html \page quick-export-to-qml.html - \nextpage quick-application-logic.html + \nextpage creator-qml-modules-with-plugins.html \title Exporting Designs from Graphics Software diff --git a/doc/src/qtquick/qtquick-modules-with-plugins.qdoc b/doc/src/qtquick/qtquick-modules-with-plugins.qdoc index e28920cd6ea..7536b1cba2a 100644 --- a/doc/src/qtquick/qtquick-modules-with-plugins.qdoc +++ b/doc/src/qtquick/qtquick-modules-with-plugins.qdoc @@ -24,7 +24,7 @@ /*! \contentspage index.html - \previouspage quick-application-logic.html + \previouspage quick-export-to-qml.html \page creator-qml-modules-with-plugins.html \nextpage creator-using-qt-designer.html diff --git a/doc/src/qtquick/qtquick-screens.qdoc b/doc/src/qtquick/qtquick-screens.qdoc index e9b62f89d5f..86904ceaa78 100644 --- a/doc/src/qtquick/qtquick-screens.qdoc +++ b/doc/src/qtquick/qtquick-screens.qdoc @@ -27,7 +27,7 @@ \contentspage index.html \previouspage quick-scalable-image.html \page quick-screens.html - \nextpage quick-animations.html + \nextpage quick-export-to-qml.html \title Creating Screens @@ -183,17 +183,7 @@ \endlist -*/ - - -/*! - - \contentspage index.html - \previouspage quick-screens.html - \page quick-animations.html - \nextpage quick-user-interaction.html - - \title Animating Screens + \section1 Animating Screens To make movement between states smooth, you can specify transitions. You can use different types of animated transitions. For example, you can animate @@ -210,17 +200,7 @@ see \l{http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-transition.html} {Transition}. -*/ - - -/*! - - \contentspage index.html - \previouspage quick-animations.html - \page quick-user-interaction.html - \nextpage quick-export-to-qml.html - - \title Adding User Interaction Methods + \section1 Adding User Interaction Methods You can add the following basic interaction methods to scenes: @@ -242,4 +222,16 @@ \endlist + \section1 Implementing Application Logic + + A user interface is only a part of an application, and not really useful by itself. + You can use Qt or JavaScript to implement the application logic. For more information on + using JavaScript, see + \l{http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-topic.html} + {Integrating QML and JavaScript}. + + For an example of how to use JavaScript to develop a game, see the + \l{http://qt-project.org/doc/qt-5.0/qtquick/qtquick2-qml-advtutorial.html} + {QML Advanced Tutorial}. + */ From 32bf281a79a303f658fce364862390c5bcd1b5be Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 8 Oct 2013 13:02:02 +0200 Subject: [PATCH 02/66] Mac: Try to work around the re-occurring disk image creation error A guess is that hdiutil finishes even though the system is not yet quite finished with the image (e.g. still unmounting?), so introducing a small timer. Also turn on verbosity, so this error might be better trackable if it occurs again. Change-Id: I0acb23bbac408f2979c8cacf2fc58fdff782fc3d Reviewed-by: Eike Ziller --- scripts/makedmg.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/makedmg.sh b/scripts/makedmg.sh index 5c4f69f3a6f..cc7a4d816e9 100755 --- a/scripts/makedmg.sh +++ b/scripts/makedmg.sh @@ -12,7 +12,9 @@ cp -a "${sourceFolder}/" "${intermediateFolder}" ln -s /Applications "${intermediateFolder}" cp "$(dirname "${BASH_SOURCE[0]}")/../LICENSE.LGPL" "${intermediateFolder}/LICENSE_LGPL.txt" echo Creating image... -hdiutil create -srcfolder "${intermediateFolder}" -volname "${title}" -format UDBZ "${finalDMGName}" -ov -scrub -stretch 2g +hdiutil create -srcfolder "${intermediateFolder}" -volname "${title}" -format UDBZ "${finalDMGName}" -ov -scrub -stretch 2g -verbose +# make sure that the image is umounted etc +sleep 4 # clean up rm -rf "${intermediateFolder}" From 2e15e54d958697e591424756f448c0580b718009 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 8 Oct 2013 11:58:18 +0300 Subject: [PATCH 03/66] Fix MSVC warning basetexteditor.cpp:6013: warning: C4189: 'ts' : local variable is initialized but not referenced Change-Id: Ia5d6531f8dab8debbb41da79f1cdf152ee831676 Reviewed-by: Friedemann Kleint --- src/plugins/texteditor/basetexteditor.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 9ba6c45b12e..06d6e6401e0 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -6010,7 +6010,6 @@ void BaseTextEditorWidget::insertFromMimeData(const QMimeData *source) d->m_snippetOverlay->clear(); } - const TabSettings &ts = d->m_document->tabSettings(); const TypingSettings &tps = d->m_document->typingSettings(); QTextCursor cursor = textCursor(); if (!tps.m_autoIndent) { @@ -6024,7 +6023,7 @@ void BaseTextEditorWidget::insertFromMimeData(const QMimeData *source) cursor.beginEditBlock(); cursor.removeSelectedText(); - bool insertAtBeginningOfLine = ts.cursorIsAtBeginningOfLine(cursor); + bool insertAtBeginningOfLine = TabSettings::cursorIsAtBeginningOfLine(cursor); if (insertAtBeginningOfLine && source->hasFormat(QLatin1String(kTextBlockMimeType))) { From a833ba350a86d516ce70b34132baa8e38e707fd7 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 8 Oct 2013 15:04:46 +0200 Subject: [PATCH 04/66] Fix some spelling/tr-errors in Android/QNX. Change-Id: Ia9f927c7b4108046d03158de0aa6d94026f1cfde Reviewed-by: Daniel Teske --- src/plugins/android/androidmanifesteditorwidget.cpp | 2 +- src/plugins/qnx/blackberrycreatecertificatedialog.cpp | 4 ++-- src/plugins/qnx/blackberrykeyswidget.cpp | 2 +- src/plugins/qnx/blackberryndksettingswidget.ui | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/plugins/android/androidmanifesteditorwidget.cpp b/src/plugins/android/androidmanifesteditorwidget.cpp index ddf27b89230..a7a8af0531c 100644 --- a/src/plugins/android/androidmanifesteditorwidget.cpp +++ b/src/plugins/android/androidmanifesteditorwidget.cpp @@ -203,7 +203,7 @@ void AndroidManifestEditorWidget::initializePage() m_androidTargetSdkVersion = new QComboBox(packageGroupBox); m_androidTargetSdkVersion->setToolTip( - tr("Sets the targe SDK, set this to the highest tested version." + tr("Sets the target SDK; set this to the highest tested version." "This disables compatibility behavior of the system for your application.")); m_androidTargetSdkVersion->addItem(tr("Not set"), 0); diff --git a/src/plugins/qnx/blackberrycreatecertificatedialog.cpp b/src/plugins/qnx/blackberrycreatecertificatedialog.cpp index 3fd3ac18c96..8c761d161bd 100644 --- a/src/plugins/qnx/blackberrycreatecertificatedialog.cpp +++ b/src/plugins/qnx/blackberrycreatecertificatedialog.cpp @@ -175,10 +175,10 @@ void BlackBerryCreateCertificateDialog::certificateCreated(int status) errorMessage = tr("The blackberry-keytool process is already running"); break; case BlackBerryCertificate::WrongPassword: - errorMessage = tr("The enteres password is invalid"); + errorMessage = tr("The password entered is invalid"); break; case BlackBerryCertificate::PasswordTooSmall: - errorMessage = tr("The enteres password is too small"); + errorMessage = tr("The password entered is too small"); break; case BlackBerryCertificate::InvalidOutputFormat: errorMessage = tr("Invalid output format"); diff --git a/src/plugins/qnx/blackberrykeyswidget.cpp b/src/plugins/qnx/blackberrykeyswidget.cpp index 31ded4630d0..8a3715279d3 100644 --- a/src/plugins/qnx/blackberrykeyswidget.cpp +++ b/src/plugins/qnx/blackberrykeyswidget.cpp @@ -83,7 +83,7 @@ void BlackBerryKeysWidget::certificateLoaded(int status) case BlackBerryCertificate::Busy: case BlackBerryCertificate::InvalidOutputFormat: case BlackBerryCertificate::Error: - setCertificateError(tr("Error loading certificate!")); + setCertificateError(tr("Error loading certificate.")); m_ui->openCertificateButton->setVisible(true); break; } diff --git a/src/plugins/qnx/blackberryndksettingswidget.ui b/src/plugins/qnx/blackberryndksettingswidget.ui index bb0fdd4339d..57d608b1a52 100644 --- a/src/plugins/qnx/blackberryndksettingswidget.ui +++ b/src/plugins/qnx/blackberryndksettingswidget.ui @@ -163,7 +163,7 @@ - Add + Add From c65c650cc2dcb0ac336cb2f6e74cb2e327e8ba15 Mon Sep 17 00:00:00 2001 From: Fawzi Mohamed Date: Mon, 7 Oct 2013 21:28:49 +0200 Subject: [PATCH 05/66] ios: disable debug print of probe progress Change-Id: I867c3f2881fd6882458c92fa84fbc9668ba6a538 Reviewed-by: Eike Ziller --- src/plugins/ios/iosconfigurations.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/ios/iosconfigurations.cpp b/src/plugins/ios/iosconfigurations.cpp index fb4012355c1..9f6dff19af4 100644 --- a/src/plugins/ios/iosconfigurations.cpp +++ b/src/plugins/ios/iosconfigurations.cpp @@ -68,7 +68,7 @@ using namespace ProjectExplorer; using namespace Utils; -static const bool debugProbe = true; +static const bool debugProbe = false; namespace Ios { namespace Internal { From 171fd691c397dcbd03e7d5bb2cb3d3b4845158a9 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 8 Oct 2013 15:27:45 +0200 Subject: [PATCH 06/66] Ios: Fix crash when connecting user-mode device The modal dialog was opened directly from the tool output processing, and when returning the tool handler was already deleted. Change-Id: Iacba584b59bf8720788ac03fd2e839c5e4485ab3 Reviewed-by: Fawzi Mohamed --- src/plugins/ios/iosdevice.cpp | 2 +- src/plugins/ios/iosplugin.cpp | 5 ++++- src/plugins/ios/iostoolhandler.cpp | 20 ++++++++++++++------ src/plugins/ios/iostoolhandler.h | 2 ++ 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/plugins/ios/iosdevice.cpp b/src/plugins/ios/iosdevice.cpp index 853328a0ff6..e5641426a57 100644 --- a/src/plugins/ios/iosdevice.cpp +++ b/src/plugins/ios/iosdevice.cpp @@ -269,7 +269,7 @@ void IosDeviceManager::updateInfo(const QString &devId) { IosToolHandler *requester = new IosToolHandler(IosToolHandler::IosDeviceType, this); connect(requester, SIGNAL(deviceInfo(Ios::IosToolHandler*,QString,Ios::IosToolHandler::Dict)), - SLOT(deviceInfo(Ios::IosToolHandler *,QString,Ios::IosToolHandler::Dict))); + SLOT(deviceInfo(Ios::IosToolHandler *,QString,Ios::IosToolHandler::Dict)), Qt::QueuedConnection); connect(requester, SIGNAL(finished(Ios::IosToolHandler*)), SLOT(infoGathererFinished(Ios::IosToolHandler*))); requester->requestDeviceInfo(devId); diff --git a/src/plugins/ios/iosplugin.cpp b/src/plugins/ios/iosplugin.cpp index c4eb2325750..5e53d9940fa 100644 --- a/src/plugins/ios/iosplugin.cpp +++ b/src/plugins/ios/iosplugin.cpp @@ -38,6 +38,7 @@ #include "iosmanager.h" #include "iosrunfactories.h" #include "iossettingspage.h" +#include "iostoolhandler.h" #include "iosqtversionfactory.h" #include "iosbuildstep.h" #include "iosdeploystepfactory.h" @@ -52,7 +53,9 @@ namespace Ios { IosPlugin::IosPlugin() -{ } +{ + qRegisterMetaType("Ios::IosToolHandler::Dict"); +} bool IosPlugin::initialize(const QStringList &arguments, QString *errorMessage) { diff --git a/src/plugins/ios/iostoolhandler.cpp b/src/plugins/ios/iostoolhandler.cpp index c3643c9e370..bc784aea744 100644 --- a/src/plugins/ios/iostoolhandler.cpp +++ b/src/plugins/ios/iostoolhandler.cpp @@ -61,7 +61,7 @@ class MyProcess: public QProcess Q_OBJECT public: explicit MyProcess(QObject *parent = 0); - int processOutput(); + int processOutputSocket(); QSocketNotifier *notifier(); protected: virtual void setupChildProcess(); @@ -136,6 +136,7 @@ public: }; explicit IosToolHandlerPrivate(IosToolHandler::DeviceType devType, IosToolHandler *q); + virtual ~IosToolHandlerPrivate() {} virtual void requestTransferApp(const QString &bundlePath, const QString &deviceId, int timeout = 1000) = 0; virtual void requestRunApp(const QString &bundlePath, const QStringList &extraArgs, @@ -221,7 +222,7 @@ MyProcess::MyProcess(QObject *parent) : QProcess(parent) m_notifier = new QSocketNotifier(m_sockets[0], QSocketNotifier::Read, this); } -int MyProcess::processOutput() +int MyProcess::processOutputSocket() { return m_sockets[0]; } @@ -251,8 +252,8 @@ IosToolHandlerPrivate::IosToolHandlerPrivate(IosToolHandler::DeviceType devType, q, SLOT(subprocessFinished(int,QProcess::ExitStatus))); QObject::connect(&process, SIGNAL(error(QProcess::ProcessError)), q, SLOT(subprocessError(QProcess::ProcessError))); - int accessFlags = fcntl(process.processOutput(), F_GETFL); - if (fcntl(process.processOutput(), F_SETFL, accessFlags | O_NONBLOCK) == -1) + int accessFlags = fcntl(process.processOutputSocket(), F_GETFL); + if (fcntl(process.processOutputSocket(), F_SETFL, accessFlags | O_NONBLOCK) == -1) qDebug() << "IosToolHandler fcntl F_SETFL failed to set non blocking mode" << qt_error_string(errno); } @@ -277,9 +278,11 @@ void IosToolHandlerPrivate::stop() if (debugToolHandler) qDebug() << "IosToolHandlerPrivate::stop"; if (process.state() != QProcess::NotRunning) { - close(process.processOutput()); + close(process.processOutputSocket()); process.close(); process.kill(); + if (debugToolHandler) + qDebug() << "killing"; } if (state != Stopped) { state = Stopped; @@ -374,7 +377,7 @@ void IosToolHandlerPrivate::subprocessError(QProcess::ProcessError error) void IosToolHandlerPrivate::subprocessFinished(int exitCode, QProcess::ExitStatus exitStatus) { // process potentially pending data - subprocessHasData(process.processOutput()); + subprocessHasData(process.processOutputSocket()); switch (state) { case NonStarted: qDebug() << "subprocessFinished() when state was NonStarted"; @@ -944,6 +947,11 @@ IosToolHandler::IosToolHandler(DeviceType devType, QObject *parent) : d = new Internal::IosSimulatorToolHandlerPrivate(devType, this); } +IosToolHandler::~IosToolHandler() +{ + delete d; +} + void IosToolHandler::stop() { d->stop(); diff --git a/src/plugins/ios/iostoolhandler.h b/src/plugins/ios/iostoolhandler.h index e817acc102a..42c6cc0fd34 100644 --- a/src/plugins/ios/iostoolhandler.h +++ b/src/plugins/ios/iostoolhandler.h @@ -67,7 +67,9 @@ public: static QString iosDeviceToolPath(); static QString iosSimulatorToolPath(); + explicit IosToolHandler(DeviceType = IosDeviceType, QObject *parent = 0); + ~IosToolHandler(); void requestTransferApp(const QString &bundlePath, const QString &deviceId, int timeout = 1000); void requestRunApp(const QString &bundlePath, const QStringList &extraArgs, RunKind runType, const QString &deviceId, int timeout = 1000); From f47c101b8b03776ac874732684f9f7d1af4176e3 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 8 Oct 2013 13:02:52 +0300 Subject: [PATCH 07/66] Revert "EditorManager: Fix crash when closing an editor upon activation" Deleting an editor while currentEditorChanged is apparently not a good idea. Use a queued connection instead. This reverts commits 243a6259618e69b8da9ac2438480c449754f7f77, 447c4ed37f8904ca733d6e6253ad19bb0388f209, d9602ca550c53e60a5229bfec9539e41fa5a694c and 31034870389a512e3450e32ed990e1622bd6e679. Change-Id: Iccbee25fb77714963faa6f7184d1f5f53ed348a6 Reviewed-by: Nikolai Kosjar Reviewed-by: Eike Ziller --- src/plugins/coreplugin/coreplugin.pro | 4 +-- src/plugins/coreplugin/coreplugin.qbs | 4 +-- .../editormanager/editormanager.cpp | 2 +- .../{plugintestutils.cpp => testdatadir.cpp} | 26 ++++--------------- .../{plugintestutils.h => testdatadir.h} | 17 ++++-------- src/plugins/cppeditor/cppdoxygen_test.cpp | 4 +-- src/plugins/cppeditor/cppquickfix_test.cpp | 5 ++-- .../followsymbol_switchmethoddecldef_test.cpp | 4 +-- src/plugins/cpptools/cppcompletion_test.cpp | 3 +-- src/plugins/cpptools/cppheadersource_test.cpp | 4 +-- .../cpptools/cpplocatorfilter_test.cpp | 8 +++--- src/plugins/cpptools/cppmodelmanager_test.cpp | 10 +++---- src/plugins/cpptools/symbolsearcher_test.cpp | 4 +-- src/plugins/designer/gotoslot_test.cpp | 10 +++---- src/plugins/locator/locator_test.cpp | 4 +-- src/plugins/vcsbase/vcsbasesubmiteditor.cpp | 6 +++-- 16 files changed, 46 insertions(+), 69 deletions(-) rename src/plugins/coreplugin/{plugintestutils.cpp => testdatadir.cpp} (70%) rename src/plugins/coreplugin/{plugintestutils.h => testdatadir.h} (85%) diff --git a/src/plugins/coreplugin/coreplugin.pro b/src/plugins/coreplugin/coreplugin.pro index 5557326a9a1..10b4087a432 100644 --- a/src/plugins/coreplugin/coreplugin.pro +++ b/src/plugins/coreplugin/coreplugin.pro @@ -237,6 +237,6 @@ else:unix { OTHER_FILES += editormanager/BinFiles.mimetypes.xml equals(TEST, 1) { - SOURCES += plugintestutils.cpp - HEADERS += plugintestutils.h + SOURCES += testdatadir.cpp + HEADERS += testdatadir.h } diff --git a/src/plugins/coreplugin/coreplugin.qbs b/src/plugins/coreplugin/coreplugin.qbs index e3ff4475452..89efd1e2483 100644 --- a/src/plugins/coreplugin/coreplugin.qbs +++ b/src/plugins/coreplugin/coreplugin.qbs @@ -181,8 +181,8 @@ QtcPlugin { name: "Tests" condition: project.testsEnabled files: [ - "plugintestutils.cpp", - "plugintestutils.h", + "testdatadir.cpp", + "testdatadir.h", ] } diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 4a9890f05ed..93a7c3c739d 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -1147,7 +1147,7 @@ bool EditorManager::closeEditors(const QList &editorsToClose, bool ask emit m_instance->editorsClosed(acceptedEditors.toList()); foreach (IEditor *editor, acceptedEditors) - editor->deleteLater(); + delete editor; if (currentView && !currentViewHandled) { if (IEditor *editor = currentView->currentEditor()) diff --git a/src/plugins/coreplugin/plugintestutils.cpp b/src/plugins/coreplugin/testdatadir.cpp similarity index 70% rename from src/plugins/coreplugin/plugintestutils.cpp rename to src/plugins/coreplugin/testdatadir.cpp index 964c709ae2f..c049585f97e 100644 --- a/src/plugins/coreplugin/plugintestutils.cpp +++ b/src/plugins/coreplugin/testdatadir.cpp @@ -28,30 +28,14 @@ ****************************************************************************/ -#include "plugintestutils.h" +#include "testdatadir.h" -#include "editormanager/editormanager.h" -#include "editormanager/ieditor.h" - -#include #include #include #include #include -void Core::Tests::closeAndDeleteEditors(QList editorsToClose) -{ - EditorManager::closeEditors(editorsToClose, /*askAboutModifiedEditors=*/ false); - // The editors are going to be deleted by the event loop (deleteLater()), - // but for tests we need them deleted now. - foreach (Core::IEditor *editor, editorsToClose) - QCoreApplication::sendPostedEvents(editor, QEvent::DeferredDelete); -} - -void Core::Tests::closeAndDeleteEditor(Core::IEditor *editor) -{ - closeAndDeleteEditors(QList() << editor); -} +using namespace Core::Internal::Tests; static void maybeAppendSlash(QString *string) { @@ -60,7 +44,7 @@ static void maybeAppendSlash(QString *string) string->append(slash); } -Core::Tests::TestDataDir::TestDataDir(const QString &directory) +TestDataDir::TestDataDir(const QString &directory) : m_directory(directory) { maybeAppendSlash(&m_directory); @@ -69,12 +53,12 @@ Core::Tests::TestDataDir::TestDataDir(const QString &directory) QVERIFY(fi.isDir()); } -QString Core::Tests::TestDataDir::file(const QString &fileName) const +QString TestDataDir::file(const QString &fileName) const { return directory() + fileName; } -QString Core::Tests::TestDataDir::directory(const QString &subdir, bool clean) const +QString TestDataDir::directory(const QString &subdir, bool clean) const { QString path = m_directory; if (!subdir.isEmpty()) diff --git a/src/plugins/coreplugin/plugintestutils.h b/src/plugins/coreplugin/testdatadir.h similarity index 85% rename from src/plugins/coreplugin/plugintestutils.h rename to src/plugins/coreplugin/testdatadir.h index dc4316a51d2..d8d654ca022 100644 --- a/src/plugins/coreplugin/plugintestutils.h +++ b/src/plugins/coreplugin/testdatadir.h @@ -28,25 +28,17 @@ ****************************************************************************/ -#ifndef PLUGINTESTUTILS_H -#define PLUGINTESTUTILS_H +#ifndef TESTDATADIR_H +#define TESTDATADIR_H #include "core_global.h" -#include #include namespace Core { - -class IEditor; - +namespace Internal { namespace Tests { -/// Closing and deleting editors -void CORE_EXPORT closeAndDeleteEditor(Core::IEditor *editor); -void CORE_EXPORT closeAndDeleteEditors(QList editorsToClose); - -/// Referencing test data class CORE_EXPORT TestDataDir { public: @@ -61,6 +53,7 @@ private: }; } // namespace Tests +} // namespace Internal } // namespace Core -#endif // PLUGINTESTUTILS_H +#endif // TESTDATADIR_H diff --git a/src/plugins/cppeditor/cppdoxygen_test.cpp b/src/plugins/cppeditor/cppdoxygen_test.cpp index 5ee9989f608..8feffc6579a 100644 --- a/src/plugins/cppeditor/cppdoxygen_test.cpp +++ b/src/plugins/cppeditor/cppdoxygen_test.cpp @@ -30,7 +30,6 @@ #include "cppeditor.h" #include -#include #include #include #include @@ -116,7 +115,8 @@ TestCase::TestCase(const QByteArray &input) TestCase::~TestCase() { - Core::Tests::closeAndDeleteEditor(editor); + EditorManager::closeEditor(editor, false); + QCoreApplication::processEvents(); // process any pending events // Remove the test file from the code-model CppTools::CppModelManagerInterface *mmi = CppTools::CppModelManagerInterface::instance(); diff --git a/src/plugins/cppeditor/cppquickfix_test.cpp b/src/plugins/cppeditor/cppquickfix_test.cpp index 53c74826fd5..31c4b6513f1 100644 --- a/src/plugins/cppeditor/cppquickfix_test.cpp +++ b/src/plugins/cppeditor/cppquickfix_test.cpp @@ -34,7 +34,6 @@ #include "cppquickfixassistant.h" #include "cppquickfixes.h" -#include #include #include #include @@ -239,7 +238,6 @@ void TestCase::init(const QStringList &includePaths) // Rehighlight testFile->editorWidget->semanticRehighlight(true); - // Wait for the semantic info from the future while (testFile->editorWidget->semanticInfo().doc.isNull()) QCoreApplication::processEvents(); @@ -265,7 +263,8 @@ TestCase::~TestCase() if (testFile->editor) editorsToClose << testFile->editor; } - Core::Tests::closeAndDeleteEditors(editorsToClose); + EditorManager::closeEditors(editorsToClose, false); + QCoreApplication::processEvents(); // process any pending events // Remove the test files from the code-model CppModelManagerInterface *mmi = CppModelManagerInterface::instance(); diff --git a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp index dc001394046..441af4b440f 100644 --- a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp +++ b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp @@ -32,7 +32,6 @@ #include "cppelementevaluator.h" #include "cppvirtualfunctionassistprovider.h" -#include #include #include #include @@ -325,7 +324,8 @@ TestCase::~TestCase() if (testFile->editor) editorsToClose << testFile->editor; } - Core::Tests::closeAndDeleteEditors(editorsToClose); + EditorManager::closeEditors(editorsToClose, false); + QCoreApplication::processEvents(); // process any pending events // Remove the test files from the code-model CppModelManagerInterface *mmi = CppTools::CppModelManagerInterface::instance(); diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp index 3616561d095..755d0d9b987 100644 --- a/src/plugins/cpptools/cppcompletion_test.cpp +++ b/src/plugins/cpptools/cppcompletion_test.cpp @@ -31,7 +31,6 @@ #include "cppcompletionassist.h" #include "cppmodelmanager.h" -#include #include #include #include @@ -92,7 +91,7 @@ public: ~CompletionTestCase() { - Core::Tests::closeAndDeleteEditor(editor); + EditorManager::closeEditor(editor, /*askAboutModifiedEditors=*/ false); cmm->GC(); QVERIFY(cmm->snapshot().isEmpty()); } diff --git a/src/plugins/cpptools/cppheadersource_test.cpp b/src/plugins/cpptools/cppheadersource_test.cpp index e6937598568..26d833d1c40 100644 --- a/src/plugins/cpptools/cppheadersource_test.cpp +++ b/src/plugins/cpptools/cppheadersource_test.cpp @@ -30,7 +30,7 @@ #include "cpptoolsplugin.h" #include "cpptoolsreuse.h" -#include +#include #include #include @@ -46,7 +46,7 @@ void CppToolsPlugin::test_headersource() QFETCH(QString, headerFileName); bool wasHeader; - Core::Tests::TestDataDir dataDir( + Core::Internal::Tests::TestDataDir dataDir( _(SRCDIR "/../../../tests/cppheadersource/") + _(QTest::currentDataTag())); const QString sourcePath = dataDir.file(sourceFileName); diff --git a/src/plugins/cpptools/cpplocatorfilter_test.cpp b/src/plugins/cpptools/cpplocatorfilter_test.cpp index e83eb6767ab..7b6c3ae2745 100644 --- a/src/plugins/cpptools/cpplocatorfilter_test.cpp +++ b/src/plugins/cpptools/cpplocatorfilter_test.cpp @@ -36,7 +36,7 @@ #include "cppmodelmanager.h" #include -#include +#include #include #include #include @@ -46,6 +46,7 @@ #include using namespace Core; +using namespace Core::Internal::Tests; using namespace CppTools::Internal; using namespace ExtensionSystem; using namespace Locator; @@ -57,7 +58,7 @@ Q_DECLARE_METATYPE(ILocatorFilter *) namespace { -class MyTestDataDir : public Core::Tests::TestDataDir +class MyTestDataDir : public Core::Internal::Tests::TestDataDir { public: MyTestDataDir(const QString &testDataDirectory) @@ -124,7 +125,8 @@ private: virtual void doAfterLocatorRun() { - Core::Tests::closeAndDeleteEditor(m_editor); + EditorManager::closeEditor(m_editor, /*askAboutModifiedEditors=*/ false); + QCoreApplication::processEvents(); QVERIFY(EditorManager::documentModel()->openedDocuments().isEmpty()); m_modelManager->GC(); QVERIFY(m_modelManager->snapshot().isEmpty()); diff --git a/src/plugins/cpptools/cppmodelmanager_test.cpp b/src/plugins/cpptools/cppmodelmanager_test.cpp index bf17c90cd3e..3d1383b4695 100644 --- a/src/plugins/cpptools/cppmodelmanager_test.cpp +++ b/src/plugins/cpptools/cppmodelmanager_test.cpp @@ -33,7 +33,7 @@ #include "modelmanagertesthelper.h" #include -#include +#include #include #include #include @@ -62,7 +62,7 @@ namespace { inline QString _(const QByteArray &ba) { return QString::fromLatin1(ba, ba.size()); } -class MyTestDataDir : public Core::Tests::TestDataDir +class MyTestDataDir : public Core::Internal::Tests::TestDataDir { public: MyTestDataDir(const QString &dir) @@ -723,7 +723,7 @@ void CppToolsPlugin::test_modelmanager_gc_if_last_cppeditor_closed() helper.waitForRefreshedSourceFiles(); // Close file/editor - Core::Tests::closeAndDeleteEditor(editor); + Core::EditorManager::closeEditor(editor, /*askAboutModifiedEditors=*/ false); helper.waitForFinishedGc(); // Check: File is removed from the snapshpt @@ -760,7 +760,7 @@ void CppToolsPlugin::test_modelmanager_dont_gc_opened_files() QVERIFY(mm->snapshot().contains(file)); // Close editor - Core::Tests::closeAndDeleteEditor(editor); + Core::EditorManager::closeEditor(editor); helper.waitForFinishedGc(); QVERIFY(mm->snapshot().isEmpty()); } @@ -772,7 +772,7 @@ struct EditorCloser { ~EditorCloser() { if (editor) - Core::Tests::closeAndDeleteEditor(editor); + Core::EditorManager::closeEditor(editor); } }; diff --git a/src/plugins/cpptools/symbolsearcher_test.cpp b/src/plugins/cpptools/symbolsearcher_test.cpp index ffff79bbf58..c5529b7b467 100644 --- a/src/plugins/cpptools/symbolsearcher_test.cpp +++ b/src/plugins/cpptools/symbolsearcher_test.cpp @@ -33,7 +33,7 @@ #include "cppmodelmanager.h" #include "searchsymbols.h" -#include +#include #include #include @@ -43,7 +43,7 @@ using namespace CppTools::Internal; namespace { -class MyTestDataDir : public Core::Tests::TestDataDir +class MyTestDataDir : public Core::Internal::Tests::TestDataDir { public: MyTestDataDir(const QString &testDataDirectory) diff --git a/src/plugins/designer/gotoslot_test.cpp b/src/plugins/designer/gotoslot_test.cpp index 357abaaed75..ef9ed568280 100644 --- a/src/plugins/designer/gotoslot_test.cpp +++ b/src/plugins/designer/gotoslot_test.cpp @@ -34,7 +34,7 @@ #else #include "formeditorw.h" -#include +#include #include #include @@ -47,6 +47,7 @@ #include using namespace Core; +using namespace Core::Internal::Tests; using namespace CppTools; using namespace CPlusPlus; using namespace Designer; @@ -54,7 +55,7 @@ using namespace Designer::Internal; namespace { -class MyTestDataDir : public Core::Tests::TestDataDir { +class MyTestDataDir : public Core::Internal::Tests::TestDataDir { public: MyTestDataDir(const QString &dir) : TestDataDir(QLatin1String(SRCDIR "/../../../tests/designer/") + dir) @@ -133,10 +134,7 @@ public: private: void cleanup() { - DocumentModel *documentModel = EditorManager::documentModel(); - const QList documents = documentModel->openedDocuments(); - const QList editors = documentModel->editorsForDocuments(documents); - Core::Tests::closeAndDeleteEditors(editors); + EditorManager::closeAllEditors(/*askAboutModifiedEditors =*/ false); QVERIFY(EditorManager::documentModel()->openedDocuments().isEmpty()); m_modelManager->GC(); diff --git a/src/plugins/locator/locator_test.cpp b/src/plugins/locator/locator_test.cpp index 201a95e15dd..38b1287b82d 100644 --- a/src/plugins/locator/locator_test.cpp +++ b/src/plugins/locator/locator_test.cpp @@ -33,7 +33,7 @@ #include "basefilefilter.h" #include "locatorfiltertest.h" -#include +#include #include #include @@ -44,7 +44,7 @@ using namespace Locator::Internal::Tests; namespace { -class MyTestDataDir : public Core::Tests::TestDataDir +class MyTestDataDir : public Core::Internal::Tests::TestDataDir { public: MyTestDataDir(const QString &testDataDirectory) diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp index 2f30cc16462..322f64c2ba3 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp @@ -234,9 +234,11 @@ VcsBaseSubmitEditor::VcsBaseSubmitEditor(const VcsBaseSubmitEditorParameters *pa connect(VcsPlugin::instance(), SIGNAL(settingsChanged(VcsBase::Internal::CommonVcsSettings)), this, SLOT(slotUpdateEditorSettings(VcsBase::Internal::CommonVcsSettings))); + // Commit data refresh might lead to closing the editor, so use a queued connection connect(Core::EditorManager::instance(), SIGNAL(currentEditorChanged(Core::IEditor*)), - this, SLOT(slotRefreshCommitData())); - connect(Core::ICore::mainWindow(), SIGNAL(windowActivated()), this, SLOT(slotRefreshCommitData())); + this, SLOT(slotRefreshCommitData()), Qt::QueuedConnection); + connect(Core::ICore::mainWindow(), SIGNAL(windowActivated()), + this, SLOT(slotRefreshCommitData()), Qt::QueuedConnection); Aggregation::Aggregate *aggregate = new Aggregation::Aggregate; aggregate->add(new Find::BaseTextFind(descriptionEdit)); From 7165378bd8b997604be5833fe696fc0f10a4417e Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 8 Oct 2013 08:47:00 +0300 Subject: [PATCH 08/66] Revert "EditorManager: Fix crash when closing an editor upon activation" Deleting an editor while currentEditorChanged is apparently not a good idea. Use a queued connection instead. This reverts commits 243a6259618e69b8da9ac2438480c449754f7f77 and d9602ca550c53e60a5229bfec9539e41fa5a694c. Task-number: QTCREATORBUG-10190 Task-number: QTCREATORBUG-10235 Change-Id: Iccbee25fb77714963faa6f7184d1f5f53ed348a6 Reviewed-by: Eike Ziller Reviewed-by: Nikolai Kosjar Reviewed-by: Jarek Kobus --- src/plugins/coreplugin/coreplugin.pro | 5 -- src/plugins/coreplugin/coreplugin.qbs | 10 ---- .../editormanager/editormanager.cpp | 2 +- src/plugins/coreplugin/plugintestutils.cpp | 50 ------------------- src/plugins/coreplugin/plugintestutils.h | 50 ------------------- src/plugins/cppeditor/cppdoxygen_test.cpp | 4 +- src/plugins/cppeditor/cppquickfix_test.cpp | 5 +- .../followsymbol_switchmethoddecldef_test.cpp | 4 +- src/plugins/cpptools/cppcompletion_test.cpp | 4 +- src/plugins/vcsbase/vcsbasesubmiteditor.cpp | 6 ++- 10 files changed, 13 insertions(+), 127 deletions(-) delete mode 100644 src/plugins/coreplugin/plugintestutils.cpp delete mode 100644 src/plugins/coreplugin/plugintestutils.h diff --git a/src/plugins/coreplugin/coreplugin.pro b/src/plugins/coreplugin/coreplugin.pro index accc477d717..192c16f4bb7 100644 --- a/src/plugins/coreplugin/coreplugin.pro +++ b/src/plugins/coreplugin/coreplugin.pro @@ -241,8 +241,3 @@ else:unix { } } OTHER_FILES += editormanager/BinFiles.mimetypes.xml - -equals(TEST, 1) { - SOURCES += plugintestutils.cpp - HEADERS += plugintestutils.h -} diff --git a/src/plugins/coreplugin/coreplugin.qbs b/src/plugins/coreplugin/coreplugin.qbs index 374da3f4d4a..6ebcfb76a0c 100644 --- a/src/plugins/coreplugin/coreplugin.qbs +++ b/src/plugins/coreplugin/coreplugin.qbs @@ -1,6 +1,5 @@ import qbs.base 1.0 import "../QtcPlugin.qbs" as QtcPlugin -import "../../../qbs/defaults.js" as Defaults QtcPlugin { name: "Core" @@ -259,15 +258,6 @@ QtcPlugin { ] } - Group { - name: "Tests" - condition: Defaults.testsEnabled(qbs) - files: [ - "plugintestutils.cpp", - "plugintestutils.h" - ] - } - Export { Depends { name: "Aggregation" } Depends { name: "Utils" } diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 2f1cc62df80..420b3a79409 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -1162,7 +1162,7 @@ bool EditorManager::closeEditors(const QList &editorsToClose, bool ask emit editorsClosed(acceptedEditors); foreach (IEditor *editor, acceptedEditors) - editor->deleteLater(); + delete editor; if (currentView) { if (IEditor *editor = currentView->currentEditor()) diff --git a/src/plugins/coreplugin/plugintestutils.cpp b/src/plugins/coreplugin/plugintestutils.cpp deleted file mode 100644 index d94f606da10..00000000000 --- a/src/plugins/coreplugin/plugintestutils.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - - -#include "plugintestutils.h" - -#include "editormanager/editormanager.h" -#include "editormanager/ieditor.h" - -#include - -void Core::Tests::closeAndDeleteEditors(QList editorsToClose) -{ - EditorManager::instance()->closeEditors(editorsToClose, /*askAboutModifiedEditors=*/ false); - // The editors are going to be deleted by the event loop (deleteLater()), - // but for tests we need them deleted now. - foreach (Core::IEditor *editor, editorsToClose) - QCoreApplication::sendPostedEvents(editor, QEvent::DeferredDelete); -} - -void Core::Tests::closeAndDeleteEditor(Core::IEditor *editor) -{ - closeAndDeleteEditors(QList() << editor); -} diff --git a/src/plugins/coreplugin/plugintestutils.h b/src/plugins/coreplugin/plugintestutils.h deleted file mode 100644 index 69ada2bad32..00000000000 --- a/src/plugins/coreplugin/plugintestutils.h +++ /dev/null @@ -1,50 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - - -#ifndef PLUGINTESTUTILS_H -#define PLUGINTESTUTILS_H - -#include "core_global.h" - -#include - -namespace Core { - -class IEditor; - -namespace Tests { - -void CORE_EXPORT closeAndDeleteEditor(Core::IEditor *editor); -void CORE_EXPORT closeAndDeleteEditors(QList editorsToClose); - -} // namespace Tests -} // namespace Core - -#endif // PLUGINTESTUTILS_H diff --git a/src/plugins/cppeditor/cppdoxygen_test.cpp b/src/plugins/cppeditor/cppdoxygen_test.cpp index 5ee9989f608..13d0d2d3a00 100644 --- a/src/plugins/cppeditor/cppdoxygen_test.cpp +++ b/src/plugins/cppeditor/cppdoxygen_test.cpp @@ -30,7 +30,6 @@ #include "cppeditor.h" #include -#include #include #include #include @@ -116,7 +115,8 @@ TestCase::TestCase(const QByteArray &input) TestCase::~TestCase() { - Core::Tests::closeAndDeleteEditor(editor); + EditorManager::instance()->closeEditors(QList() << editor, false); + QCoreApplication::processEvents(); // process any pending events // Remove the test file from the code-model CppTools::CppModelManagerInterface *mmi = CppTools::CppModelManagerInterface::instance(); diff --git a/src/plugins/cppeditor/cppquickfix_test.cpp b/src/plugins/cppeditor/cppquickfix_test.cpp index 8ac2e80d271..0d1bf885faa 100644 --- a/src/plugins/cppeditor/cppquickfix_test.cpp +++ b/src/plugins/cppeditor/cppquickfix_test.cpp @@ -34,7 +34,6 @@ #include "cppquickfixassistant.h" #include "cppquickfixes.h" -#include #include #include #include @@ -238,7 +237,6 @@ void TestCase::init(const QStringList &includePaths) // Rehighlight testFile->editorWidget->semanticRehighlight(true); - // Wait for the semantic info from the future while (testFile->editorWidget->semanticInfo().doc.isNull()) QCoreApplication::processEvents(); @@ -264,7 +262,8 @@ TestCase::~TestCase() if (testFile->editor) editorsToClose << testFile->editor; } - Core::Tests::closeAndDeleteEditors(editorsToClose); + EditorManager::instance()->closeEditors(editorsToClose, false); + QCoreApplication::processEvents(); // process any pending events // Remove the test files from the code-model CppModelManagerInterface *mmi = CppModelManagerInterface::instance(); diff --git a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp index a236396de94..428b6e20793 100644 --- a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp +++ b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp @@ -30,7 +30,6 @@ #include "cppeditor.h" #include "cppeditorplugin.h" -#include #include #include @@ -252,7 +251,8 @@ TestCase::~TestCase() if (testFile->editor) editorsToClose << testFile->editor; } - Core::Tests::closeAndDeleteEditors(editorsToClose); + EditorManager::instance()->closeEditors(editorsToClose, false); + QCoreApplication::processEvents(); // process any pending events // Remove the test files from the code-model CppModelManagerInterface *mmi = CppTools::CppModelManagerInterface::instance(); diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp index d08f62a172d..bb1bbd2d6e6 100644 --- a/src/plugins/cpptools/cppcompletion_test.cpp +++ b/src/plugins/cpptools/cppcompletion_test.cpp @@ -31,7 +31,6 @@ #include "cppcompletionassist.h" #include "cppmodelmanager.h" -#include #include #include @@ -91,7 +90,8 @@ public: ~CompletionTestCase() { - Core::Tests::closeAndDeleteEditor(editor); + EditorManager::instance()->closeEditors(QList() << editor, + /*askAboutModifiedEditors=*/ false); cmm->GC(); QVERIFY(cmm->snapshot().isEmpty()); } diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp index e8c1cfd1d9e..15820ce08f0 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp @@ -227,9 +227,11 @@ VcsBaseSubmitEditor::VcsBaseSubmitEditor(const VcsBaseSubmitEditorParameters *pa connect(VcsPlugin::instance(), SIGNAL(settingsChanged(VcsBase::Internal::CommonVcsSettings)), this, SLOT(slotUpdateEditorSettings(VcsBase::Internal::CommonVcsSettings))); + // Commit data refresh might lead to closing the editor, so use a queued connection connect(Core::EditorManager::instance(), SIGNAL(currentEditorChanged(Core::IEditor*)), - this, SLOT(slotRefreshCommitData())); - connect(Core::ICore::mainWindow(), SIGNAL(windowActivated()), this, SLOT(slotRefreshCommitData())); + this, SLOT(slotRefreshCommitData()), Qt::QueuedConnection); + connect(Core::ICore::mainWindow(), SIGNAL(windowActivated()), + this, SLOT(slotRefreshCommitData()), Qt::QueuedConnection); Aggregation::Aggregate *aggregate = new Aggregation::Aggregate; aggregate->add(new Find::BaseTextFind(d->m_widget->descriptionEdit())); From 7849a363ff045b886d636c2c341b0fbef85dc54f Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 8 Oct 2013 17:20:05 +0200 Subject: [PATCH 09/66] QmlDesigner.PropertyEditor: adding missing qsTr() Change-Id: Ifcda7118cce9858af4670d60d902868c9e45e90a Reviewed-by: Thomas Hartmann --- .../QtQuick/AdvancedSection.qml | 6 ++--- .../QtQuick/GeometrySection.qml | 6 ++--- .../QtQuick/ItemPane.qml | 22 +++++++++---------- .../QtQuick/LayoutSection.qml | 18 +++++++-------- .../QtQuick/RectangleSpecifics.qml | 4 ++-- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AdvancedSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AdvancedSection.qml index d90957ecef8..2784bb7fa00 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AdvancedSection.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AdvancedSection.qml @@ -34,13 +34,13 @@ import QtQuick.Layouts 1.0 Section { anchors.left: parent.left anchors.right: parent.right - caption: "Advanced" + caption: qsTr("Advanced") SectionLayout { rows: 3 Label { - text: "Scale" + text: qsTr("Scale") } SecondColumnLayout { @@ -57,7 +57,7 @@ Section { } } Label { - text: "Rotation" + text: qsTr("Rotation") } SecondColumnLayout { SpinBox { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GeometrySection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GeometrySection.qml index 15636eddfe8..d174be3bdc9 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GeometrySection.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GeometrySection.qml @@ -43,7 +43,7 @@ import HelperWidgets 2.0 import QtQuick.Layouts 1.0 Section { - caption: "Geometry" + caption: qsTr("Geometry") SectionLayout { columnSpacing: 6 @@ -51,7 +51,7 @@ Section { rows: 2 Label { - text: "Position" + text: qsTr("Position") } SecondColumnLayout { @@ -81,7 +81,7 @@ Section { ExpandingSpacer{} } Label { - text: "Size" + text: qsTr("Size") } SecondColumnLayout { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ItemPane.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ItemPane.qml index c2a353dfce8..f201ebf8fb8 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ItemPane.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ItemPane.qml @@ -43,14 +43,14 @@ Rectangle { Column { width: itemPane.width Section { - caption: "Type" + caption: qsTr("Type") anchors.left: parent.left anchors.right: parent.right SectionLayout { Label { - text: "Type" + text: qsTr("Type") } @@ -60,7 +60,7 @@ Rectangle { } Label { - text: "id" + text: qsTr("id") } @@ -69,7 +69,7 @@ Rectangle { id: lineEdit enabled: isBaseState backendValue: backendValues.id - placeholderText: "id" + placeholderText: qsTr("id") text: backendValues.id.value Layout.fillWidth: true Layout.maximumWidth: 320 @@ -93,18 +93,18 @@ Rectangle { anchors.left: parent.left anchors.right: parent.right - caption: "Visibilty" + caption: qsTr("Visibilty") SectionLayout { rows: 2 Label { - text: "Visibilty" + text: qsTr("Visibilty") } SecondColumnLayout { CheckBox { - text: "Is Visible" + text: qsTr("Is Visible") backendValue: backendValues.visible } @@ -115,7 +115,7 @@ Rectangle { } CheckBox { - text: "Clip" + text: qsTr("Clip") backendValue: backendValues.clip } Item { @@ -124,7 +124,7 @@ Rectangle { } Label { - text: "Opacity" + text: qsTr("Opacity") } SecondColumnLayout { @@ -171,7 +171,7 @@ Rectangle { } Tab { - title: "Layout" + title: qsTr("Layout") component: Column { anchors.left: parent.left anchors.right: parent.right @@ -183,7 +183,7 @@ Rectangle { Tab { anchors.fill: parent - title: "Advanced" + title: qsTr("Advanced") component: Column { anchors.left: parent.left anchors.right: parent.right diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/LayoutSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/LayoutSection.qml index c18b721ea8b..55bc3e13689 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/LayoutSection.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/LayoutSection.qml @@ -45,12 +45,12 @@ import QtQuick.Layouts 1.0 Section { anchors.left: parent.left anchors.right: parent.right - caption: "Layout" + caption: qsTr("Layout") ColumnLayout { width: parent.width Label { - text: "Anchors" + text: qsTr("Anchors") } AnchorButtons { @@ -74,7 +74,7 @@ Section { Text { - text: "Target" + text: qsTr("Target") } ComboBox { @@ -128,7 +128,7 @@ Section { Text { - text: "Target" + text: qsTr("Target") } ComboBox { @@ -137,7 +137,7 @@ Section { Text { - text: "Margin" + text: qsTr("Margin") } RowLayout { @@ -182,7 +182,7 @@ Section { Text { - text: "Target" + text: qsTr("Target") } ComboBox { @@ -191,7 +191,7 @@ Section { Text { - text: "Margin" + text: qsTr("Margin") } RowLayout { @@ -236,7 +236,7 @@ Section { Text { - text: "Target" + text: qsTr("Target") } ComboBox { @@ -245,7 +245,7 @@ Section { Text { - text: "Margin" + text: qsTr("Margin") } RowLayout { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RectangleSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RectangleSpecifics.qml index 7ac6bdbbf9b..04e89619ec3 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RectangleSpecifics.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RectangleSpecifics.qml @@ -71,7 +71,7 @@ Column { SectionLayout { rows: 2 Label { - text: "Border" + text: qsTr("Border") } SecondColumnLayout { SpinBox { @@ -84,7 +84,7 @@ Column { } } Label { - text: "Radius" + text: qsTr("Radius") } SecondColumnLayout { SpinBox { From 78398171103e345f6898ff0402cdae360229cff9 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 8 Oct 2013 17:20:33 +0200 Subject: [PATCH 10/66] QmlDesigner.PropertyEditor: fixing text label in LayoutSection Change-Id: Ia0a065da9f24de81147a9ae7d939654e24f0862c Reviewed-by: Thomas Hartmann --- .../QtQuick/LayoutSection.qml | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/LayoutSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/LayoutSection.qml index 55bc3e13689..b85d8b731fd 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/LayoutSection.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/LayoutSection.qml @@ -75,6 +75,8 @@ Section { Text { text: qsTr("Target") + color: "#eee" + elide: Text.ElideRight } ComboBox { @@ -84,6 +86,8 @@ Section { Text { text: "Margin" + color: "#eee" + elide: Text.ElideRight } RowLayout { @@ -129,6 +133,8 @@ Section { Text { text: qsTr("Target") + color: "#eee" + elide: Text.ElideRight } ComboBox { @@ -138,6 +144,8 @@ Section { Text { text: qsTr("Margin") + color: "#eee" + elide: Text.ElideRight } RowLayout { @@ -183,6 +191,9 @@ Section { Text { text: qsTr("Target") + color: "#eee" + elide: Text.ElideRight + } ComboBox { @@ -192,6 +203,9 @@ Section { Text { text: qsTr("Margin") + color: "#eee" + elide: Text.ElideRight + } RowLayout { @@ -237,6 +251,9 @@ Section { Text { text: qsTr("Target") + color: "#eee" + elide: Text.ElideRight + } ComboBox { @@ -246,6 +263,9 @@ Section { Text { text: qsTr("Margin") + color: "#eee" + elide: Text.ElideRight + } RowLayout { From 59d3da2c3be46c01f9ef141ed5e1aa8baa40f49f Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 8 Oct 2013 17:27:34 +0200 Subject: [PATCH 11/66] QmlDesigner.PropertyEditor: styling ButtonRow Change-Id: If366216813566ef806494cee3b49e06b85711865 Reviewed-by: Thomas Hartmann --- .../AligmentHorizontalButtons.qml | 5 +- .../HelperWidgets/AligmentVerticalButtons.qml | 6 +- .../HelperWidgets/BoolButtonRowButton.qml | 2 +- .../HelperWidgets/ButtonRowButton.qml | 34 ++++++- .../HelperWidgets/RoundedPanel.qml | 97 +++++++++++++++++++ 5 files changed, 135 insertions(+), 9 deletions(-) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/RoundedPanel.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentHorizontalButtons.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentHorizontalButtons.qml index db214fd5c1a..c25f41639f8 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentHorizontalButtons.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentHorizontalButtons.qml @@ -44,10 +44,10 @@ import HelperWidgets 2.0 Row { id: alignmentHorizontalButtons - Rectangle { + RoundedPanel { width: 14 height: parent.height - color: "gray" + roundLeft: true ExtendedFunctionButton { anchors.verticalCenter: parent.verticalCenter backendValue: alignmentHorizontalButtons.backendValue @@ -106,6 +106,7 @@ Row { exclusive: true ButtonRowButton { + roundLeftButton: false iconSource: blueHighlight ? "images/alignmentleft-h-icon.png" : "images/alignmentleft-icon.png" onClicked: { if (checked) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentVerticalButtons.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentVerticalButtons.qml index 94d62580db5..25a398bda96 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentVerticalButtons.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/AligmentVerticalButtons.qml @@ -44,10 +44,11 @@ import HelperWidgets 2.0 Row { id: alignmentVerticalButtons - Rectangle { + RoundedPanel { width: 14 height: parent.height - color: "gray" + roundLeft: true + ExtendedFunctionButton { anchors.verticalCenter: parent.verticalCenter backendValue: alignmentVerticalButtons.backendValue @@ -106,6 +107,7 @@ Row { exclusive: true ButtonRowButton { + roundLeftButton: false iconSource: blueHighlight ? "images/alignmenttop-h-icon.png" : "images/alignmenttop-icon.png" onClicked: { if (checked) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/BoolButtonRowButton.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/BoolButtonRowButton.qml index 8a378a91eb1..7128cdbe905 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/BoolButtonRowButton.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/BoolButtonRowButton.qml @@ -99,6 +99,6 @@ ButtonRowButton { ExtendedFunctionButton { backendValue: boolButtonRowButton.backendValue x: 0 - y: 2 + y: 4 } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ButtonRowButton.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ButtonRowButton.qml index c74a195498f..5bf7df9b041 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ButtonRowButton.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ButtonRowButton.qml @@ -35,12 +35,14 @@ Item { id: buttonRowButton property bool checked: false + property bool roundLeftButton: true + property alias iconSource: image.source signal clicked() - width: 20 + leftPadding - height: 20 + width: 24 + leftPadding + height: 24 property int leftPadding: 0 @@ -52,9 +54,33 @@ Item { return -1; } - Rectangle { - color: checked ? "black" : "gray" + function isFirst() { + return index() === 0; + } + + function isLast() { + return index() === (parent.children.length - 1); + } + + RoundedPanel { + roundLeft: isFirst() && roundLeftButton + roundRight: isLast() + anchors.fill: parent + visible: checked + + gradient: Gradient { + GradientStop {color: '#444' ; position: 0} + GradientStop {color: '#333' ; position: 1} + } + } + + RoundedPanel { + roundLeft: isFirst() + roundRight: isLast() + + anchors.fill: parent + visible: !checked } Image { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/RoundedPanel.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/RoundedPanel.qml new file mode 100644 index 00000000000..992ff27bf20 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/RoundedPanel.qml @@ -0,0 +1,97 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Quick Controls module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.1 +import QtQuick.Controls 1.0 as Controls +import QtQuick.Layouts 1.0 + +Rectangle { + + property bool roundLeft: false + property bool roundRight: false + + + radius: roundLeft || roundRight ? 4 : 0 + gradient: Gradient { + GradientStop {color: '#555' ; position: 0} + GradientStop {color: '#444' ; position: 1} + } + + border.width: roundLeft || roundRight ? 1 : 0 + border.color: roundLeft ? "#7f7f7f" : "#2e2e2e" + + Rectangle { + gradient: parent.gradient + anchors.fill: parent + visible: roundLeft + anchors.leftMargin: 10 + anchors.topMargin: 1 + anchors.bottomMargin: 1 + } + + Rectangle { + gradient: parent.gradient + anchors.fill: parent + visible: roundRight + anchors.rightMargin: 10 + anchors.topMargin: 1 + anchors.bottomMargin: 1 + } + + Rectangle { + color: "#7f7f7f" + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + height: 1 + anchors.leftMargin: roundLeft ? 3 : 0 + anchors.rightMargin: roundRight ? 3 : 0 + } + + Rectangle { + color: "#2e2e2e" + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + height: 1 + anchors.leftMargin: roundLeft ? 2 : 0 + anchors.rightMargin: roundRight ? 2 : 0 + } +} From 4ba08300f7a18f5b8d6b11b6e1696b546580cc76 Mon Sep 17 00:00:00 2001 From: Yuchen Deng Date: Mon, 30 Sep 2013 20:59:29 +0800 Subject: [PATCH 12/66] qbs: Remove unnecessary depends Change-Id: I124eec5eb9c0eadd7b883725f3aaedaceadcab0a Reviewed-by: Christian Kandeler --- src/plugins/qt4projectmanager/qt4projectmanager.qbs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.qbs b/src/plugins/qt4projectmanager/qt4projectmanager.qbs index 83f8c5bde20..4206b20bf6c 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.qbs +++ b/src/plugins/qt4projectmanager/qt4projectmanager.qbs @@ -10,9 +10,7 @@ QtcPlugin { Depends { name: "ProjectExplorer" } Depends { name: "QtSupport" } Depends { name: "CppTools" } - Depends { name: "Debugger" } Depends { name: "QmlJS" } - Depends { name: "CPlusPlus" } Depends { name: "TextEditor" } Depends { name: "QmlJSTools" } From b7914379b3574f83860ec7c28846cb3fd21b8019 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 8 Oct 2013 19:03:27 +0300 Subject: [PATCH 13/66] Fix Qt version warning Change-Id: I0738620fe3e1b8d02b681d4bc743c6fd233e6b89 Reviewed-by: Eike Ziller --- src/plugins/plugins.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro index 91653f64d6e..b20e24425fe 100644 --- a/src/plugins/plugins.pro +++ b/src/plugins/plugins.pro @@ -77,7 +77,7 @@ minQtVersion(5, 2, 0) { warning("QmlDesigner plugin has been disabled.") warning("QmlProfiler plugin has been disabled.") warning("Welcome plugin has been disabled.") - warning("These plugins need at least Qt 5.1.") + warning("These plugins need at least Qt 5.2.") } for(p, SUBDIRS) { From cb002194b8fd49efd4d49d53f94aab604fded0ec Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 8 Oct 2013 21:51:57 +0200 Subject: [PATCH 14/66] exclude .pluginspec from 'make clean' 'clean' per qmake's definition means "all intermediate artifacts are gone". the target is supposed to be still runnable/installable. Task-number: QTCREATORBUG-10323 Change-Id: Ic0d6482c7534367753661e80ccd5f55bd0446545 Reviewed-by: Thiago Macieira Reviewed-by: Eike Ziller --- src/qtcreatorplugin.pri | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qtcreatorplugin.pri b/src/qtcreatorplugin.pri index 811227bbc20..c243fa11801 100644 --- a/src/qtcreatorplugin.pri +++ b/src/qtcreatorplugin.pri @@ -92,7 +92,7 @@ copy2build.input = PLUGINSPEC isEmpty(vcproj):copy2build.variable_out = PRE_TARGETDEPS copy2build.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} copy2build.name = COPY ${QMAKE_FILE_IN} -copy2build.CONFIG += no_link +copy2build.CONFIG += no_link no_clean QMAKE_EXTRA_COMPILERS += copy2build greaterThan(QT_MAJOR_VERSION, 4) { From a3b3d25c1dc88c2f70edba212341fbf2b6f12fec Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 09:11:02 +0200 Subject: [PATCH 15/66] Cleanup remove accidentally committed file. Change-Id: I956f50d6390e8d502f47a89892bf318ca276e170 Reviewed-by: Thomas Hartmann --- ...s-for-the-filter-combobox-for-exampl.patch | 144 ------------------ 1 file changed, 144 deletions(-) delete mode 100644 src/plugins/0001-WelcomePage-fixes-for-the-filter-combobox-for-exampl.patch diff --git a/src/plugins/0001-WelcomePage-fixes-for-the-filter-combobox-for-exampl.patch b/src/plugins/0001-WelcomePage-fixes-for-the-filter-combobox-for-exampl.patch deleted file mode 100644 index 9860746c239..00000000000 --- a/src/plugins/0001-WelcomePage-fixes-for-the-filter-combobox-for-exampl.patch +++ /dev/null @@ -1,144 +0,0 @@ -From d39debcd0e4ce78df47597cea7e27df1964a1820 Mon Sep 17 00:00:00 2001 -From: Thomas Hartmann -Date: Wed, 12 Jun 2013 15:43:47 +0200 -Subject: [PATCH] WelcomePage: fixes for the filter combobox for examples - -"All Versions" did not work correctly and just contributed to -confusion. So it is removed. Since we need a sensible default -setting we now search for the Qt with the highest version that has -examples and demos. - -Change-Id: I495252a99753ebe511b598c61a79bbb0cd293e40 ---- - src/plugins/qtsupport/exampleslistmodel.cpp | 73 ++++++++++++++++++++------- - 1 files changed, 54 insertions(+), 19 deletions(-) - -diff --git a/src/plugins/qtsupport/exampleslistmodel.cpp b/src/plugins/qtsupport/exampleslistmodel.cpp -index baad189..d6603c1 100644 ---- a/src/plugins/qtsupport/exampleslistmodel.cpp -+++ b/src/plugins/qtsupport/exampleslistmodel.cpp -@@ -48,13 +48,13 @@ - namespace QtSupport { - namespace Internal { - --const int allQtVersionsId = -0xff; -+const int noQtVersionsId = -0xff; - static const char currentQtVersionFilterSettingsKeyC[] = "WelcomePageQtVersionFilter"; - - int uniqueQtVersionIdSetting() - { - QSettings *settings = Core::ICore::settings(); -- int id = settings->value(QLatin1String(currentQtVersionFilterSettingsKeyC), allQtVersionsId).toInt(); -+ int id = settings->value(QLatin1String(currentQtVersionFilterSettingsKeyC), noQtVersionsId).toInt(); - return id; - } - -@@ -77,6 +77,38 @@ public: - setRoleNames(roleNames); - } - -+ int findHightestQtVersion() -+ { -+ QtVersionManager *versionManager = QtVersionManager::instance(); -+ QList qtVersions = versionManager->validVersions(); -+ -+ BaseQtVersion *newVersion = 0; -+ -+ foreach (BaseQtVersion *version, qtVersions) { -+ -+ if (version->isValid() && version->hasDemos() && version->hasExamples()) { -+ if (!newVersion) { -+ newVersion = version; -+ } else { -+ if (version->qtVersion() > newVersion->qtVersion()) { -+ newVersion = version; -+ } else if (version->qtVersion() == newVersion->qtVersion() -+ && version->uniqueId() < newVersion->uniqueId()) { -+ newVersion = version; -+ } -+ } -+ } -+ } -+ -+ if (!newVersion && !qtVersions.isEmpty()) -+ newVersion = qtVersions.first(); -+ -+ if (!newVersion) -+ return noQtVersionsId; -+ -+ return newVersion->uniqueId(); -+ } -+ - void setupQtVersions() - { - beginResetModel(); -@@ -90,30 +122,33 @@ public: - if (defaultVersion && qtVersions.contains(defaultVersion)) - qtVersions.move(qtVersions.indexOf(defaultVersion), 0); - -- QStandardItem *newItem = new QStandardItem(); -- newItem->setData(tr("All Versions"), Qt::UserRole + 1); -- newItem->setData(allQtVersionsId, Qt::UserRole + 2); -- appendRow(newItem); -- - int qtVersionSetting = uniqueQtVersionIdSetting(); -- if (qtVersionSetting != allQtVersionsId) { -+ int newQtVersionSetting = noQtVersionsId; -+ if (qtVersionSetting != noQtVersionsId) { - //ensure that the unique Qt id is valid -- int newQtVersionSetting = allQtVersionsId; - foreach (BaseQtVersion *version, qtVersions) { -- if (version->uniqueId() == qtVersionSetting) -+ if (version->uniqueId() == qtVersionSetting) { - newQtVersionSetting = qtVersionSetting; -+ } - } -+ } - -- if (newQtVersionSetting != qtVersionSetting) { -- setUniqueQtVersionIdSetting(newQtVersionSetting); -- } -+ if (newQtVersionSetting == noQtVersionsId) { -+ newQtVersionSetting = findHightestQtVersion(); -+ } -+ -+ if (newQtVersionSetting != qtVersionSetting) { -+ setUniqueQtVersionIdSetting(newQtVersionSetting); - } - -+ - foreach (BaseQtVersion *version, qtVersions) { -- QStandardItem *newItem = new QStandardItem(); -- newItem->setData(version->displayName(), Qt::UserRole + 1); -- newItem->setData(version->uniqueId(), Qt::UserRole + 2); -- appendRow(newItem); -+ if (version->hasDemos() || version->hasExamples()) { -+ QStandardItem *newItem = new QStandardItem(); -+ newItem->setData(version->displayName(), Qt::UserRole + 1); -+ newItem->setData(version->uniqueId(), Qt::UserRole + 2); -+ appendRow(newItem); -+ } - } - endResetModel(); - } -@@ -147,7 +182,7 @@ ExamplesListModel::ExamplesListModel(QObject *parent) : - m_updateOnQtVersionsChanged(false), - m_initialized(false), - m_helpInitialized(false), -- m_uniqueQtId(allQtVersionsId) -+ m_uniqueQtId(noQtVersionsId) - { - QHash roleNames; - roleNames[Name] = "name"; -@@ -517,7 +552,7 @@ QStringList ExamplesListModel::exampleSources(QString *examplesInstallPath, QStr - foreach (BaseQtVersion *version, qtVersions) { - - //filter for qt versions -- if (version->uniqueId() != m_uniqueQtId && m_uniqueQtId != allQtVersionsId) -+ if (version->uniqueId() != m_uniqueQtId && m_uniqueQtId != noQtVersionsId) - continue; - - // qt5 with examples OR demos manifest --- -1.7.6.msysgit.0 - From 2e1acc119f1e47a38cb1ce9892167be1bc087632 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 10:01:38 +0200 Subject: [PATCH 16/66] QmlDesigner.PropertyEditor: styling ComboBox Change-Id: I2de6d06dcc89e845eedd087671a6a4c9df7b62f4 Reviewed-by: Thomas Hartmann --- .../HelperWidgets/ComboBox.qml | 6 +- .../HelperWidgets/CustomComboBoxStyle.qml | 92 +++++++++++++++++++ .../HelperWidgets/FontSection.qml | 4 + 3 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomComboBoxStyle.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ComboBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ComboBox.qml index 390bb699a2a..1534cbdfd3e 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ComboBox.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ComboBox.qml @@ -29,9 +29,11 @@ import QtQuick 2.1 import QtQuick.Controls 1.1 as Controls +import QtQuick.Controls.Styles 1.1 Controls.ComboBox { id: comboBox + property variant backendValue QtObject { @@ -46,7 +48,6 @@ Controls.ComboBox { backendValue.value = currentText; } - onFocusChanged: { if (focus) { transaction.start(); @@ -55,5 +56,6 @@ Controls.ComboBox { } } - + style: CustomComboBoxStyle { + } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomComboBoxStyle.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomComboBoxStyle.qml new file mode 100644 index 00000000000..d522f8bfed0 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomComboBoxStyle.qml @@ -0,0 +1,92 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import QtQuick.Controls 1.1 as Controls +import QtQuick.Controls.Styles 1.1 + +ComboBoxStyle { + property color borderColor: "#222" + property color highlightColor: "orange" + property color textColor: "#eee" + + background: Item { + implicitWidth: 100 + implicitHeight: 25 + + RoundedPanel { + anchors.fill: parent + roundLeft: true + roundRight: true + visible: !control.pressed + } + + RoundedPanel { + gradient: Gradient { + GradientStop {color: '#444' ; position: 0} + GradientStop {color: '#333' ; position: 1} + } + anchors.fill: parent + roundLeft: true + roundRight: true + visible: control.pressed + } + + Rectangle { + border.color: highlightColor + anchors.fill: parent + anchors.margins: -1 + color: "transparent" + radius: 4 + opacity: 0.3 + visible: control.activeFocus + } + Image { + id: imageItem + source: "images/down-arrow.png" + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right + anchors.rightMargin: 8 + opacity: control.enabled ? 0.7 : 0.5 + } + } + + label: Item { + implicitWidth: textitem.implicitWidth + 20 + Text { + id: textitem + anchors.left: parent.left + anchors.leftMargin: 4 + anchors.verticalCenter: parent.verticalCenter + text: control.currentText + renderType: Text.NativeRendering + color: textColor + } + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FontSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FontSection.qml index 4d5c2f791af..96a8b64f58b 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FontSection.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FontSection.qml @@ -119,6 +119,10 @@ Section { } } + + style: CustomComboBoxStyle { + } + } } From e9433fe17c42af45b4de7b0641de95d3bbed5279 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Wed, 9 Oct 2013 08:15:05 +0200 Subject: [PATCH 17/66] Core: Adding Utils to Libs for the app subproject. Needed because of I696133c42a142a8c596703fc8ce0250b58993d99 Change-Id: I947a76399cff30a0031064258f302cc8ec1ae50f Reviewed-by: Christian Kandeler --- src/app/app.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/app.pro b/src/app/app.pro index 1242209065f..b7430651e74 100644 --- a/src/app/app.pro +++ b/src/app/app.pro @@ -10,7 +10,7 @@ SOURCES += main.cpp ../tools/qtcreatorcrashhandler/crashhandlersetup.cpp include(../rpath.pri) -LIBS *= -l$$qtLibraryName(ExtensionSystem) -l$$qtLibraryName(Aggregation) +LIBS *= -l$$qtLibraryName(ExtensionSystem) -l$$qtLibraryName(Aggregation) -l$$qtLibraryName(Utils) QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH) !isEmpty(QT_BREAKPAD_ROOT_PATH) { From 6889547fe1f4df685b8ffa0578a8c3bf2ee21e34 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 9 Oct 2013 11:06:39 +0200 Subject: [PATCH 18/66] Mac: Fix size of disk image in the hope of avoiding resize problem diskimages-helper: resize request is above maximum size allowed. Change-Id: I6cc8da465d99fdb971d5e66090163464c85ccec1 Reviewed-by: Eike Ziller --- qtcreator.pro | 2 +- scripts/makedmg.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/qtcreator.pro b/qtcreator.pro index f663e494b06..f2b368b8ce6 100644 --- a/qtcreator.pro +++ b/qtcreator.pro @@ -104,7 +104,7 @@ macx { copy_menu_nib_installer.commands = cp -R \"$$MENU_NIB\" \"$${INSTALLER_NAME}.app/Contents/Resources\" codesign_installer.commands = codesign -s \"$(SIGNING_IDENTITY)\" $(SIGNING_FLAGS) \"$${INSTALLER_NAME}.app\" - dmg_installer.commands = hdiutil create -srcfolder "$${INSTALLER_NAME}.app" -volname \"Qt Creator\" -format UDBZ "$${BASENAME}-installer.dmg" -ov -scrub -stretch 2g + dmg_installer.commands = hdiutil create -srcfolder "$${INSTALLER_NAME}.app" -volname \"Qt Creator\" -format UDBZ "$${BASENAME}-installer.dmg" -ov -scrub -size 1g -verbose QMAKE_EXTRA_TARGETS += codesign_installer dmg_installer copy_menu_nib_installer } diff --git a/scripts/makedmg.sh b/scripts/makedmg.sh index cc7a4d816e9..15c6492f47a 100755 --- a/scripts/makedmg.sh +++ b/scripts/makedmg.sh @@ -12,7 +12,7 @@ cp -a "${sourceFolder}/" "${intermediateFolder}" ln -s /Applications "${intermediateFolder}" cp "$(dirname "${BASH_SOURCE[0]}")/../LICENSE.LGPL" "${intermediateFolder}/LICENSE_LGPL.txt" echo Creating image... -hdiutil create -srcfolder "${intermediateFolder}" -volname "${title}" -format UDBZ "${finalDMGName}" -ov -scrub -stretch 2g -verbose +hdiutil create -srcfolder "${intermediateFolder}" -volname "${title}" -format UDBZ "${finalDMGName}" -ov -scrub -size 1g -verbose # make sure that the image is umounted etc sleep 4 From e4c7511eeb1751ff64740d546928437c09c8bcac Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 8 Oct 2013 21:41:21 +0300 Subject: [PATCH 19/66] CppEditor: Accept const Function in FunctionHelper Change-Id: Id21c958c1528c5cbdb507aa3fc297bd14bcfb13e Reviewed-by: Nikolai Kosjar --- .../cppeditor/cppvirtualfunctionassistprovider.cpp | 7 ++++--- .../cppeditor/cppvirtualfunctionassistprovider.h | 11 ++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp index 4e8b1f3d790..7d3e2d1cb90 100644 --- a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp +++ b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp @@ -232,7 +232,8 @@ IAssistProcessor *VirtualFunctionAssistProvider::createProcessor() const enum VirtualType { Virtual, PureVirtual }; -static bool isVirtualFunction_helper(Function *function, const Snapshot &snapshot, +static bool isVirtualFunction_helper(const Function *function, + const Snapshot &snapshot, VirtualType virtualType) { if (!function) @@ -270,12 +271,12 @@ static bool isVirtualFunction_helper(Function *function, const Snapshot &snapsho return false; } -bool FunctionHelper::isVirtualFunction(Function *function, const Snapshot &snapshot) +bool FunctionHelper::isVirtualFunction(const Function *function, const Snapshot &snapshot) { return isVirtualFunction_helper(function, snapshot, Virtual); } -bool FunctionHelper::isPureVirtualFunction(Function *function, const Snapshot &snapshot) +bool FunctionHelper::isPureVirtualFunction(const Function *function, const Snapshot &snapshot) { return isVirtualFunction_helper(function, snapshot, PureVirtual); } diff --git a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h index b3bb76c24d1..c634b4ed44f 100644 --- a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h +++ b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h @@ -64,14 +64,15 @@ private: class FunctionHelper { public: - static bool isVirtualFunction(CPlusPlus::Function *function, - const CPlusPlus::Snapshot &snapshot); + static bool isVirtualFunction(const CPlusPlus::Function *function, + const CPlusPlus::Snapshot &snapshot); - static bool isPureVirtualFunction(CPlusPlus::Function *function, - const CPlusPlus::Snapshot &snapshot); + static bool isPureVirtualFunction(const CPlusPlus::Function *function, + const CPlusPlus::Snapshot &snapshot); static QList overrides(CPlusPlus::Class *startClass, - CPlusPlus::Function *function, const CPlusPlus::Snapshot &snapshot); + CPlusPlus::Function *function, + const CPlusPlus::Snapshot &snapshot); }; } // namespace Internal From 911226bf97fb131a97471dc69f0d4458f670a542 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Tue, 8 Oct 2013 16:32:00 +0200 Subject: [PATCH 20/66] Android: Removing qt should remove its kits Task-number: QTCREATORBUG-10224 Change-Id: I3d360a095ef76674e762e5bd795f21ab21685953 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/plugins/android/androidconfigurations.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index fa71d84f907..a0db9a061aa 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -822,7 +822,9 @@ void AndroidConfigurations::updateAutomaticKitList() foreach (Kit *k, existingKits) { ProjectExplorer::ToolChain *tc = ToolChainKitInformation::toolChain(k); - if (tc && tc->type() == QLatin1String(Constants::ANDROID_TOOLCHAIN_TYPE)) { + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k); + if (tc && tc->type() == QLatin1String(Constants::ANDROID_TOOLCHAIN_TYPE) + && qtVersion && qtVersion->type() == QLatin1String(Constants::ANDROIDQT)) { k->makeUnSticky(); k->setAutoDetected(false); } else { From 9be820785acfe3d3cd3c5347abcd120ac1669f32 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 11:33:04 +0200 Subject: [PATCH 21/66] QmlDesigner.PropertyEditor: no gradient editing for Text Change-Id: I049b265118ab3d6a6da88631e235d5faa4568866 Reviewed-by: Thomas Hartmann --- .../propertyEditorQmlSources/QtQuick/TextSpecifics.qml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextSpecifics.qml index bb28928324f..d2d6688b982 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextSpecifics.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextSpecifics.qml @@ -31,7 +31,6 @@ import QtQuick 2.1 import HelperWidgets 2.0 import QtQuick.Layouts 1.0 - Column { anchors.left: parent.left anchors.right: parent.right @@ -44,7 +43,7 @@ Column { ColorEditor { caption: qsTr(" Text Color") backendendValue: backendValues.color - supportGradient: true + supportGradient: false } } From 18b22e8d7620c6a858cd252d348548ee7a3fd5b5 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 11:32:31 +0200 Subject: [PATCH 22/66] QmlDesigner.PropertyEditor: styling empty pane Change-Id: I5910b9a8c4f734fe50f7c8ed5d863e181be2894c Reviewed-by: Thomas Hartmann --- .../QtQuick/emptyPane.qml | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/emptyPane.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/emptyPane.qml index a3423ae9268..15f6a80781e 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/emptyPane.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/emptyPane.qml @@ -28,15 +28,25 @@ ****************************************************************************/ import QtQuick 2.1 +import HelperWidgets 2.0 Rectangle { - width: 100 - height: 200 - color: "#ff2323" + id: itemPane + width: 320 + height: 400 + color: "#404040" - Text { - id: test - text: "empty" - anchors.fill: parent + Section { + anchors.left: parent.left + anchors.right: parent.right + + SectionLayout { + + Label { + id: test + text: qsTr("None or multiple items selected."); + anchors.fill: parent + } + } } } From 800876bde9bc38805858dfdc7d13f4cc5c18c36d Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 11:34:47 +0200 Subject: [PATCH 23/66] QmlDesigner.PropertyEditor: adding BorderImageSpecifics Change-Id: I4577472ad6c8ff430f2784f33a1a6506ba55ff3e Reviewed-by: Thomas Hartmann --- .../QtQuick/BorderImageSpecifics.qml | 198 ++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/BorderImageSpecifics.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/BorderImageSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/BorderImageSpecifics.qml new file mode 100644 index 00000000000..80f5c72b41b --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/BorderImageSpecifics.qml @@ -0,0 +1,198 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Image") + + SectionLayout { + Label { + text: qsTr("Source") + } + + SecondColumnLayout { + LineEdit { + backendValue: backendValues.source + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Border Left") + } + + SecondColumnLayout { + + SpinBox { + backendValue: backendValues.border_left + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Border Right") + } + + SecondColumnLayout { + + SpinBox { + backendValue: backendValues.border_right + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Border Top") + } + + SecondColumnLayout { + + SpinBox { + backendValue: backendValues.border_top + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Border Bottom") + } + + SecondColumnLayout { + + SpinBox { + backendValue: backendValues.border_bottom + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Horizontal Fill mode") + } + + SecondColumnLayout { + ComboBox { + model: ["Stretch", "Repeat", "Round"] + backendValue: backendValues.horizontalTileMode + implicitWidth: 180 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Vertical Fill mode") + } + + SecondColumnLayout { + ComboBox { + model: ["Stretch", "Repeat", "Round"] + backendValue: backendValues.verticalTileMode + implicitWidth: 180 + } + + ExpandingSpacer { + + } + } + + + Label { + text: qsTr("Source size") + } + + SecondColumnLayout { + Label { + text: "W" + width: 12 + } + + SpinBox { + backendValue: backendValues.sourceSize_width + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + Label { + text: "H" + width: 12 + } + + SpinBox { + backendValue: backendValues.sourceSize_height + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + + } + } + } + } +} From 4778e656fb8bf27abcc6f7a5325825bd610d7d2b Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 11:33:11 +0200 Subject: [PATCH 24/66] QmlDesigner.PropertyEditor: no gradient editing for TextInput Change-Id: I5144424abbcac188398118a71fcc33ffb494b6fb Reviewed-by: Thomas Hartmann --- .../propertyEditorQmlSources/QtQuick/TextInputSpecifics.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextInputSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextInputSpecifics.qml index 84c6c134f02..e05a850c989 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextInputSpecifics.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextInputSpecifics.qml @@ -43,7 +43,7 @@ Column { ColorEditor { caption: qsTr(" Text Color") backendendValue: backendValues.color - supportGradient: true + supportGradient: false } } From 59126cd9968657195c0c98173444215e3c2fe92e Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 11:34:28 +0200 Subject: [PATCH 25/66] QmlDesigner.PropertyEditor: addding ImageSpecfics Change-Id: I9933434803535cb871408a1e02bad00cbd5c83dd Reviewed-by: Thomas Hartmann --- .../QtQuick/ImageSpecifics.qml | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ImageSpecifics.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ImageSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ImageSpecifics.qml new file mode 100644 index 00000000000..3fba1ff36b6 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ImageSpecifics.qml @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Image") + + SectionLayout { + Label { + text: qsTr("Source") + } + + SecondColumnLayout { + LineEdit { + backendValue: backendValues.source + implicitWidth: 180 + } + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Fill mode") + } + + SecondColumnLayout { + ComboBox { + model: ["Stretch", "PreserveAspectFit", "PreserveAspectCrop", "Tile", "TileVertically", "TileHorizontally"] + backendValue: backendValues.fillMode + implicitWidth: 180 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Source size") + } + + SecondColumnLayout { + Label { + text: "W" + width: 12 + } + + SpinBox { + backendValue: backendValues.sourceSize_width + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + Label { + text: "H" + width: 12 + } + + SpinBox { + backendValue: backendValues.sourceSize_height + minimumValue: -2000 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + + } + } + } + } +} From b2bbb6e629846a0ad643c170426154f393318838 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 11:33:57 +0200 Subject: [PATCH 26/66] QmlDesigner.PropertyEditor: fixing styling of ColorButton Change-Id: I1acef0eaf569a49e5a9226cead7dbccd4c9abf95 Reviewed-by: Thomas Hartmann --- .../HelperWidgets/ColorButton.qml | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ColorButton.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ColorButton.qml index c8db251dd59..6c81e0ac43f 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ColorButton.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ColorButton.qml @@ -28,7 +28,7 @@ ****************************************************************************/ import QtQuick 2.1 -import QtQuick.Controls 1.0 +import QtQuick.Controls 1.0 as Controls Item { id: colorButton @@ -271,6 +271,9 @@ Item { Label { text: "H:" width: 16 + color: "#eee" + elide: Text.ElideRight + anchors.verticalCenter: parent.verticalCenter } SliderSpinBox { id: hueSlider2 @@ -289,9 +292,12 @@ Item { Row { z: 2 spacing: 4 - Label { + Controls.Label { text: "S:" width: 16 + color: "#eee" + elide: Text.ElideRight + anchors.verticalCenter: parent.verticalCenter } SliderSpinBox { @@ -311,9 +317,12 @@ Item { Row { z: 1 spacing: 4 - Label { + Controls.Label { text: "L:" width: 16 + color: "#eee" + elide: Text.ElideRight + anchors.verticalCenter: parent.verticalCenter } SliderSpinBox { id: lightnessSlider @@ -332,9 +341,12 @@ Item { Row { z: 0 spacing: 4 - Label { + Controls.Label { text: "A:" width: 16 + color: "#eee" + elide: Text.ElideRight + anchors.verticalCenter: parent.verticalCenter } SliderSpinBox { @@ -348,7 +360,6 @@ Item { if (colorButton.alpha !== value) colorButton.alpha = value } - } } From ca478ae3cfe82e549195575bdf2d9bf5c5eaf7e8 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 11:33:20 +0200 Subject: [PATCH 27/66] QmlDesigner.PropertyEditor: no gradient editing for TextEdit Change-Id: I88fa53ca7d963c33a464f0cdc259a95d00a3be56 Reviewed-by: Thomas Hartmann --- .../propertyEditorQmlSources/QtQuick/TextEditSpecifics.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextEditSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextEditSpecifics.qml index 056c5f7d96a..bc471cc8ce0 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextEditSpecifics.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/TextEditSpecifics.qml @@ -43,7 +43,7 @@ Column { ColorEditor { caption: qsTr(" Text Color") backendendValue: backendValues.color - supportGradient: true + supportGradient: false } } From 4b9c8fecc860114221b0e21a7bdd1e11a23bca39 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 11:40:07 +0200 Subject: [PATCH 28/66] QmlDesigner.PropertyEditor: Also style SliderSpinBox Moving the spin box style into its own component so it can be shared. Change-Id: I7e838a487c89106590e87eac6c725f68ce9c50f9 Reviewed-by: Thomas Hartmann --- .../HelperWidgets/CustomSpinBoxStyle.qml | 86 +++++++++++++++++++ .../HelperWidgets/SliderSpinBox.qml | 8 ++ .../HelperWidgets/SpinBox.qml | 53 +----------- 3 files changed, 95 insertions(+), 52 deletions(-) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomSpinBoxStyle.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomSpinBoxStyle.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomSpinBoxStyle.qml new file mode 100644 index 00000000000..1e11856a227 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomSpinBoxStyle.qml @@ -0,0 +1,86 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import QtQuick.Controls 1.1 as Controls +import QtQuick.Controls.Styles 1.1 + +SpinBoxStyle { + + selectionColor: spinBox.textColor + selectedTextColor: "black" + textColor: spinBox.textColor + padding.top: 3 + padding.bottom: 1 + + incrementControl: Item { + implicitWidth: 14 + implicitHeight: parent.height/2 + opacity: styleData.upEnabled ? styleData.upPressed ? 0.5 : 1 : 0.5 + Image { + source: "images/up-arrow.png" + anchors.centerIn: parent + anchors.verticalCenterOffset: 2 + anchors.horizontalCenterOffset: -4 + } + } + + decrementControl: Item { + implicitWidth: 14 + implicitHeight: parent.height/2 + opacity: styleData.downEnabled ? styleData.downPressed ? 0.5 : 1 : 0.5 + Image { + source: "images/down-arrow.png" + anchors.centerIn: parent + anchors.verticalCenterOffset: -1 + anchors.horizontalCenterOffset: -4 + } + } + + background: Rectangle { + implicitWidth: Math.max(60, styleData.contentWidth) + implicitHeight: 23 + border.color: borderColor + radius: 3 + gradient: Gradient { + GradientStop {color: "#2c2c2c" ; position: 0} + GradientStop {color: "#343434" ; position: 0.15} + GradientStop {color: "#373737" ; position: 1} + } + Rectangle { + border.color: highlightColor + anchors.fill: parent + anchors.margins: -1 + color: "transparent" + radius: 4 + opacity: 0.3 + visible: control.activeFocus + } + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SliderSpinBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SliderSpinBox.qml index 7b3c20a395b..a36f9acf9a3 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SliderSpinBox.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SliderSpinBox.qml @@ -34,6 +34,10 @@ SpinBox { id: spinBox width: 76 + property color borderColor: "#222" + property color highlightColor: "orange" + property color textColor: "#eee" + function showSlider() { timer.stop() timer2.start() @@ -106,4 +110,8 @@ SpinBox { slider.opacity = 0; } } + + style: CustomSpinBoxStyle { + + } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SpinBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SpinBox.qml index a093a6603ed..6e5f6c06db5 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SpinBox.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SpinBox.qml @@ -90,57 +90,6 @@ Controls.SpinBox { } } - style: SpinBoxStyle { - - selectionColor: spinBox.textColor - selectedTextColor: "black" - textColor: spinBox.textColor - padding.top: 3 - padding.bottom: 1 - - incrementControl: Item { - implicitWidth: 14 - implicitHeight: parent.height/2 - opacity: styleData.upEnabled ? styleData.upPressed ? 0.5 : 1 : 0.5 - Image { - source: "images/up-arrow.png" - anchors.centerIn: parent - anchors.verticalCenterOffset: 2 - anchors.horizontalCenterOffset: -4 - } - } - - decrementControl: Item { - implicitWidth: 14 - implicitHeight: parent.height/2 - opacity: styleData.downEnabled ? styleData.downPressed ? 0.5 : 1 : 0.5 - Image { - source: "images/down-arrow.png" - anchors.centerIn: parent - anchors.verticalCenterOffset: -1 - anchors.horizontalCenterOffset: -4 - } - } - - background: Rectangle { - implicitWidth: Math.max(60, styleData.contentWidth) - implicitHeight: 23 - border.color: borderColor - radius: 3 - gradient: Gradient { - GradientStop {color: "#2c2c2c" ; position: 0} - GradientStop {color: "#343434" ; position: 0.15} - GradientStop {color: "#373737" ; position: 1} - } - Rectangle { - border.color: highlightColor - anchors.fill: parent - anchors.margins: -1 - color: "transparent" - radius: 4 - opacity: 0.3 - visible: control.activeFocus - } - } + style: CustomSpinBoxStyle { } } From 962189c377af8cd26ae7dca3cfd297d2de840bab Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 12:43:32 +0200 Subject: [PATCH 29/66] QmlDesigner.PropertyEditor: adding ColumnSpecifics Change-Id: Ia5f0ae7b3a9d34e3e9e0d9df01dbc2f74887b0d1 Reviewed-by: Thomas Hartmann --- .../QtQuick/ColumnSpecifics.qml | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ColumnSpecifics.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ColumnSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ColumnSpecifics.qml new file mode 100644 index 00000000000..c8ee80a4d46 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ColumnSpecifics.qml @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Column") + + Label { + text: qsTr("Spacing") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.spacing + minimumValue: 0 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + } + } + } +} + From d816aaa0f94af6fa0196d22371e642fa16d1b1f5 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 12:43:41 +0200 Subject: [PATCH 30/66] QmlDesigner.PropertyEditor: adding FlowSpecifics Change-Id: I75bc5fbb1b5d69e82afe2c2f7170da363c184fa9 Reviewed-by: Thomas Hartmann --- .../QtQuick/FlowSpecifics.qml | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlowSpecifics.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlowSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlowSpecifics.qml new file mode 100644 index 00000000000..57f640cfc02 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlowSpecifics.qml @@ -0,0 +1,91 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Flow") + + SectionLayout { + Label { + text: qsTr("Flow") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "TopToBottom"] + backendValue: backendValues.flow + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Layout Direction") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "RightToLeft"] + backendValue: backendValues.layoutDirection + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Spacing") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.spacing + minimumValue: 0 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + } + } + } + } +} From b3fd3dfbde5326d2e344b8824e8765e6a2d6c71a Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 12:42:09 +0200 Subject: [PATCH 31/66] QmlDesigner.PropertyEditor: fixing caption for BorderImage Change-Id: I592220d716caddb174ee041c079b94de3bdbe831 Reviewed-by: Thomas Hartmann --- .../propertyEditorQmlSources/QtQuick/BorderImageSpecifics.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/BorderImageSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/BorderImageSpecifics.qml index 80f5c72b41b..f87ec5d9ded 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/BorderImageSpecifics.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/BorderImageSpecifics.qml @@ -38,7 +38,7 @@ Column { Section { anchors.left: parent.left anchors.right: parent.right - caption: qsTr("Image") + caption: qsTr("Border Image") SectionLayout { Label { From ee4fd52ade1e28647b4f624567bf1698c004ef39 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 12:43:54 +0200 Subject: [PATCH 32/66] QmlDesigner.PropertyEditor: adding RowSpecifics Change-Id: I1883e33d2d169f54e352a131f11dce4fa4c86748 Reviewed-by: Thomas Hartmann --- .../QtQuick/RowSpecifics.qml | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RowSpecifics.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RowSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RowSpecifics.qml new file mode 100644 index 00000000000..e26f165a43f --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RowSpecifics.qml @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Row") + + SectionLayout { + Label { + text: qsTr("Layout Direction") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "RightToLeft"] + backendValue: backendValues.layoutDirection + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Spacing") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.spacing + minimumValue: 0 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + } + } + } + } +} From 523276bb25a4611a9ef769e91d034561d08a8784 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 12:44:04 +0200 Subject: [PATCH 33/66] QmlDesigner.PropertyEditor: adding GridSpecifics Change-Id: I3b793929e130d6eac8bb818f593b1617d1a0f168 Reviewed-by: Thomas Hartmann --- .../QtQuick/GridSpecifics.qml | 125 ++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridSpecifics.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridSpecifics.qml new file mode 100644 index 00000000000..c4a13f597f9 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridSpecifics.qml @@ -0,0 +1,125 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Grid") + + + SectionLayout { + + Label { + text: qsTr("Columns") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.columns + minimumValue: 0 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + } + } + + Label { + text: qsTr("Rows") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.rows + minimumValue: 0 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + } + } + + Label { + text: qsTr("Flow") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "TopToBottom"] + backendValue: backendValues.flow + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Layout Direction") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "RightToLeft"] + backendValue: backendValues.layoutDirection + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Spacing") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.spacing + minimumValue: 0 + maximumValue: 2000 + decimals: 0 + } + + ExpandingSpacer { + } + } + } + } +} From 36552d17eab5d8b6d1b2729807ee74bfa4517779 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Wed, 9 Oct 2013 10:42:09 +0200 Subject: [PATCH 34/66] Pass ShortcutOverride events to base class in BaseTextEditorWidget. Task-number: QTCREATORBUG-9820 Change-Id: I34493bf655cc2c5bc21d6dadbe2cf668093cfa0a Reviewed-by: Eike Ziller --- src/plugins/texteditor/basetexteditor.cpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 06d6e6401e0..70d41ff3a78 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -2061,19 +2061,12 @@ bool BaseTextEditorWidget::event(QEvent *e) #else d->m_contentsChanged = false; #endif - switch (e->type()) { - case QEvent::ShortcutOverride: - if (static_cast(e)->key() == Qt::Key_Escape && d->m_snippetOverlay->isVisible()) { - e->accept(); - return true; - } - e->ignore(); // we are a really nice citizen + if (e->type() == QEvent::ShortcutOverride + && static_cast(e)->key() == Qt::Key_Escape + && d->m_snippetOverlay->isVisible()) { + e->accept(); return true; - break; - default: - break; } - return QPlainTextEdit::event(e); } From 1ba9c8ef148eddb96751246ed627bf5bddccf5fc Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 9 Oct 2013 12:40:44 +0200 Subject: [PATCH 35/66] Update qbs submodule. Change-Id: Iaf666a75e16834028ff7a830a24423aadfc7d1f5 Reviewed-by: Joerg Bornemann --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/qbs b/src/shared/qbs index e0d292b0804..436027d7ae9 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit e0d292b08046c5a257b23cd45a7bebe0849bc42c +Subproject commit 436027d7ae9c7ff1732caca36c6f11161b80c4cc From 56c3d8ffaba76a69a36c6083ee0abdf103355025 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 9 Oct 2013 11:20:26 +0200 Subject: [PATCH 36/66] Unify wizards with TOC and cancel button. QTBUG-28385 is biting us over and over (QWizard doesn't have close button nor cancel button on Mac in Qt 5), and actually there's no reason for us having a wizard without the features from Utils::Wizard. Task-number: QTCREATORBUG-10346 Task-number: QTBUG-28385 Change-Id: I80c0d82fe6738496c2ac03c31a1c2757ade8e266 Reviewed-by: Jarek Kobus Reviewed-by: Daniel Teske --- src/libs/utils/filewizarddialog.cpp | 14 ----------- src/libs/utils/wizard.cpp | 15 ++++++++++++ .../android/createandroidmanifestwizard.cpp | 2 -- .../autotoolsopenprojectwizard.cpp | 6 ----- .../autotoolsopenprojectwizard.h | 1 - .../baremetaldeviceconfigurationwizard.cpp | 2 +- .../baremetaldeviceconfigurationwizard.h | 5 ++-- .../cmakeopenprojectwizard.cpp | 2 -- src/plugins/coreplugin/basefilewizard.cpp | 24 ------------------- src/plugins/coreplugin/basefilewizard.h | 1 - src/plugins/cppeditor/cppclasswizard.cpp | 1 - src/plugins/designer/formwizarddialog.cpp | 1 - .../genericprojectwizard.cpp | 1 - src/plugins/glsleditor/glslfilewizard.cpp | 1 - .../baseprojectwizarddialog.cpp | 1 - .../customwizard/customwizard.cpp | 1 - .../wizard/pythonclasswizarddialog.cpp | 1 - .../pythoneditor/wizard/pythonfilewizard.cpp | 1 - src/plugins/qmljseditor/jsfilewizard.cpp | 1 - .../blackberrydeviceconfigurationwizard.cpp | 2 +- .../qnx/blackberrydeviceconfigurationwizard.h | 5 ++-- ...ackberrydeviceconfigurationwizardpages.cpp | 6 ++--- src/plugins/qnx/blackberryinstallwizard.cpp | 2 +- src/plugins/qnx/blackberryinstallwizard.h | 6 ++--- src/plugins/qnx/blackberrysetupwizard.cpp | 2 +- src/plugins/qnx/blackberrysetupwizard.h | 8 +++---- .../cascadesimport/cascadesimportwizard.cpp | 1 - .../qnx/qnxdeviceconfigurationwizard.cpp | 2 +- .../qnx/qnxdeviceconfigurationwizard.h | 5 ++-- .../genericlinuxdeviceconfigurationwizard.cpp | 2 +- .../genericlinuxdeviceconfigurationwizard.h | 5 ++-- ...riclinuxdeviceconfigurationwizardpages.cpp | 4 ++-- src/plugins/vcsbase/checkoutwizarddialog.cpp | 2 -- 33 files changed, 41 insertions(+), 92 deletions(-) diff --git a/src/libs/utils/filewizarddialog.cpp b/src/libs/utils/filewizarddialog.cpp index 483fb7e400e..d655d8822d0 100644 --- a/src/libs/utils/filewizarddialog.cpp +++ b/src/libs/utils/filewizarddialog.cpp @@ -30,8 +30,6 @@ #include "filewizarddialog.h" #include "filewizardpage.h" -#include "hostosinfo.h" - #include /*! @@ -49,18 +47,6 @@ FileWizardDialog::FileWizardDialog(QWidget *parent) : Wizard(parent), m_filePage(new FileWizardPage) { - setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); - setOption(QWizard::NoCancelButton, false); - setOption(QWizard::NoDefaultButton, false); - if (HostOsInfo::isMacHost()) { - setButtonLayout(QList() - << QWizard::CancelButton - << QWizard::Stretch - << QWizard::BackButton - << QWizard::NextButton - << QWizard::CommitButton - << QWizard::FinishButton); - } const int filePageId = addPage(m_filePage); wizardProgress()->item(filePageId)->setTitle(tr("Location")); connect(m_filePage, SIGNAL(activated()), button(QWizard::FinishButton), SLOT(animateClick())); diff --git a/src/libs/utils/wizard.cpp b/src/libs/utils/wizard.cpp index 743c628de9b..dfe849ae07a 100644 --- a/src/libs/utils/wizard.cpp +++ b/src/libs/utils/wizard.cpp @@ -28,6 +28,7 @@ ****************************************************************************/ #include "wizard.h" +#include "hostosinfo.h" #include #include @@ -318,6 +319,20 @@ Wizard::Wizard(QWidget *parent, Qt::WindowFlags flags) : connect(this, SIGNAL(pageAdded(int)), this, SLOT(_q_pageAdded(int))); connect(this, SIGNAL(pageRemoved(int)), this, SLOT(_q_pageRemoved(int))); setSideWidget(new LinearProgressWidget(d_ptr->m_wizardProgress, this)); + setOption(QWizard::NoCancelButton, false); + setOption(QWizard::NoDefaultButton, false); + setOption(QWizard::NoBackButtonOnStartPage, true); + setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); + + if (Utils::HostOsInfo::isMacHost()) { + setButtonLayout(QList() + << QWizard::CancelButton + << QWizard::Stretch + << QWizard::BackButton + << QWizard::NextButton + << QWizard::CommitButton + << QWizard::FinishButton); + } } Wizard::~Wizard() diff --git a/src/plugins/android/createandroidmanifestwizard.cpp b/src/plugins/android/createandroidmanifestwizard.cpp index eeee6b4c61b..e3d0b318f26 100644 --- a/src/plugins/android/createandroidmanifestwizard.cpp +++ b/src/plugins/android/createandroidmanifestwizard.cpp @@ -131,8 +131,6 @@ ChooseDirectoryPage::ChooseDirectoryPage(CreateAndroidManifestWizard *wizard) CreateAndroidManifestWizard::CreateAndroidManifestWizard(ProjectExplorer::Target *target) : m_target(target), m_node(0) { - setOption(QWizard::NoBackButtonOnStartPage); - setOption(QWizard::NoCancelButton, false); setWindowTitle(tr("Create Android Manifest Wizard")); Qt4Project *project = static_cast(target->project()); diff --git a/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.cpp b/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.cpp index 0f3168030d1..473a61cd5a3 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.cpp @@ -57,12 +57,6 @@ AutotoolsOpenProjectWizard::AutotoolsOpenProjectWizard(AutotoolsManager *manager setPage(BuildPathPageId, new BuildPathPage(this)); setStartId(BuildPathPageId); - init(); -} - -void AutotoolsOpenProjectWizard::init() -{ - setOption(QWizard::NoBackButtonOnStartPage); setWindowTitle(tr("Autotools Wizard")); } diff --git a/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.h b/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.h index 6cf5edd796a..d22ec98cbf9 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsopenprojectwizard.h @@ -63,7 +63,6 @@ public: AutotoolsManager *autotoolsManager() const; private: - void init(); AutotoolsManager *m_manager; QString m_buildDirectory; QString m_sourceDirectory; diff --git a/src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp b/src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp index cee788b3165..14e625da4c7 100644 --- a/src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp +++ b/src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp @@ -55,7 +55,7 @@ public: } //namespace Internal BareMetalDeviceConfigurationWizard::BareMetalDeviceConfigurationWizard(QWidget *parent) : - QWizard(parent), + Utils::Wizard(parent), d(new Internal::BareMetalDeviceConfigrationWizardPrivate(this)) { setWindowTitle(tr("New Bare Metal Device Configuration Setup")); diff --git a/src/plugins/baremetal/baremetaldeviceconfigurationwizard.h b/src/plugins/baremetal/baremetaldeviceconfigurationwizard.h index 3b63d9fa541..4a35d41dea7 100644 --- a/src/plugins/baremetal/baremetaldeviceconfigurationwizard.h +++ b/src/plugins/baremetal/baremetaldeviceconfigurationwizard.h @@ -31,15 +31,14 @@ #define BAREMETALDEVICECONFIGURATIONWIZARD_H #include - -#include +#include namespace BareMetal { namespace Internal { class BareMetalDeviceConfigrationWizardPrivate; } // namespace Internal -class BareMetalDeviceConfigurationWizard : public QWizard +class BareMetalDeviceConfigurationWizard : public Utils::Wizard { Q_OBJECT public: diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp index 477a1802240..a68a919c1d3 100644 --- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp @@ -273,8 +273,6 @@ CMakeOpenProjectWizard::CMakeOpenProjectWizard(CMakeManager *cmakeManager, CMake void CMakeOpenProjectWizard::init() { - setOption(QWizard::NoBackButtonOnStartPage); - setOption(QWizard::NoCancelButton, false); setWindowTitle(tr("CMake Wizard")); } diff --git a/src/plugins/coreplugin/basefilewizard.cpp b/src/plugins/coreplugin/basefilewizard.cpp index 8412e6ea459..4df472472c8 100644 --- a/src/plugins/coreplugin/basefilewizard.cpp +++ b/src/plugins/coreplugin/basefilewizard.cpp @@ -37,7 +37,6 @@ #include #include #include -#include #include #include @@ -345,28 +344,6 @@ bool BaseFileWizard::writeFiles(const GeneratedFiles &files, QString *errorMessa return true; } -/*! - Sets some standard options on a QWizard. -*/ - -void BaseFileWizard::setupWizard(QWizard *w) -{ - w->setOption(QWizard::NoCancelButton, false); - w->setOption(QWizard::NoDefaultButton, false); - w->setOption(QWizard::NoBackButtonOnStartPage, true); - w->setWindowFlags(w->windowFlags() & ~Qt::WindowContextHelpButtonHint); - - if (Utils::HostOsInfo::isMacHost()) { - w->setButtonLayout(QList() - << QWizard::CancelButton - << QWizard::Stretch - << QWizard::BackButton - << QWizard::NextButton - << QWizard::CommitButton - << QWizard::FinishButton); - } -} - /*! Reads the \c shortTitle dynamic property of \a pageId and applies it as the title of corresponding progress item. @@ -571,7 +548,6 @@ QWizard *StandardFileWizard::createWizardDialog(QWidget *parent, if (wizardDialogParameters.flags().testFlag(WizardDialogParameters::ForceCapitalLetterForFileName)) standardWizardDialog->setForceFirstCapitalLetterForFileName(true); standardWizardDialog->setWindowTitle(tr("New %1").arg(displayName())); - setupWizard(standardWizardDialog); standardWizardDialog->setPath(wizardDialogParameters.defaultPath()); foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(standardWizardDialog, standardWizardDialog->addPage(p)); diff --git a/src/plugins/coreplugin/basefilewizard.h b/src/plugins/coreplugin/basefilewizard.h index 6eac0a66877..257b65e8e22 100644 --- a/src/plugins/coreplugin/basefilewizard.h +++ b/src/plugins/coreplugin/basefilewizard.h @@ -114,7 +114,6 @@ public: virtual void runWizard(const QString &path, QWidget *parent, const QString &platform, const QVariantMap &extraValues); static QString buildFileName(const QString &path, const QString &baseName, const QString &extension); - static void setupWizard(QWizard *); static void applyExtensionPageShortTitle(Utils::Wizard *wizard, int pageId); protected: diff --git a/src/plugins/cppeditor/cppclasswizard.cpp b/src/plugins/cppeditor/cppclasswizard.cpp index d56ea5cc5da..eb3a0ae243b 100644 --- a/src/plugins/cppeditor/cppclasswizard.cpp +++ b/src/plugins/cppeditor/cppclasswizard.cpp @@ -114,7 +114,6 @@ CppClassWizardDialog::CppClassWizardDialog(QWidget *parent) : Utils::Wizard(parent), m_classNamePage(new ClassNamePage(this)) { - Core::BaseFileWizard::setupWizard(this); setWindowTitle(tr("C++ Class Wizard")); const int classNameId = addPage(m_classNamePage); wizardProgress()->item(classNameId)->setTitle(tr("Details")); diff --git a/src/plugins/designer/formwizarddialog.cpp b/src/plugins/designer/formwizarddialog.cpp index a9b8407dfe1..4af2f27d2cc 100644 --- a/src/plugins/designer/formwizarddialog.cpp +++ b/src/plugins/designer/formwizarddialog.cpp @@ -54,7 +54,6 @@ FormWizardDialog::FormWizardDialog(const WizardPageList &extensionPages, void FormWizardDialog::init(const WizardPageList &extensionPages) { - Core::BaseFileWizard::setupWizard(this); setWindowTitle(tr("Qt Designer Form")); setPage(FormPageId, m_formPage); wizardProgress()->item(FormPageId)->setTitle(tr("Form Template")); diff --git a/src/plugins/genericprojectmanager/genericprojectwizard.cpp b/src/plugins/genericprojectmanager/genericprojectwizard.cpp index 60b118b01ba..5f97652ca53 100644 --- a/src/plugins/genericprojectmanager/genericprojectwizard.cpp +++ b/src/plugins/genericprojectmanager/genericprojectwizard.cpp @@ -131,7 +131,6 @@ QWizard *GenericProjectWizard::createWizardDialog(QWidget *parent, const Core::WizardDialogParameters &wizardDialogParameters) const { GenericProjectWizardDialog *wizard = new GenericProjectWizardDialog(parent); - setupWizard(wizard); wizard->setPath(wizardDialogParameters.defaultPath()); diff --git a/src/plugins/glsleditor/glslfilewizard.cpp b/src/plugins/glsleditor/glslfilewizard.cpp index 9d3809df192..0541ac9388f 100644 --- a/src/plugins/glsleditor/glslfilewizard.cpp +++ b/src/plugins/glsleditor/glslfilewizard.cpp @@ -132,7 +132,6 @@ QWizard *GLSLFileWizard::createWizardDialog(QWidget *parent, { GLSLFileWizardDialog *wizardDialog = new GLSLFileWizardDialog(parent); wizardDialog->setWindowTitle(tr("New %1").arg(displayName())); - setupWizard(wizardDialog); wizardDialog->setPath(wizardDialogParameters.defaultPath()); foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(wizardDialog, wizardDialog->addPage(p)); diff --git a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp index bb4ba350c90..e7086f5a16a 100644 --- a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp +++ b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp @@ -89,7 +89,6 @@ BaseProjectWizardDialog::BaseProjectWizardDialog(Utils::ProjectIntroPage *introP void BaseProjectWizardDialog::init() { - Core::BaseFileWizard::setupWizard(this); if (d->introPageId == -1) { d->introPageId = addPage(d->introPage); } else { diff --git a/src/plugins/projectexplorer/customwizard/customwizard.cpp b/src/plugins/projectexplorer/customwizard/customwizard.cpp index e8c720f9e6d..d909765204b 100644 --- a/src/plugins/projectexplorer/customwizard/customwizard.cpp +++ b/src/plugins/projectexplorer/customwizard/customwizard.cpp @@ -145,7 +145,6 @@ void CustomWizard::initWizardDialog(Utils::Wizard *wizard, const QString &defaul customPage->setTitle(parameters()->fieldPageTitle); foreach (QWizardPage *ep, extensionPages) BaseFileWizard::applyExtensionPageShortTitle(wizard, wizard->addPage(ep)); - Core::BaseFileWizard::setupWizard(wizard); if (CustomWizardPrivate::verbose) qDebug() << "initWizardDialog" << wizard << wizard->pageIds(); } diff --git a/src/plugins/pythoneditor/wizard/pythonclasswizarddialog.cpp b/src/plugins/pythoneditor/wizard/pythonclasswizarddialog.cpp index 040a9c222b8..09e11a331de 100644 --- a/src/plugins/pythoneditor/wizard/pythonclasswizarddialog.cpp +++ b/src/plugins/pythoneditor/wizard/pythonclasswizarddialog.cpp @@ -41,7 +41,6 @@ ClassWizardDialog::ClassWizardDialog(QWidget *parent) , m_classNamePage(new ClassNamePage(this)) { setWindowTitle(tr("Python Class Wizard")); - Core::BaseFileWizard::setupWizard(this); const int classNameId = addPage(m_classNamePage.data()); wizardProgress()->item(classNameId)->setTitle(tr("Details")); } diff --git a/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp b/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp index 67b21367bd0..45cd6a14ca1 100644 --- a/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp +++ b/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp @@ -70,7 +70,6 @@ QWizard *FileWizard::createWizardDialog(QWidget *parent, { Utils::FileWizardDialog *pDialog = new Utils::FileWizardDialog(parent); pDialog->setWindowTitle(tr("New %1").arg(displayName())); - setupWizard(pDialog); pDialog->setPath(params.defaultPath()); foreach (QWizardPage *p, params.extensionPages()) applyExtensionPageShortTitle(pDialog, pDialog->addPage(p)); diff --git a/src/plugins/qmljseditor/jsfilewizard.cpp b/src/plugins/qmljseditor/jsfilewizard.cpp index 9c790743b65..aeff9bece86 100644 --- a/src/plugins/qmljseditor/jsfilewizard.cpp +++ b/src/plugins/qmljseditor/jsfilewizard.cpp @@ -127,7 +127,6 @@ QWizard *JsFileWizard::createWizardDialog(QWidget *parent, { JsFileWizardDialog *wizardDialog = new JsFileWizardDialog(parent); wizardDialog->setWindowTitle(tr("New %1").arg(displayName())); - setupWizard(wizardDialog); wizardDialog->setPath(wizardDialogParameters.defaultPath()); foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(wizardDialog, wizardDialog->addPage(p)); diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwizard.cpp b/src/plugins/qnx/blackberrydeviceconfigurationwizard.cpp index 73f9e36a350..52a29f84747 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwizard.cpp +++ b/src/plugins/qnx/blackberrydeviceconfigurationwizard.cpp @@ -41,7 +41,7 @@ using namespace Qnx; using namespace Qnx::Internal; BlackBerryDeviceConfigurationWizard::BlackBerryDeviceConfigurationWizard(QWidget *parent) : - QWizard(parent) + Utils::Wizard(parent) { setWindowTitle(tr("New BlackBerry Device Configuration Setup")); diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwizard.h b/src/plugins/qnx/blackberrydeviceconfigurationwizard.h index 024e9eb8550..0aea5a6c104 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwizard.h +++ b/src/plugins/qnx/blackberrydeviceconfigurationwizard.h @@ -34,14 +34,13 @@ #include "blackberrydeviceconfigurationwizardpages.h" -#include - #include +#include namespace Qnx { namespace Internal { -class BlackBerryDeviceConfigurationWizard : public QWizard +class BlackBerryDeviceConfigurationWizard : public Utils::Wizard { Q_OBJECT public: diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.cpp b/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.cpp index 9d0437a93a7..0a83d52dff6 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.cpp +++ b/src/plugins/qnx/blackberrydeviceconfigurationwizardpages.cpp @@ -75,7 +75,7 @@ BlackBerryDeviceConfigurationWizardSetupPage::BlackBerryDeviceConfigurationWizar { m_ui->setupUi(this); - setTitle(tr("Connection Details")); + setTitle(tr("Connection")); connect(m_ui->deviceListWidget, SIGNAL(itemSelectionChanged()), this, SLOT(onDeviceSelectionChanged())); connect(m_deviceListDetector, SIGNAL(deviceDetected(QString,QString,bool)), @@ -225,7 +225,7 @@ BlackBerryDeviceConfigurationWizardQueryPage::BlackBerryDeviceConfigurationWizar , m_deviceInformation(new BlackBerryDeviceInformation(this)) { m_ui->setupUi(this); - setTitle(tr("Query Device Information")); + setTitle(tr("Device Information")); m_ui->progressBar->setMaximum(Done); connect(m_deviceInformation,SIGNAL(finished(int)),this,SLOT(processQueryFinished(int))); @@ -426,7 +426,7 @@ QString BlackBerryDeviceConfigurationWizardConfigPage::debugToken() const BlackBerryDeviceConfigurationWizardFinalPage::BlackBerryDeviceConfigurationWizardFinalPage(QWidget *parent) : QWizardPage(parent) { - setTitle(tr("Setup Finished")); + setTitle(tr("Summary")); QVBoxLayout *layout = new QVBoxLayout(this); QLabel *label = new QLabel(tr("The new device configuration will be created now."), this); diff --git a/src/plugins/qnx/blackberryinstallwizard.cpp b/src/plugins/qnx/blackberryinstallwizard.cpp index ffa3076fe78..ee0b0f30500 100644 --- a/src/plugins/qnx/blackberryinstallwizard.cpp +++ b/src/plugins/qnx/blackberryinstallwizard.cpp @@ -42,7 +42,7 @@ using namespace Qnx::Internal; BlackBerryInstallWizard::BlackBerryInstallWizard(BlackBerryInstallerDataHandler::Mode mode, const QString& version, QWidget *parent) - : QWizard(parent) + : Utils::Wizard(parent) , m_ndkPage(0) , m_targetPage(0) { diff --git a/src/plugins/qnx/blackberryinstallwizard.h b/src/plugins/qnx/blackberryinstallwizard.h index b81a26e6364..c00b7970cdb 100644 --- a/src/plugins/qnx/blackberryinstallwizard.h +++ b/src/plugins/qnx/blackberryinstallwizard.h @@ -32,9 +32,9 @@ #ifndef QNX_INTERNAL_BLACKBERRYDEVICECONFIGURATIONWIZARD_H #define QNX_INTERNAL_BLACKBERRYDEVICECONFIGURATIONWIZARD_H -#include +#include -#include +#include namespace Qnx { namespace Internal { @@ -61,7 +61,7 @@ public: Mode mode; }; -class BlackBerryInstallWizard : public QWizard +class BlackBerryInstallWizard : public Utils::Wizard { Q_OBJECT public: diff --git a/src/plugins/qnx/blackberrysetupwizard.cpp b/src/plugins/qnx/blackberrysetupwizard.cpp index 8c0427feb5e..43cc73a7c04 100644 --- a/src/plugins/qnx/blackberrysetupwizard.cpp +++ b/src/plugins/qnx/blackberrysetupwizard.cpp @@ -57,7 +57,7 @@ using namespace Qnx; using namespace Qnx::Internal; BlackBerrySetupWizard::BlackBerrySetupWizard(QWidget *parent) : - QWizard(parent), + Utils::Wizard(parent), m_ndkPage(0), m_keysPage(0), m_certificatePage(0), diff --git a/src/plugins/qnx/blackberrysetupwizard.h b/src/plugins/qnx/blackberrysetupwizard.h index e40530aff0d..a224ed6487c 100644 --- a/src/plugins/qnx/blackberrysetupwizard.h +++ b/src/plugins/qnx/blackberrysetupwizard.h @@ -32,12 +32,12 @@ #ifndef BLACKBERRYSETUPWIZARD_H #define BLACKBERRYSETUPWIZARD_H -#include +#include +#include + #include #include -#include - namespace QSsh { class SshKeyGenerator; } @@ -57,7 +57,7 @@ class BlackBerryDebugTokenRequester; class BlackBerryDebugTokenUploader; class BlackBerrySigningUtils; -class BlackBerrySetupWizard : public QWizard +class BlackBerrySetupWizard : public Utils::Wizard { Q_OBJECT public: diff --git a/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp b/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp index ca8e05e27c8..a72037b9112 100644 --- a/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp +++ b/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp @@ -143,7 +143,6 @@ QWizard *CascadesImportWizard::createWizardDialog(QWidget *parent, const Core::WizardDialogParameters &wizardDialogParameters) const { CascadesImportWizardDialog *wizard = new CascadesImportWizardDialog(parent); - setupWizard(wizard); foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(wizard, wizard->addPage(p)); diff --git a/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp b/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp index 01ef63389d0..f99480b6d91 100644 --- a/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp +++ b/src/plugins/qnx/qnxdeviceconfigurationwizard.cpp @@ -44,7 +44,7 @@ using namespace Qnx; using namespace Qnx::Internal; QnxDeviceConfigurationWizard::QnxDeviceConfigurationWizard(QWidget *parent) : - QWizard(parent) + Utils::Wizard(parent) { setWindowTitle(tr("New QNX Device Configuration Setup")); diff --git a/src/plugins/qnx/qnxdeviceconfigurationwizard.h b/src/plugins/qnx/qnxdeviceconfigurationwizard.h index 689fda13755..e8fc653940f 100644 --- a/src/plugins/qnx/qnxdeviceconfigurationwizard.h +++ b/src/plugins/qnx/qnxdeviceconfigurationwizard.h @@ -32,9 +32,8 @@ #ifndef QNX_INTERNAL_QNXDEVICECONFIGURATIONWIZARD_H #define QNX_INTERNAL_QNXDEVICECONFIGURATIONWIZARD_H -#include - #include +#include namespace RemoteLinux { class GenericLinuxDeviceConfigurationWizardSetupPage; @@ -44,7 +43,7 @@ class GenericLinuxDeviceConfigurationWizardFinalPage; namespace Qnx { namespace Internal { -class QnxDeviceConfigurationWizard : public QWizard +class QnxDeviceConfigurationWizard : public Utils::Wizard { Q_OBJECT public: diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp index 8ad502a052e..b54825f7103 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp @@ -58,7 +58,7 @@ public: } // namespace Internal GenericLinuxDeviceConfigurationWizard::GenericLinuxDeviceConfigurationWizard(QWidget *parent) - : QWizard(parent), + : Utils::Wizard(parent), d(new Internal::GenericLinuxDeviceConfigurationWizardPrivate(this)) { setWindowTitle(tr("New Generic Linux Device Configuration Setup")); diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.h b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.h index 2ca937fddbe..daefdc1eaa0 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.h +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.h @@ -32,15 +32,14 @@ #include "remotelinux_export.h" #include - -#include +#include namespace RemoteLinux { namespace Internal { class GenericLinuxDeviceConfigurationWizardPrivate; } // namespace Internal -class REMOTELINUX_EXPORT GenericLinuxDeviceConfigurationWizard : public QWizard +class REMOTELINUX_EXPORT GenericLinuxDeviceConfigurationWizard : public Utils::Wizard { Q_OBJECT diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp index a64c3ba05eb..e23a3ff903d 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp @@ -56,7 +56,7 @@ GenericLinuxDeviceConfigurationWizardSetupPage::GenericLinuxDeviceConfigurationW QWizardPage(parent), d(new Internal::GenericLinuxDeviceConfigurationWizardSetupPagePrivate) { d->ui.setupUi(this); - setTitle(tr("Connection Data")); + setTitle(tr("Connection")); setSubTitle(QLatin1String(" ")); // For Qt bug (background color) d->ui.privateKeyPathChooser->setExpectedKind(PathChooser::File); d->ui.privateKeyPathChooser->setPromptDialogTitle(tr("Choose a Private Key File")); @@ -153,7 +153,7 @@ void GenericLinuxDeviceConfigurationWizardSetupPage::handleAuthTypeChanged() GenericLinuxDeviceConfigurationWizardFinalPage::GenericLinuxDeviceConfigurationWizardFinalPage(QWidget *parent) : QWizardPage(parent), d(new Internal::GenericLinuxDeviceConfigurationWizardFinalPagePrivate) { - setTitle(tr("Setup Finished")); + setTitle(tr("Summary")); setSubTitle(QLatin1String(" ")); // For Qt bug (background color) d->infoLabel.setWordWrap(true); QVBoxLayout * const layout = new QVBoxLayout(this); diff --git a/src/plugins/vcsbase/checkoutwizarddialog.cpp b/src/plugins/vcsbase/checkoutwizarddialog.cpp index 49e2f25d0ef..091624aec3b 100644 --- a/src/plugins/vcsbase/checkoutwizarddialog.cpp +++ b/src/plugins/vcsbase/checkoutwizarddialog.cpp @@ -51,14 +51,12 @@ CheckoutWizardDialog::CheckoutWizardDialog(const QList ¶meter m_progressPage(new CheckoutProgressWizardPage), m_progressPageId(-1) { - setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); foreach (QWizardPage *wp, parameterPages) addPage(wp); m_progressPageId = parameterPages.size(); setPage(m_progressPageId, m_progressPage); connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(slotPageChanged(int))); connect(m_progressPage, SIGNAL(terminated(bool)), this, SLOT(slotTerminated(bool))); - Core::BaseFileWizard::setupWizard(this); } void CheckoutWizardDialog::setTitle(const QString &title) From 802b67ff04e65d7037e1d483881405753a17a83a Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Mon, 7 Oct 2013 11:44:50 +0200 Subject: [PATCH 37/66] CppTools: Protect SnapshotUpdater getters by mutex Task-number: QTCREATORBUG-10282 Change-Id: Ia58359f774c72260956caecd5f63d44b612d1451 Reviewed-by: Erik Verbruggen --- src/plugins/cpptools/cppsnapshotupdater.cpp | 22 +++++++++++++++++---- src/plugins/cpptools/cppsnapshotupdater.h | 14 ++++--------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/plugins/cpptools/cppsnapshotupdater.cpp b/src/plugins/cpptools/cppsnapshotupdater.cpp index d9efa592a00..cf4a7cec749 100644 --- a/src/plugins/cpptools/cppsnapshotupdater.cpp +++ b/src/plugins/cpptools/cppsnapshotupdater.cpp @@ -182,28 +182,42 @@ void SnapshotUpdater::update(CppModelManager::WorkingCopy workingCopy) Document::Ptr SnapshotUpdater::document() const { QMutexLocker locker(&m_mutex); - return m_snapshot.document(m_fileInEditor); } +Snapshot SnapshotUpdater::snapshot() const +{ + QMutexLocker locker(&m_mutex); + return m_snapshot; +} + +QStringList SnapshotUpdater::includePaths() const +{ + QMutexLocker locker(&m_mutex); + return m_includePaths; +} + +QStringList SnapshotUpdater::frameworkPaths() const +{ + QMutexLocker locker(&m_mutex); + return m_frameworkPaths; +} + ProjectPart::Ptr SnapshotUpdater::currentProjectPart() const { QMutexLocker locker(&m_mutex); - return m_projectPart; } void SnapshotUpdater::setProjectPart(ProjectPart::Ptr projectPart) { QMutexLocker locker(&m_mutex); - m_manuallySetProjectPart = projectPart; } void SnapshotUpdater::setUsePrecompiledHeaders(bool usePrecompiledHeaders) { QMutexLocker locker(&m_mutex); - m_usePrecompiledHeaders = usePrecompiledHeaders; } diff --git a/src/plugins/cpptools/cppsnapshotupdater.h b/src/plugins/cpptools/cppsnapshotupdater.h index 0d11e0c5865..98564357a76 100644 --- a/src/plugins/cpptools/cppsnapshotupdater.h +++ b/src/plugins/cpptools/cppsnapshotupdater.h @@ -54,15 +54,9 @@ public: void update(CppModelManagerInterface::WorkingCopy workingCopy); CPlusPlus::Document::Ptr document() const; - - CPlusPlus::Snapshot snapshot() const - { return m_snapshot; } - - QStringList includePaths() const - { return m_includePaths; } - - QStringList frameworkPaths() const - { return m_frameworkPaths; } + CPlusPlus::Snapshot snapshot() const; + QStringList includePaths() const; + QStringList frameworkPaths() const; ProjectPart::Ptr currentProjectPart() const; void setProjectPart(ProjectPart::Ptr projectPart); @@ -76,7 +70,7 @@ private: private: mutable QMutex m_mutex; - QString m_fileInEditor; + const QString m_fileInEditor; ProjectPart::Ptr m_projectPart, m_manuallySetProjectPart; QByteArray m_configFile; bool m_editorDefinesChangedSinceLastUpdate; From 90130f459629f3afa49a386e8a29cddffd21a6d1 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Fri, 4 Oct 2013 12:25:26 +0200 Subject: [PATCH 38/66] CppTools: Tests: Fix crash in test_modelmanager_gc_if_last_cppeditor_closed The project that was referenced at cppeditor.cpp:711 was already deleted. CppModelManager::m_fileToProjectParts contained outdated information. Now it is updated if a project is closed. Exposed by commit d411c07. Change-Id: I6fee93a02c72a045dd44a05723ab39a1eeec616e Reviewed-by: Erik Verbruggen --- src/plugins/cpptools/cppmodelmanager.cpp | 24 ++++++++++++++++-------- src/plugins/cpptools/cppmodelmanager.h | 2 ++ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index 4c0c5ecba7d..4dcbb2b6eaf 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -681,6 +681,19 @@ private: const QSet m_newSourceFiles; }; +/// Make sure that m_projectMutex is locked when calling this. +void CppModelManager::recalculateFileToProjectParts() +{ + m_fileToProjectParts.clear(); + foreach (const ProjectInfo &projectInfo, m_projectToProjectsInfo) { + foreach (const ProjectPart::Ptr &projectPart, projectInfo.projectParts()) { + foreach (const ProjectFile &cxxFile, projectPart->files) { + m_fileToProjectParts[cxxFile.path].append(projectPart); + } + } + } +} + QFuture CppModelManager::updateProjectInfo(const ProjectInfo &newProjectInfo) { if (!newProjectInfo.isValid()) @@ -738,14 +751,7 @@ QFuture CppModelManager::updateProjectInfo(const ProjectInfo &newProjectIn // Update Project/ProjectInfo and File/ProjectPart table m_dirty = true; m_projectToProjectsInfo.insert(project, newProjectInfo); - m_fileToProjectParts.clear(); - foreach (const ProjectInfo &projectInfo, m_projectToProjectsInfo) { - foreach (const ProjectPart::Ptr &projectPart, projectInfo.projectParts()) { - foreach (const ProjectFile &cxxFile, projectPart->files) { - m_fileToProjectParts[cxxFile.path].append(projectPart); - } - } - } + recalculateFileToProjectParts(); } // Mutex scope @@ -823,6 +829,7 @@ void CppModelManager::onAboutToRemoveProject(ProjectExplorer::Project *project) QMutexLocker locker(&m_projectMutex); m_dirty = true; m_projectToProjectsInfo.remove(project); + recalculateFileToProjectParts(); } while (0); delayedGC(); @@ -841,6 +848,7 @@ void CppModelManager::onAboutToUnloadSession() do { QMutexLocker locker(&m_projectMutex); m_projectToProjectsInfo.clear(); + recalculateFileToProjectParts(); m_dirty = true; } while (0); } diff --git a/src/plugins/cpptools/cppmodelmanager.h b/src/plugins/cpptools/cppmodelmanager.h index e86875a63fb..0bc4ee750d4 100644 --- a/src/plugins/cpptools/cppmodelmanager.h +++ b/src/plugins/cpptools/cppmodelmanager.h @@ -170,6 +170,8 @@ private slots: private: void delayedGC(); + void recalculateFileToProjectParts(); + void replaceSnapshot(const CPlusPlus::Snapshot &newSnapshot); void removeFilesFromSnapshot(const QSet &removedFiles); void removeProjectInfoFilesAndIncludesFromSnapshot(const ProjectInfo &projectInfo); From e0e5882f9f7bc640cc431a73ef72e11a5481cfff Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Fri, 4 Oct 2013 17:22:10 +0200 Subject: [PATCH 39/66] TextEditor: Clarify "Using keyboard shortcut (Alt)" in the settings. In Tools > Options > Text Editor > Behavior > "Mouse and Keyboard" the position of the checkbox "Using keyboard shortcut (Alt)" had an unclear relation to the mouse settings above. Users assumed those two were linked. Now the checkbox is moved above the mouse settings and it is not indentend any more. Further, both settings labels were slightly changed to clarify that. Task-number: QTCREATORBUG-10178 Change-Id: I01c01850213f1f34ed34ebd0d87e25243229b2d4 Reviewed-by: Leena Miettinen Reviewed-by: Erik Verbruggen --- doc/src/howto/creator-help.qdoc | 7 +- .../texteditor/behaviorsettingswidget.ui | 65 +++++++++++++------ 2 files changed, 49 insertions(+), 23 deletions(-) diff --git a/doc/src/howto/creator-help.qdoc b/doc/src/howto/creator-help.qdoc index 3d7c8fd3874..cffc5cee508 100644 --- a/doc/src/howto/creator-help.qdoc +++ b/doc/src/howto/creator-help.qdoc @@ -60,11 +60,12 @@ \section1 Viewing Function Tooltips To hide function tooltips by default, select \gui {Tools > Options > - Text Editor > Show help tooltips > On Shift+Mouseover}. You can still view - the tooltips by pressing and holding down the \key Shift key. + Text Editor > Show help tooltips using the mouse > On Shift+Mouseover}. You + can still view the tooltips by pressing and holding down the \key Shift + key. To use a keyboard shortcut for viewing help tooltips, select - \gui {Using keyboard shortcut (Alt)}. + \gui {Show help tooltips using keyboard shortcut (Alt)}. \section1 Finding Information in Qt Documentation diff --git a/src/plugins/texteditor/behaviorsettingswidget.ui b/src/plugins/texteditor/behaviorsettingswidget.ui index 60ea6a35cd8..324313b74af 100644 --- a/src/plugins/texteditor/behaviorsettingswidget.ui +++ b/src/plugins/texteditor/behaviorsettingswidget.ui @@ -11,7 +11,16 @@ - + + 0 + + + 0 + + + 0 + + 0 @@ -342,15 +351,41 @@ Specifies how backspace interacts with indentation. - - - - - Show help tooltips: + + + Press Alt to display context-sensitive help or type information as tooltips. + + + Show help tooltips using keyboard shortcut (Alt) + + + + + + + Show help tooltips using the mouse: + + + + + + + + + Qt::Horizontal - + + QSizePolicy::Fixed + + + + 30 + 20 + + + - + @@ -364,8 +399,8 @@ Specifies how backspace interacts with indentation. - - + + Qt::Horizontal @@ -377,16 +412,6 @@ Specifies how backspace interacts with indentation. - - - - Press Alt to display context-sensitive help or type information as tooltips. - - - Using keyboard shortcut (Alt) - - - From c5dfcce948dd40dac4f1a22d97a53afc5c6b7494 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Mon, 7 Oct 2013 15:06:36 +0200 Subject: [PATCH 40/66] TextEditor: Fix displaying function proposals In commit 3a64f8a the condition for displaying a replacement proposal was strengthened by making it only depend on the current proposal m_proposal. Since FuntionHintProposals were fragile, the automatic proposal timer was restarted in notifyChange() and as consequence the proposal was reset. Fixed by declaring that FunctionHintProposal are not fragile. Task-number: QTCREATORBUG-10283 Change-Id: I60828d733b781279be51228bd10d49f828aebe2b Reviewed-by: Erik Verbruggen --- src/plugins/texteditor/codeassist/functionhintproposal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/texteditor/codeassist/functionhintproposal.cpp b/src/plugins/texteditor/codeassist/functionhintproposal.cpp index 226d50308b7..0a46436b91b 100644 --- a/src/plugins/texteditor/codeassist/functionhintproposal.cpp +++ b/src/plugins/texteditor/codeassist/functionhintproposal.cpp @@ -43,7 +43,7 @@ FunctionHintProposal::~FunctionHintProposal() bool FunctionHintProposal::isFragile() const { - return true; + return false; } int FunctionHintProposal::basePosition() const From 0e4deaba2356e0baec5d6e65dabf503bf6f7c3bc Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 8 Oct 2013 13:42:39 +0200 Subject: [PATCH 41/66] C++: Parse MEMBER in Q_PROPERTY() MEMBER was added in Qt5. Task-number: QTCREATORBUG-10068 Change-Id: Ic6c15a0e5ee8981ab98e4c12fc1521dc281b731f Reviewed-by: Erik Verbruggen --- src/libs/3rdparty/cplusplus/Bind.cpp | 2 + src/libs/3rdparty/cplusplus/Parser.cpp | 25 +++++++------ .../3rdparty/cplusplus/QtContextKeywords.cpp | 15 +++++++- .../3rdparty/cplusplus/QtContextKeywords.h | 3 +- src/libs/3rdparty/cplusplus/Symbols.h | 25 +++++++------ tests/auto/cplusplus/ast/tst_ast.cpp | 37 +++++++++++++++++++ 6 files changed, 82 insertions(+), 25 deletions(-) diff --git a/src/libs/3rdparty/cplusplus/Bind.cpp b/src/libs/3rdparty/cplusplus/Bind.cpp index 0defcc0a1f6..eb34bba3968 100644 --- a/src/libs/3rdparty/cplusplus/Bind.cpp +++ b/src/libs/3rdparty/cplusplus/Bind.cpp @@ -2002,6 +2002,8 @@ bool Bind::visit(QtPropertyDeclarationAST *ast) flags |= QtPropertyDeclaration::ReadFunction; } else if (name == "WRITE") { flags |= QtPropertyDeclaration::WriteFunction; + } else if (name == "MEMBER") { + flags |= QtPropertyDeclaration::MemberVariable; } else if (name == "RESET") { flags |= QtPropertyDeclaration::ResetFunction; } else if (name == "NOTIFY") { diff --git a/src/libs/3rdparty/cplusplus/Parser.cpp b/src/libs/3rdparty/cplusplus/Parser.cpp index b67920266fe..bf798038543 100644 --- a/src/libs/3rdparty/cplusplus/Parser.cpp +++ b/src/libs/3rdparty/cplusplus/Parser.cpp @@ -2138,16 +2138,17 @@ bool Parser::parseAccessDeclaration(DeclarationAST *&node) /* Q_PROPERTY(type name - READ getFunction - [WRITE setFunction] - [RESET resetFunction] - [NOTIFY notifySignal] - [DESIGNABLE bool] - [SCRIPTABLE bool] - [STORED bool] - [USER bool] - [CONSTANT] - [FINAL]) + (READ getFunction [WRITE setFunction] + | MEMBER memberName [(READ getFunction | WRITE setFunction)]) + [RESET resetFunction] + [NOTIFY notifySignal] + [REVISION int] + [DESIGNABLE bool] + [SCRIPTABLE bool] + [STORED bool] + [USER bool] + [CONSTANT] + [FINAL]) Note that "type" appears to be any valid type. So these are valid: Q_PROPERTY(const char *zoo READ zoo) @@ -2155,7 +2156,8 @@ bool Parser::parseAccessDeclaration(DeclarationAST *&node) Furthermore, the only restriction on the order of the items in between the parenthesis is that the type is the first parameter and the name comes after - the type. + the type. Especially, there seems to be no restriction on the READ/WRITE/MEMBER + order. */ bool Parser::parseQtPropertyDeclaration(DeclarationAST *&node) { @@ -2201,6 +2203,7 @@ bool Parser::parseQtPropertyDeclaration(DeclarationAST *&node) switch (peekAtQtContextKeyword()) { case Token_READ: case Token_WRITE: + case Token_MEMBER: case Token_RESET: case Token_NOTIFY: case Token_REVISION: diff --git a/src/libs/3rdparty/cplusplus/QtContextKeywords.cpp b/src/libs/3rdparty/cplusplus/QtContextKeywords.cpp index cc4fdff1f1e..87403aed14f 100644 --- a/src/libs/3rdparty/cplusplus/QtContextKeywords.cpp +++ b/src/libs/3rdparty/cplusplus/QtContextKeywords.cpp @@ -63,7 +63,20 @@ static inline int classify5(const char *s) { } static inline int classify6(const char *s) { - if (s[0] == 'N') { + if (s[0] == 'M') { + if (s[1] == 'E') { + if (s[2] == 'M') { + if (s[3] == 'B') { + if (s[4] == 'E') { + if (s[5] == 'R') { + return Token_MEMBER; + } + } + } + } + } + } + else if (s[0] == 'N') { if (s[1] == 'O') { if (s[2] == 'T') { if (s[3] == 'I') { diff --git a/src/libs/3rdparty/cplusplus/QtContextKeywords.h b/src/libs/3rdparty/cplusplus/QtContextKeywords.h index b84ccf6ffce..a7a1f1c3f8d 100644 --- a/src/libs/3rdparty/cplusplus/QtContextKeywords.h +++ b/src/libs/3rdparty/cplusplus/QtContextKeywords.h @@ -18,7 +18,8 @@ enum { Token_CONSTANT, Token_DESIGNABLE, Token_SCRIPTABLE, - Token_REVISION + Token_REVISION, + Token_MEMBER }; CPLUSPLUS_EXPORT int classifyQtContextKeyword(const char *s, int n); diff --git a/src/libs/3rdparty/cplusplus/Symbols.h b/src/libs/3rdparty/cplusplus/Symbols.h index b6a711b8f87..6551dc7616b 100644 --- a/src/libs/3rdparty/cplusplus/Symbols.h +++ b/src/libs/3rdparty/cplusplus/Symbols.h @@ -556,18 +556,19 @@ public: NoFlags = 0, ReadFunction = 1 << 0, WriteFunction = 1 << 1, - ResetFunction = 1 << 2, - NotifyFunction = 1 << 3, - DesignableFlag = 1 << 4, - DesignableFunction = 1 << 5, - ScriptableFlag = 1 << 6, - ScriptableFunction = 1 << 7, - StoredFlag = 1 << 8, - StoredFunction = 1 << 9, - UserFlag = 1 << 10, - UserFunction = 1 << 11, - ConstantFlag = 1 << 12, - FinalFlag = 1 << 13 + MemberVariable = 1 << 2, + ResetFunction = 1 << 3, + NotifyFunction = 1 << 4, + DesignableFlag = 1 << 5, + DesignableFunction = 1 << 6, + ScriptableFlag = 1 << 7, + ScriptableFunction = 1 << 8, + StoredFlag = 1 << 9, + StoredFunction = 1 << 10, + UserFlag = 1 << 11, + UserFunction = 1 << 12, + ConstantFlag = 1 << 13, + FinalFlag = 1 << 14 }; public: diff --git a/tests/auto/cplusplus/ast/tst_ast.cpp b/tests/auto/cplusplus/ast/tst_ast.cpp index f97b47a82e7..329662892e8 100644 --- a/tests/auto/cplusplus/ast/tst_ast.cpp +++ b/tests/auto/cplusplus/ast/tst_ast.cpp @@ -152,6 +152,10 @@ private slots: void cpp_constructor_multiple_args(); void cpp_constructor_function_try_catch(); + // Q_PROPERTY + void cpp_qproperty(); + void cpp_qproperty_data(); + // objc++ void objc_simple_class(); void objc_attributes_followed_by_at_keyword(); @@ -1235,6 +1239,39 @@ void tst_AST::cpp_constructor_function_try_catch() QVERIFY(funDecl->parameter_declaration_clause->parameter_declaration_list != 0); } +void tst_AST::cpp_qproperty() +{ + QFETCH(QByteArray, source); + QVERIFY(!source.isEmpty()); + + const QByteArray sourceWithinClass = "class C { " + source + " };"; + QSharedPointer unit(parseDeclaration(sourceWithinClass, false, true)); + QVERIFY(unit->ast()); + + QCOMPARE(diag.errorCount, 0); +} + +void tst_AST::cpp_qproperty_data() +{ + QTest::addColumn("source"); + + QTest::newRow("read-final") + << QByteArray("Q_PROPERTY(bool focus READ hasFocus FINAL)"); + QTest::newRow("read-write-final") + << QByteArray("Q_PROPERTY(bool focus READ hasFocus WRITE setFocus FINAL)"); + QTest::newRow("member-final") + << QByteArray("Q_PROPERTY(bool focus MEMBER m_focus FINAL)"); + QTest::newRow("member-read-final") + << QByteArray("Q_PROPERTY(bool focus MEMBER m_focus READ m_focus FINAL)"); + QTest::newRow("member-read-write-final") + << QByteArray("Q_PROPERTY(bool focus MEMBER m_focus READ hasFocus WRITE setFocus FINAL)"); + + QTest::newRow("all") + << QByteArray("Q_PROPERTY(bool focus MEMBER m_focus READ hasFocus WRITE setFocus" + " RESET resetFocus NOTIFY focusChanged REVISION 1 DESIGNABLE true" + " SCRIPTABLE true STORED true USER true CONSTANT FINAL)"); +} + void tst_AST::objc_simple_class() { QSharedPointer unit(parseDeclaration("\n" From 37edb06c1ea834caf781d690f7f2bd88436612f1 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Tue, 8 Oct 2013 14:44:29 +0200 Subject: [PATCH 42/66] Android Manifest Editor: Fix various issues around min/target sdk level Change-Id: I9b9239055301296b572e0c36c40f179b0e98c67d Reviewed-by: Eskil Abrahamsen Blomfeldt --- .../android/androidmanifesteditorwidget.cpp | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/plugins/android/androidmanifesteditorwidget.cpp b/src/plugins/android/androidmanifesteditorwidget.cpp index a7a8af0531c..1bcb334c547 100644 --- a/src/plugins/android/androidmanifesteditorwidget.cpp +++ b/src/plugins/android/androidmanifesteditorwidget.cpp @@ -504,6 +504,9 @@ void AndroidManifestEditorWidget::resizeEvent(QResizeEvent *event) bool AndroidManifestEditorWidget::open(QString *errorString, const QString &fileName, const QString &realFileName) { bool result = PlainTextEditorWidget::open(errorString, fileName, realFileName); + + updateSdkVersions(); + if (!result) return result; @@ -521,7 +524,6 @@ bool AndroidManifestEditorWidget::open(QString *errorString, const QString &file } // some error occured updateInfoBar(error, errorLine, errorColumn); - updateSdkVersions(); setActivePage(Source); return true; @@ -697,7 +699,8 @@ void AndroidManifestEditorWidget::updateInfoBar() void AndroidManifestEditorWidget::updateSdkVersions() { const QString docPath(static_cast(editor()->document())->filePath()); - QPair apiLevels = AndroidManager::apiLevelRange(androidProject(docPath)->activeTarget()); + Project *project = androidProject(docPath); + QPair apiLevels = AndroidManager::apiLevelRange(project ? project->activeTarget() : 0); for (int i = apiLevels.first; i < apiLevels.second + 1; ++i) m_androidMinSdkVersion->addItem(tr("API %1: %2") .arg(i) @@ -865,6 +868,16 @@ void setUsesSdk(QDomDocument &doc, QDomElement &manifest, int minimumSdk, int ta } } +int extractVersion(const QString &string) +{ + if (!string.startsWith(QLatin1String("API"))) + return 0; + int index = string.indexOf(QLatin1Char(':')); + if (index == -1) + return 0; + return string.midRef(4, index - 4).toInt(); +} + void AndroidManifestEditorWidget::syncToEditor() { QDomDocument doc; @@ -879,8 +892,8 @@ void AndroidManifestEditorWidget::syncToEditor() manifest.setAttribute(QLatin1String("android:versionCode"), m_versionCode->value()); manifest.setAttribute(QLatin1String("android:versionName"), m_versionNameLinedit->text()); - setUsesSdk(doc, manifest, m_androidMinSdkVersion->currentText().toInt(), - m_androidTargetSdkVersion->currentText().toInt()); + setUsesSdk(doc, manifest, extractVersion(m_androidMinSdkVersion->currentText()), + extractVersion(m_androidTargetSdkVersion->currentText())); setAndroidAppLibName(doc, manifest.firstChildElement(QLatin1String("application")) .firstChildElement(QLatin1String("activity")), From b24c094efdbd48d9368b7b2c5bf12d7146412d25 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 16:14:01 +0200 Subject: [PATCH 43/66] QmlDesigner.PropertyEditor: Adding toolTip property to Label Change-Id: Id76fa747abaae30336a4c0e2fa2c6f5279553f15 Reviewed-by: Thomas Hartmann --- .../propertyEditorQmlSources/HelperWidgets/Label.qml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Label.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Label.qml index 1a80cbd38ba..7da1bac7ef2 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Label.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Label.qml @@ -34,6 +34,8 @@ import QtQuick.Layouts 1.0 Controls.Label { id: label + property string toolTip: "" + width: parent.width < 300 ? 80 : Math.min(140, parent.width - 220) color: "#eee" elide: Text.ElideRight From c70d5029346912e288bd2c2c6e6a9d664445da12 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 16:13:39 +0200 Subject: [PATCH 44/66] QmlDesigner.PropertyEditor: Adding FlipableSpecifics Change-Id: I9b036c229d1d0b721d8b08b561edb8e074715ac3 Reviewed-by: Thomas Hartmann --- .../QtQuick/FlipableSpecifics.qml | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlipableSpecifics.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlipableSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlipableSpecifics.qml new file mode 100644 index 00000000000..90f2c84fc4e --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlipableSpecifics.qml @@ -0,0 +1,43 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Flipable") + } +} From 1b59d8e2ce03337db4645677c30a43a3564d6d2d Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 16:13:26 +0200 Subject: [PATCH 45/66] QmlDesigner.PropertyEditor: Adding MouseAreaSpecifics Change-Id: I1bbab5f662788644e7190b0880e434c51a380eeb Reviewed-by: Thomas Hartmann --- .../QtQuick/MouseAreaSpecifics.qml | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/MouseAreaSpecifics.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/MouseAreaSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/MouseAreaSpecifics.qml new file mode 100644 index 00000000000..153c2cf49ed --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/MouseAreaSpecifics.qml @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Mouse Area") + + SectionLayout { + Label { + text: qsTr("Enabled") + toolTip: qsTr("This property holds whether the item accepts mouse events.") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.enabled + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Hover Enabled") + toolTip: qsTr("This property holds whether hover events are handled.") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.hoverEnabled + } + + ExpandingSpacer { + } + } + } + } +} From e0783214809a35a7abe99b0e8fd0eb7e2d621299 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Wed, 9 Oct 2013 16:22:56 +0200 Subject: [PATCH 46/66] Qt4RunConfiguration: Call correct base class in overloaded function Even though it makes no difference today. Change-Id: Ice31667f997526dfecdc6ec096ea61f3d8d481f1 Reviewed-by: Daniel Teske --- .../qt4projectmanager/qt-desktop/qt4runconfiguration.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp index 1db0e0d0298..3e215d1a858 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp @@ -438,7 +438,7 @@ bool Qt4RunConfiguration::fromMap(const QVariantMap &map) m_parseSuccess = static_cast(target()->project())->validParse(m_proFilePath); m_parseInProgress = static_cast(target()->project())->parseInProgress(m_proFilePath); - return RunConfiguration::fromMap(map); + return LocalApplicationRunConfiguration::fromMap(map); } QString Qt4RunConfiguration::executable() const From 0a43f097de0629d6c751492588fb42d3f273cab6 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Wed, 9 Oct 2013 16:24:25 +0200 Subject: [PATCH 47/66] Android: Handle cases where the project is unparsed. Change-Id: If1757fff8ff458610dae8cbfcf561154c7d56753 Reviewed-by: Daniel Teske --- src/plugins/android/androiddeployqtstep.cpp | 4 ++++ src/plugins/android/androidmanager.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index ea5d6eeac00..96d4ecb3d29 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -167,6 +167,10 @@ bool AndroidDeployQtStep::init() emit addOutput(tr("Found old android folder in source directory. Qt 5.2 does not use that folder by default."), ErrorOutput); m_targetArch = AndroidManager::targetArch(target()); + if (m_targetArch.isEmpty()) { + emit addOutput(tr("No Android arch set by the .pro file."), ErrorOutput); + return false; + } m_deviceAPILevel = AndroidManager::minimumSDK(target()); AndroidDeviceInfo info = AndroidConfigurations::instance().showDeviceDialog(project(), m_deviceAPILevel, m_targetArch); if (info.serialNumber.isEmpty()) // aborted diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index e87e972e840..92e604db051 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -1195,6 +1195,8 @@ QString AndroidManager::libraryPrefix() void AndroidManager::cleanLibsOnDevice(ProjectExplorer::Target *target) { const QString targetArch = AndroidManager::targetArch(target); + if (targetArch.isEmpty()) + return; int deviceAPILevel = AndroidManager::minimumSDK(target); AndroidDeviceInfo info = AndroidConfigurations::instance().showDeviceDialog(target->project(), deviceAPILevel, targetArch); if (info.serialNumber.isEmpty()) // aborted @@ -1223,6 +1225,8 @@ void AndroidManager::cleanLibsOnDevice(ProjectExplorer::Target *target) void AndroidManager::installQASIPackage(ProjectExplorer::Target *target, const QString &packagePath) { const QString targetArch = AndroidManager::targetArch(target); + if (targetArch.isEmpty()) + return; int deviceAPILevel = AndroidManager::minimumSDK(target); AndroidDeviceInfo info = AndroidConfigurations::instance().showDeviceDialog(target->project(), deviceAPILevel, targetArch); if (info.serialNumber.isEmpty()) // aborted From a97dd8aba6039f3d295adee1fd2fa34334a395d7 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Wed, 9 Oct 2013 16:25:57 +0200 Subject: [PATCH 48/66] AndroidRunConfiguration: Take .pro file parsing into account Disable the runconfiguration if the project could not be parsed. Change-Id: I979315b5e38fd1d8674da68289e021e014070c54 Reviewed-by: Daniel Teske --- .../android/androidrunconfiguration.cpp | 61 +++++++++++++++++++ src/plugins/android/androidrunconfiguration.h | 10 +++ src/plugins/android/androidrunfactories.cpp | 2 +- 3 files changed, 72 insertions(+), 1 deletion(-) diff --git a/src/plugins/android/androidrunconfiguration.cpp b/src/plugins/android/androidrunconfiguration.cpp index d84bce54b8f..a7d433b0af6 100644 --- a/src/plugins/android/androidrunconfiguration.cpp +++ b/src/plugins/android/androidrunconfiguration.cpp @@ -37,10 +37,17 @@ #include #include #include +#include +#include #include +namespace { +const char PRO_FILE_KEY[] = "Qt4ProjectManager.Qt4RunConfiguration.ProFile"; +} + using namespace ProjectExplorer; +using Qt4ProjectManager::Qt4Project; namespace Android { namespace Internal { @@ -49,12 +56,17 @@ AndroidRunConfiguration::AndroidRunConfiguration(Target *parent, Core::Id id, co : RunConfiguration(parent, id) , m_proFilePath(path) { + Qt4Project *project = static_cast(parent->project()); + m_parseSuccess = project->validParse(m_proFilePath); + m_parseInProgress = project->parseInProgress(m_proFilePath); init(); } AndroidRunConfiguration::AndroidRunConfiguration(Target *parent, AndroidRunConfiguration *source) : RunConfiguration(parent, source) , m_proFilePath(source->m_proFilePath) + , m_parseSuccess(source->m_parseSuccess) + , m_parseInProgress(source->m_parseInProgress) { init(); } @@ -62,6 +74,55 @@ AndroidRunConfiguration::AndroidRunConfiguration(Target *parent, AndroidRunConfi void AndroidRunConfiguration::init() { setDefaultDisplayName(defaultDisplayName()); + connect(target()->project(), SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)), + this, SLOT(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool))); +} + +bool AndroidRunConfiguration::fromMap(const QVariantMap &map) +{ + const QDir projectDir = QDir(target()->project()->projectDirectory()); + m_proFilePath = QDir::cleanPath(projectDir.filePath(map.value(QLatin1String(PRO_FILE_KEY)).toString())); + m_parseSuccess = static_cast(target()->project())->validParse(m_proFilePath); + m_parseInProgress = static_cast(target()->project())->parseInProgress(m_proFilePath); + + return RunConfiguration::fromMap(map); +} + +QVariantMap AndroidRunConfiguration::toMap() const +{ + const QDir projectDir = QDir(target()->project()->projectDirectory()); + QVariantMap map(RunConfiguration::toMap()); + map.insert(QLatin1String(PRO_FILE_KEY), projectDir.relativeFilePath(m_proFilePath)); + return map; +} + +bool AndroidRunConfiguration::isEnabled() const +{ + return m_parseSuccess && !m_parseInProgress; +} + +QString AndroidRunConfiguration::disabledReason() const +{ + if (m_parseInProgress) + return tr("The .pro file '%1' is currently being parsed.") + .arg(QFileInfo(m_proFilePath).fileName()); + + if (!m_parseSuccess) + return static_cast(target()->project())->disabledReasonForRunConfiguration(m_proFilePath); + return QString(); +} + +void AndroidRunConfiguration::proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress) +{ + if (m_proFilePath != pro->path()) + return; + + bool enabled = isEnabled(); + QString reason = disabledReason(); + m_parseSuccess = success; + m_parseInProgress = parseInProgress; + if (enabled != isEnabled() || reason != disabledReason()) + emit enabledChanged(); } QWidget *AndroidRunConfiguration::createConfigurationWidget() diff --git a/src/plugins/android/androidrunconfiguration.h b/src/plugins/android/androidrunconfiguration.h index 9e0fd50cd7c..7290b84d7bd 100644 --- a/src/plugins/android/androidrunconfiguration.h +++ b/src/plugins/android/androidrunconfiguration.h @@ -35,6 +35,8 @@ #include +namespace Qt4ProjectManager { class Qt4ProFileNode; } + namespace Android { namespace Internal { @@ -59,14 +61,22 @@ public: const QString remoteChannel() const; const QString dumperLib() const; + bool isEnabled() const; + QString disabledReason() const; protected: AndroidRunConfiguration(ProjectExplorer::Target *parent, AndroidRunConfiguration *source); QString defaultDisplayName(); + bool fromMap(const QVariantMap &map); + QVariantMap toMap() const; +private slots: + void proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress); private: void init(); QString m_proFilePath; + bool m_parseSuccess; + bool m_parseInProgress; }; } // namespace Internal diff --git a/src/plugins/android/androidrunfactories.cpp b/src/plugins/android/androidrunfactories.cpp index a76656c33a3..493380b7090 100644 --- a/src/plugins/android/androidrunfactories.cpp +++ b/src/plugins/android/androidrunfactories.cpp @@ -94,7 +94,7 @@ QList AndroidRunConfigurationFactory::availableCreationIds(Target *par const Core::Id base = Core::Id(ANDROID_RC_ID_PREFIX); foreach (Qt4ProFileNode *node, nodes) if (node->projectType() == ApplicationTemplate || node->projectType() == LibraryTemplate) - ids << base.withSuffix(node->targetInformation().target); + ids << base.withSuffix(node->path()); return ids; } From 713e4dd5e3ea2d04dcfd530d1bcb393a6c98f8db Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Wed, 9 Oct 2013 17:09:49 +0200 Subject: [PATCH 49/66] Revert "Pass ShortcutOverride events to base class in BaseTextEditorWidget." This reverts commit 36552d17eab5d8b6d1b2729807ee74bfa4517779 because it broke Ctrl+v among others. Change-Id: I1c1eecdc9c3e003e96b9c836cd638ead9a3b444d Reviewed-by: Eike Ziller --- src/plugins/texteditor/basetexteditor.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 70d41ff3a78..06d6e6401e0 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -2061,12 +2061,19 @@ bool BaseTextEditorWidget::event(QEvent *e) #else d->m_contentsChanged = false; #endif - if (e->type() == QEvent::ShortcutOverride - && static_cast(e)->key() == Qt::Key_Escape - && d->m_snippetOverlay->isVisible()) { - e->accept(); + switch (e->type()) { + case QEvent::ShortcutOverride: + if (static_cast(e)->key() == Qt::Key_Escape && d->m_snippetOverlay->isVisible()) { + e->accept(); + return true; + } + e->ignore(); // we are a really nice citizen return true; + break; + default: + break; } + return QPlainTextEdit::event(e); } From cf69783c0ff0fbe59f6d5bb11348abc0ee28a334 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Wed, 9 Oct 2013 17:16:01 +0200 Subject: [PATCH 50/66] Android: Restrict deployment factories to targets with the right qt Change-Id: I753023550f76b8b1b56fbdcd5176bcfa855e66bc Reviewed-by: Daniel Teske --- src/plugins/android/androiddeployqtstep.cpp | 3 +++ src/plugins/android/androiddeploystepfactory.cpp | 3 +++ src/plugins/android/androidpackagecreationfactory.cpp | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index 96d4ecb3d29..edb8bd5ce8b 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -79,6 +79,9 @@ QList AndroidDeployQtStepFactory::availableCreationIds(ProjectExplorer return QList(); if (parent->contains(AndroidDeployQtStep::Id)) return QList(); + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(parent->target()->kit()); + if (!qtVersion || qtVersion->qtVersion() < QtSupport::QtVersionNumber(5, 2, 0)) + return QList(); return QList() << AndroidDeployQtStep::Id; } diff --git a/src/plugins/android/androiddeploystepfactory.cpp b/src/plugins/android/androiddeploystepfactory.cpp index 07e879b86b1..b0f6a263f64 100644 --- a/src/plugins/android/androiddeploystepfactory.cpp +++ b/src/plugins/android/androiddeploystepfactory.cpp @@ -58,6 +58,9 @@ QList AndroidDeployStepFactory::availableCreationIds(BuildStepList *pa return QList(); if (parent->contains(AndroidDeployStep::Id)) return QList(); + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(parent->target()->kit()); + if (qtVersion && qtVersion->qtVersion() >= QtSupport::QtVersionNumber(5, 2, 0)) + return QList(); return QList() << AndroidDeployStep::Id; } diff --git a/src/plugins/android/androidpackagecreationfactory.cpp b/src/plugins/android/androidpackagecreationfactory.cpp index 2bc7e7460fa..6d19e081aab 100644 --- a/src/plugins/android/androidpackagecreationfactory.cpp +++ b/src/plugins/android/androidpackagecreationfactory.cpp @@ -36,6 +36,8 @@ #include #include +#include + using namespace ProjectExplorer; namespace Android { @@ -54,6 +56,9 @@ QList AndroidPackageCreationFactory::availableCreationIds(BuildStepLis return QList(); if (parent->contains(AndroidPackageCreationStep::CreatePackageId)) return QList(); + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(parent->target()->kit()); + if (qtVersion && qtVersion->qtVersion() >= QtSupport::QtVersionNumber(5, 2, 0)) + return QList(); return QList() << AndroidPackageCreationStep::CreatePackageId; } From e902945b7e279da0de50b84668c53e8d7bcb82d7 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 9 Oct 2013 16:37:42 +0200 Subject: [PATCH 51/66] Android: fix UI text capitalization and punctuation Fix typos and style issues. Change-Id: I8d1bbccd55e7558e7f8a8bedbab95f4bb8a8478f Reviewed-by: Daniel Teske --- src/plugins/android/androiddeployqtstep.cpp | 6 +++--- src/plugins/android/androiddeployqtwidget.ui | 12 +++++------ src/plugins/android/androidmanager.cpp | 12 +++++------ .../android/androidmanifesteditorwidget.cpp | 20 +++++++++---------- src/plugins/android/androidpotentialkit.cpp | 2 +- .../android/createandroidmanifestwizard.cpp | 10 +++++----- 6 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index edb8bd5ce8b..56ca22ec9f4 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -167,7 +167,7 @@ void AndroidDeployQtStep::ctor() bool AndroidDeployQtStep::init() { if (AndroidManager::checkForQt51Files(project()->projectDirectory())) - emit addOutput(tr("Found old android folder in source directory. Qt 5.2 does not use that folder by default."), ErrorOutput); + emit addOutput(tr("Found old Android folder in source directory. Qt 5.2 does not use that folder by default."), ErrorOutput); m_targetArch = AndroidManager::targetArch(target()); if (m_targetArch.isEmpty()) { @@ -518,13 +518,13 @@ QAbstractItemModel *AndroidDeployQtStep::keystoreCertificates() keytoolProc.start(AndroidConfigurations::instance().keytoolPath().toString(), params); if (!keytoolProc.waitForStarted() || !keytoolProc.waitForFinished()) { QMessageBox::critical(0, tr("Error"), - tr("Failed to run keytool")); + tr("Failed to run keytool.")); return 0; } if (keytoolProc.exitCode()) { QMessageBox::critical(0, tr("Error"), - tr("Invalid password")); + tr("Invalid password.")); m_keystorePasswd.clear(); } rawCerts = QString::fromLatin1(keytoolProc.readAllStandardOutput()); diff --git a/src/plugins/android/androiddeployqtwidget.ui b/src/plugins/android/androiddeployqtwidget.ui index 37d0d4e4b56..599ae3f9bc8 100644 --- a/src/plugins/android/androiddeployqtwidget.ui +++ b/src/plugins/android/androiddeployqtwidget.ui @@ -174,7 +174,7 @@ - Verbose Output + Verbose output @@ -210,7 +210,7 @@ - Android deploy Qt Input File: + Android deploy Qt input file: @@ -309,7 +309,7 @@ The APK will not be usable on any other device. - Additional libraries + Additional Libraries @@ -317,7 +317,7 @@ The APK will not be usable on any other device. - List of extra libraries to include in Android package and load on start-up. + List of extra libraries to include in Android package and load on startup. QAbstractItemView::ExtendedSelection @@ -335,7 +335,7 @@ The APK will not be usable on any other device. - Select a library to include in package + Select library to include in package. Add @@ -348,7 +348,7 @@ The APK will not be usable on any other device. - Remove currently selected library from list + Remove currently selected library from list. Remove diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index 92e604db051..29208b19ffd 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -633,7 +633,7 @@ bool AndroidManager::createAndroidTemplatesIfNecessary(ProjectExplorer::Target * } if (forceUpdate) - QMessageBox::warning(0, tr("Warning"), tr("Android files have been updated automatically")); + QMessageBox::warning(0, tr("Warning"), tr("Android files have been updated automatically.")); return true; } @@ -936,7 +936,7 @@ bool AndroidManager::saveLibsXml(ProjectExplorer::Target *target, QDomDocument & void AndroidManager::raiseError(const QString &reason) { - QMessageBox::critical(0, tr("Error creating Android templates"), reason); + QMessageBox::critical(0, tr("Error creating Android templates."), reason); } QString AndroidManager::loadLocal(ProjectExplorer::Target *target, int apiLevel, ItemType item, const QString &attribute) @@ -1046,7 +1046,7 @@ bool AndroidManager::openXmlFile(QDomDocument &doc, const Utils::FileName &fileN return false; if (!doc.setContent(f.readAll())) { - raiseError(tr("Can't parse '%1'").arg(fileName.toUserOutput())); + raiseError(tr("Cannot parse '%1'.").arg(fileName.toUserOutput())); return false; } return true; @@ -1059,7 +1059,7 @@ bool AndroidManager::saveXmlFile(ProjectExplorer::Target *target, QDomDocument & QFile f(fileName.toString()); if (!f.open(QIODevice::WriteOnly)) { - raiseError(tr("Can't open '%1'").arg(fileName.toUserOutput())); + raiseError(tr("Cannot open '%1'.").arg(fileName.toUserOutput())); return false; } return f.write(doc.toByteArray(4)) >= 0; @@ -1208,7 +1208,7 @@ void AndroidManager::cleanLibsOnDevice(ProjectExplorer::Target *target) if (info.type == AndroidDeviceInfo::Emulator) { deviceSerialNumber = AndroidConfigurations::instance().startAVD(deviceSerialNumber, deviceAPILevel, targetArch); if (deviceSerialNumber.isEmpty()) - Core::MessageManager::write(tr("Starting android virtual device failed.")); + Core::MessageManager::write(tr("Starting Android virtual device failed.")); } QProcess *process = new QProcess(); @@ -1237,7 +1237,7 @@ void AndroidManager::installQASIPackage(ProjectExplorer::Target *target, const Q if (info.type == AndroidDeviceInfo::Emulator) { deviceSerialNumber = AndroidConfigurations::instance().startAVD(deviceSerialNumber, deviceAPILevel, targetArch); if (deviceSerialNumber.isEmpty()) - Core::MessageManager::write(tr("Starting android virtual device failed.")); + Core::MessageManager::write(tr("Starting Android virtual device failed.")); } QProcess *process = new QProcess(); diff --git a/src/plugins/android/androidmanifesteditorwidget.cpp b/src/plugins/android/androidmanifesteditorwidget.cpp index 1bcb334c547..66b3f9c6da9 100644 --- a/src/plugins/android/androidmanifesteditorwidget.cpp +++ b/src/plugins/android/androidmanifesteditorwidget.cpp @@ -156,7 +156,7 @@ void AndroidManifestEditorWidget::initializePage() m_packageNameLineEdit = new QLineEdit(packageGroupBox); m_packageNameLineEdit->setToolTip(tr( "

Please choose a valid package name " - "for your application (e.g. \"org.example.myapplication\").

" + "for your application (for example, \"org.example.myapplication\").

" "

Packages are usually defined using a hierarchical naming pattern, " "with levels in the hierarchy separated by periods (.) (pronounced \"dot\").

" "

In general, a package name begins with the top level domain name" @@ -203,8 +203,8 @@ void AndroidManifestEditorWidget::initializePage() m_androidTargetSdkVersion = new QComboBox(packageGroupBox); m_androidTargetSdkVersion->setToolTip( - tr("Sets the target SDK; set this to the highest tested version." - "This disables compatibility behavior of the system for your application.")); + tr("Sets the target SDK. Set this to the highest tested version." + "This disables compatibility behavior of the system for your application.")); m_androidTargetSdkVersion->addItem(tr("Not set"), 0); formLayout->addRow(tr("Target SDK:"), m_androidTargetSdkVersion); @@ -245,7 +245,7 @@ void AndroidManifestEditorWidget::initializePage() m_lIconButton = new QToolButton(applicationGroupBox); m_lIconButton->setMinimumSize(QSize(48, 48)); m_lIconButton->setMaximumSize(QSize(48, 48)); - m_lIconButton->setToolTip(tr("Select low dpi icon")); + m_lIconButton->setToolTip(tr("Select low DPI icon.")); iconLayout->addWidget(m_lIconButton); iconLayout->addItem(new QSpacerItem(28, 20, QSizePolicy::Expanding, QSizePolicy::Minimum)); @@ -253,7 +253,7 @@ void AndroidManifestEditorWidget::initializePage() m_mIconButton = new QToolButton(applicationGroupBox); m_mIconButton->setMinimumSize(QSize(48, 48)); m_mIconButton->setMaximumSize(QSize(48, 48)); - m_mIconButton->setToolTip(tr("Select medium dpi icon")); + m_mIconButton->setToolTip(tr("Select medium DPI icon.")); iconLayout->addWidget(m_mIconButton); iconLayout->addItem(new QSpacerItem(28, 20, QSizePolicy::Expanding, QSizePolicy::Minimum)); @@ -261,7 +261,7 @@ void AndroidManifestEditorWidget::initializePage() m_hIconButton = new QToolButton(applicationGroupBox); m_hIconButton->setMinimumSize(QSize(48, 48)); m_hIconButton->setMaximumSize(QSize(48, 48)); - m_hIconButton->setToolTip(tr("Select high dpi icon")); + m_hIconButton->setToolTip(tr("Select high DPI icon.")); iconLayout->addWidget(m_hIconButton); formLayout->addRow(tr("Application icon:"), iconLayout); @@ -653,13 +653,13 @@ bool AndroidManifestEditorWidget::checkDocument(QDomDocument doc, QString *error { QDomElement manifest = doc.documentElement(); if (manifest.tagName() != QLatin1String("manifest")) { - *errorMessage = tr("The structure of the android manifest file is corrupt. Expected a top level 'manifest' node."); + *errorMessage = tr("The structure of the Android manifest file is corrupted. Expected a top level 'manifest' node."); *errorLine = -1; *errorColumn = -1; return false; } else if (manifest.firstChildElement(QLatin1String("application")).firstChildElement(QLatin1String("activity")).isNull()) { // missing either application or activity element - *errorMessage = tr("The structure of the Android manifest file is corrupt. Expected an 'application' and 'activity' sub node."); + *errorMessage = tr("The structure of the Android manifest file is corrupted. Expected an 'application' and 'activity' sub node."); *errorLine = -1; *errorColumn = -1; return false; @@ -719,9 +719,9 @@ void AndroidManifestEditorWidget::updateInfoBar(const QString &errorMessage, int Core::InfoBar *infoBar = editorDocument()->infoBar(); QString text; if (line < 0) - text = tr("Could not parse file: '%1'").arg(errorMessage); + text = tr("Could not parse file: '%1'.").arg(errorMessage); else - text = tr("%2: Could not parse file: '%1'").arg(errorMessage).arg(line); + text = tr("%2: Could not parse file: '%1'.").arg(errorMessage).arg(line); Core::InfoBarEntry infoBarEntry(infoBarId, text); infoBarEntry.setCustomButtonInfo(tr("Goto error"), this, SLOT(gotoError())); infoBar->removeInfo(infoBarId); diff --git a/src/plugins/android/androidpotentialkit.cpp b/src/plugins/android/androidpotentialkit.cpp index d55a23db6ae..9083d018f4f 100644 --- a/src/plugins/android/androidpotentialkit.cpp +++ b/src/plugins/android/androidpotentialkit.cpp @@ -83,7 +83,7 @@ AndroidPotentialKitWidget::AndroidPotentialKitWidget(QWidget *parent) QGridLayout *layout = new QGridLayout(mainWidget); layout->setMargin(0); QLabel *label = new QLabel; - label->setText(tr("Creator needs additional settings to enable Android support." + label->setText(tr("Qt Creator needs additional settings to enable Android support." "You can configure those settings in the Options dialog.")); label->setWordWrap(true); layout->addWidget(label, 0, 0, 1, 2); diff --git a/src/plugins/android/createandroidmanifestwizard.cpp b/src/plugins/android/createandroidmanifestwizard.cpp index e3d0b318f26..1ecdadc22e7 100644 --- a/src/plugins/android/createandroidmanifestwizard.cpp +++ b/src/plugins/android/createandroidmanifestwizard.cpp @@ -69,7 +69,7 @@ ChooseProFilePage::ChooseProFilePage(CreateAndroidManifestWizard *wizard, const QFormLayout *fl = new QFormLayout(this); QLabel *label = new QLabel(this); label->setWordWrap(true); - label->setText(tr("Select the .pro file for which you want to create a AndroidManifest.xml file")); + label->setText(tr("Select the .pro file for which you want to create an AndroidManifest.xml file.")); fl->addRow(label); m_comboBox = new QComboBox(this); @@ -108,13 +108,13 @@ ChooseDirectoryPage::ChooseDirectoryPage(CreateAndroidManifestWizard *wizard) fl->addRow(tr("Android package source directory:"), m_androidPackageSourceDir); if (androidPackageDir.isEmpty()) { - label->setText(tr("Select the android package source directory. " - "The files in the android package source directory are copied to the builddirectory's " - "android directory and overwrite the default files.")); + label->setText(tr("Select the Android package source directory. " + "The files in the Android package source directory are copied to the build directory's " + "Android directory and the default files are overwritten.")); m_androidPackageSourceDir->setPath(QFileInfo(m_wizard->node()->path()).absolutePath().append(QLatin1String("/android"))); } else { - label->setText(tr("The android manifest file will be created in the ANDROID_PACKAGE_SOURCE_DIR set in the .pro file.")); + label->setText(tr("The Android manifest file will be created in the ANDROID_PACKAGE_SOURCE_DIR set in the .pro file.")); m_androidPackageSourceDir->setPath(androidPackageDir); m_androidPackageSourceDir->setReadOnly(true); } From b60bbbaec993071691c2cf9d3b6aaf2bd94b4668 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 9 Oct 2013 16:44:28 +0200 Subject: [PATCH 52/66] Project explorer: fix UI text capitalization and punctuation Fix "Qt Creator" product name. Fix minor language issues. Change-Id: I403e10e7de60b7cf3433efa2cce5647383995da7 Reviewed-by: Daniel Teske --- .../devicesupport/desktopprocesssignaloperation.cpp | 4 ++-- src/plugins/projectexplorer/importwidget.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp b/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp index 861cb23b715..c2d736b3f51 100644 --- a/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp +++ b/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp @@ -174,8 +174,8 @@ GDB 32bit | Api | Api | N/A | Win32 ? QLatin1String("/win32interrupt.exe") : QLatin1String("/win64interrupt.exe"); if (!QFile::exists(executable)) { - appendMsgCannotInterrupt(pid, tr( "%1 does not exist. If you have built QtCreator " - "on your own ,checkout http://qt.gitorious.org/" + appendMsgCannotInterrupt(pid, tr( "%1 does not exist. If you built Qt Creator " + "yourself, check out http://qt.gitorious.org/" "qt-creator/binary-artifacts."). arg(QDir::toNativeSeparators(executable))); } diff --git a/src/plugins/projectexplorer/importwidget.cpp b/src/plugins/projectexplorer/importwidget.cpp index 01d0cb38802..e7e631f6cf1 100644 --- a/src/plugins/projectexplorer/importwidget.cpp +++ b/src/plugins/projectexplorer/importwidget.cpp @@ -48,7 +48,7 @@ ImportWidget::ImportWidget(QWidget *parent) : vboxLayout->setContentsMargins(0, 0, 0, 0); Utils::DetailsWidget *detailsWidget = new Utils::DetailsWidget(this); detailsWidget->setUseCheckBox(false); - detailsWidget->setSummaryText(tr("Import Build from...")); + detailsWidget->setSummaryText(tr("Import Build From...")); detailsWidget->setSummaryFontBold(true); // m_detailsWidget->setIcon(); // FIXME: Set icon! vboxLayout->addWidget(detailsWidget); From f1da03c73b9918c1aa736914bedb88e6706d53ce Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 2 Oct 2013 17:52:45 +0200 Subject: [PATCH 53/66] qbs project files: Make use of new qbsSearchPaths property. Change-Id: I396d970fafea1fd0b4c4d73883796662a1d0064b Reviewed-by: Joerg Bornemann --- qbs/{ => imports/QtcFunctions}/functions.js | 0 {src/libs => qbs/imports}/QtcLibrary.qbs | 7 ++++--- {src/plugins => qbs/imports}/QtcPlugin.qbs | 8 +++++--- {src/tools => qbs/imports}/QtcTool.qbs | 0 qbs/{ => modules}/pluginspec/pluginspec.qbs | 0 qtcreator.qbs | 2 +- src/libs/aggregation/aggregation.qbs | 2 +- src/libs/cplusplus/cplusplus.qbs | 2 +- src/libs/extensionsystem/extensionsystem.qbs | 2 +- src/libs/glsl/glsl.qbs | 2 +- src/libs/languageutils/languageutils.qbs | 2 +- src/libs/qmldebug/qmldebug.qbs | 2 +- src/libs/qmleditorwidgets/qmleditorwidgets.qbs | 2 +- src/libs/qmljs/qmljs.qbs | 2 +- src/libs/ssh/ssh.qbs | 2 +- src/libs/utils/process_ctrlc_stub.qbs | 2 +- src/libs/utils/process_stub.qbs | 2 +- src/libs/utils/utils.qbs | 2 +- src/libs/zeroconf/zeroconf.qbs | 2 +- src/plugins/analyzerbase/analyzerbase.qbs | 2 +- src/plugins/android/android.qbs | 2 +- .../autotoolsprojectmanager/autotoolsprojectmanager.qbs | 2 +- src/plugins/baremetal/baremetal.qbs | 2 +- src/plugins/bazaar/bazaar.qbs | 2 +- src/plugins/bineditor/bineditor.qbs | 2 +- src/plugins/bookmarks/bookmarks.qbs | 2 +- src/plugins/classview/classview.qbs | 2 +- src/plugins/clearcase/clearcase.qbs | 2 +- src/plugins/cmakeprojectmanager/cmakeprojectmanager.qbs | 2 +- src/plugins/coreplugin/coreplugin.qbs | 2 +- src/plugins/cpaster/cpaster.qbs | 2 +- src/plugins/cpaster/frontend/frontend.qbs | 2 +- src/plugins/cppeditor/cppeditor.qbs | 2 +- src/plugins/cpptools/cpptools.qbs | 2 +- src/plugins/cvs/cvs.qbs | 2 +- src/plugins/debugger/debugger.qbs | 2 +- src/plugins/debugger/ptracepreload.qbs | 2 +- src/plugins/designer/designer.qbs | 2 +- src/plugins/diffeditor/diffeditor.qbs | 2 +- src/plugins/fakevim/fakevim.qbs | 2 +- src/plugins/find/find.qbs | 2 +- .../genericprojectmanager/genericprojectmanager.qbs | 2 +- src/plugins/git/git.qbs | 2 +- src/plugins/glsleditor/glsleditor.qbs | 2 +- src/plugins/helloworld/helloworld.qbs | 2 +- src/plugins/help/help.qbs | 2 +- src/plugins/imageviewer/imageviewer.qbs | 2 +- src/plugins/ios/ios.qbs | 2 +- src/plugins/locator/locator.qbs | 2 +- src/plugins/macros/macros.qbs | 2 +- src/plugins/madde/madde.qbs | 2 +- src/plugins/mercurial/mercurial.qbs | 2 +- src/plugins/perforce/perforce.qbs | 2 +- src/plugins/projectexplorer/projectexplorer.qbs | 4 ++-- src/plugins/pythoneditor/pythoneditor.qbs | 2 +- src/plugins/qbsprojectmanager/qbsprojectmanager.qbs | 2 +- src/plugins/qmldesigner/qmldesigner.qbs | 2 +- src/plugins/qmljseditor/qmljseditor.qbs | 2 +- src/plugins/qmljstools/qmljstools.qbs | 2 +- src/plugins/qmlprofiler/qmlprofiler.qbs | 2 +- src/plugins/qmlprojectmanager/qmlprojectmanager.qbs | 2 +- src/plugins/qnx/qnx.qbs | 2 +- src/plugins/qt4projectmanager/qt4projectmanager.qbs | 2 +- src/plugins/qtsupport/qtsupport.qbs | 4 ++-- src/plugins/remotelinux/remotelinux.qbs | 2 +- src/plugins/resourceeditor/resourceeditor.qbs | 2 +- src/plugins/subversion/subversion.qbs | 2 +- src/plugins/tasklist/tasklist.qbs | 2 +- src/plugins/texteditor/texteditor.qbs | 2 +- src/plugins/todo/todo.qbs | 2 +- src/plugins/updateinfo/updateinfo.qbs | 2 +- src/plugins/valgrind/valgrind.qbs | 2 +- src/plugins/vcsbase/vcsbase.qbs | 2 +- src/plugins/welcome/welcome.qbs | 2 +- src/tools/3rdparty/iossim/iossim.qbs | 2 +- src/tools/iostool/iostool.qbs | 2 +- src/tools/qtcdebugger/qtcdebugger.qbs | 2 +- src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs | 2 +- src/tools/qtpromaker/qtpromaker.qbs | 2 +- src/tools/sdktool/sdktool.qbs | 2 +- tests/auto/extensionsystem/plugin.qbs | 2 +- 81 files changed, 87 insertions(+), 84 deletions(-) rename qbs/{ => imports/QtcFunctions}/functions.js (100%) rename {src/libs => qbs/imports}/QtcLibrary.qbs (85%) rename {src/plugins => qbs/imports}/QtcPlugin.qbs (90%) rename {src/tools => qbs/imports}/QtcTool.qbs (100%) rename qbs/{ => modules}/pluginspec/pluginspec.qbs (100%) diff --git a/qbs/functions.js b/qbs/imports/QtcFunctions/functions.js similarity index 100% rename from qbs/functions.js rename to qbs/imports/QtcFunctions/functions.js diff --git a/src/libs/QtcLibrary.qbs b/qbs/imports/QtcLibrary.qbs similarity index 85% rename from src/libs/QtcLibrary.qbs rename to qbs/imports/QtcLibrary.qbs index 03ab3374d3a..f7272066fbf 100644 --- a/src/libs/QtcLibrary.qbs +++ b/qbs/imports/QtcLibrary.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../../qbs/functions.js" as QtcFunctions +import QtcFunctions DynamicLibrary { Depends { name: "cpp" } @@ -22,11 +22,12 @@ DynamicLibrary { cpp.rpaths: qbs.targetOS.contains("osx") ? ["@loader_path/..", "@executable_path/.."] : ["$ORIGIN", "$ORIGIN/.."] - cpp.includePaths: [path] + property string libIncludeBase: ".." // #include + cpp.includePaths: [libIncludeBase] Export { Depends { name: "cpp" } - cpp.includePaths: [path] + cpp.includePaths: [libIncludeBase] } Group { diff --git a/src/plugins/QtcPlugin.qbs b/qbs/imports/QtcPlugin.qbs similarity index 90% rename from src/plugins/QtcPlugin.qbs rename to qbs/imports/QtcPlugin.qbs index fd78073cde4..624d8bab7ee 100644 --- a/src/plugins/QtcPlugin.qbs +++ b/qbs/imports/QtcPlugin.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 import qbs.FileInfo -import "../../qbs/functions.js" as QtcFunctions +import QtcFunctions Product { type: ["dynamiclibrary", "pluginSpec"] @@ -33,7 +33,9 @@ Product { else if (qbs.buildVariant == "debug" && qbs.toolchain.contains("msvc")) return ["/INCREMENTAL:NO"] // Speed up startup time when debugging with cdb } - cpp.includePaths: [path] + + property string pluginIncludeBase: ".." // #include + cpp.includePaths: [pluginIncludeBase] Group { name: "PluginSpec" @@ -55,6 +57,6 @@ Product { Export { Depends { name: "ExtensionSystem" } Depends { name: "cpp" } - cpp.includePaths: [path] + cpp.includePaths: [pluginIncludeBase] } } diff --git a/src/tools/QtcTool.qbs b/qbs/imports/QtcTool.qbs similarity index 100% rename from src/tools/QtcTool.qbs rename to qbs/imports/QtcTool.qbs diff --git a/qbs/pluginspec/pluginspec.qbs b/qbs/modules/pluginspec/pluginspec.qbs similarity index 100% rename from qbs/pluginspec/pluginspec.qbs rename to qbs/modules/pluginspec/pluginspec.qbs diff --git a/qtcreator.qbs b/qtcreator.qbs index 31fe1d3b843..e9d6ac1c3e2 100644 --- a/qtcreator.qbs +++ b/qtcreator.qbs @@ -52,7 +52,7 @@ Project { "QT_NO_CAST_TO_ASCII", "QT_NO_CAST_FROM_ASCII" ].concat(testsEnabled ? ["WITH_TESTS"] : []) - moduleSearchPaths: "qbs" + qbsSearchPaths: "qbs" references: [ "src/src.qbs", diff --git a/src/libs/aggregation/aggregation.qbs b/src/libs/aggregation/aggregation.qbs index 2c299fc4326..6c0e6e8d6b5 100644 --- a/src/libs/aggregation/aggregation.qbs +++ b/src/libs/aggregation/aggregation.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "Aggregation" diff --git a/src/libs/cplusplus/cplusplus.qbs b/src/libs/cplusplus/cplusplus.qbs index 9df7f897079..2331804a55f 100644 --- a/src/libs/cplusplus/cplusplus.qbs +++ b/src/libs/cplusplus/cplusplus.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "CPlusPlus" diff --git a/src/libs/extensionsystem/extensionsystem.qbs b/src/libs/extensionsystem/extensionsystem.qbs index 1762f978f21..9b654b0b036 100644 --- a/src/libs/extensionsystem/extensionsystem.qbs +++ b/src/libs/extensionsystem/extensionsystem.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "ExtensionSystem" diff --git a/src/libs/glsl/glsl.qbs b/src/libs/glsl/glsl.qbs index 7c8c0304e1d..4a9d6e41657 100644 --- a/src/libs/glsl/glsl.qbs +++ b/src/libs/glsl/glsl.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "GLSL" diff --git a/src/libs/languageutils/languageutils.qbs b/src/libs/languageutils/languageutils.qbs index 3f4a53e93c3..12326d2df86 100644 --- a/src/libs/languageutils/languageutils.qbs +++ b/src/libs/languageutils/languageutils.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "LanguageUtils" diff --git a/src/libs/qmldebug/qmldebug.qbs b/src/libs/qmldebug/qmldebug.qbs index 601c0e4c5d1..7181013a80e 100644 --- a/src/libs/qmldebug/qmldebug.qbs +++ b/src/libs/qmldebug/qmldebug.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "QmlDebug" diff --git a/src/libs/qmleditorwidgets/qmleditorwidgets.qbs b/src/libs/qmleditorwidgets/qmleditorwidgets.qbs index 7bcb914945e..9c60cfb1828 100644 --- a/src/libs/qmleditorwidgets/qmleditorwidgets.qbs +++ b/src/libs/qmleditorwidgets/qmleditorwidgets.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "QmlEditorWidgets" diff --git a/src/libs/qmljs/qmljs.qbs b/src/libs/qmljs/qmljs.qbs index 8df00b7ed4c..ae5334c4bbc 100644 --- a/src/libs/qmljs/qmljs.qbs +++ b/src/libs/qmljs/qmljs.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "QmlJS" diff --git a/src/libs/ssh/ssh.qbs b/src/libs/ssh/ssh.qbs index 2b1949927ef..c8a0c5ef919 100644 --- a/src/libs/ssh/ssh.qbs +++ b/src/libs/ssh/ssh.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "QtcSsh" diff --git a/src/libs/utils/process_ctrlc_stub.qbs b/src/libs/utils/process_ctrlc_stub.qbs index 141b04e9f3b..8f0a3f763c0 100644 --- a/src/libs/utils/process_ctrlc_stub.qbs +++ b/src/libs/utils/process_ctrlc_stub.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../../tools/QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "qtcreator_ctrlc_stub" diff --git a/src/libs/utils/process_stub.qbs b/src/libs/utils/process_stub.qbs index f0da7336b20..6f1a06310c1 100644 --- a/src/libs/utils/process_stub.qbs +++ b/src/libs/utils/process_stub.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../../tools/QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "qtcreator_process_stub" diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs index f3b058936f1..c40db11a3eb 100644 --- a/src/libs/utils/utils.qbs +++ b/src/libs/utils/utils.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "Utils" diff --git a/src/libs/zeroconf/zeroconf.qbs b/src/libs/zeroconf/zeroconf.qbs index 02cc7f85623..d16f576b1b2 100644 --- a/src/libs/zeroconf/zeroconf.qbs +++ b/src/libs/zeroconf/zeroconf.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "zeroconf" diff --git a/src/plugins/analyzerbase/analyzerbase.qbs b/src/plugins/analyzerbase/analyzerbase.qbs index 47216b5aa4c..53f872c148e 100644 --- a/src/plugins/analyzerbase/analyzerbase.qbs +++ b/src/plugins/analyzerbase/analyzerbase.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "AnalyzerBase" diff --git a/src/plugins/android/android.qbs b/src/plugins/android/android.qbs index 4f539107187..5a6a3e5980c 100644 --- a/src/plugins/android/android.qbs +++ b/src/plugins/android/android.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Android" diff --git a/src/plugins/autotoolsprojectmanager/autotoolsprojectmanager.qbs b/src/plugins/autotoolsprojectmanager/autotoolsprojectmanager.qbs index 4bfba21bbfa..5b699a03e7c 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsprojectmanager.qbs +++ b/src/plugins/autotoolsprojectmanager/autotoolsprojectmanager.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "AutotoolsProjectManager" diff --git a/src/plugins/baremetal/baremetal.qbs b/src/plugins/baremetal/baremetal.qbs index d72987025c6..7f8287e2e55 100644 --- a/src/plugins/baremetal/baremetal.qbs +++ b/src/plugins/baremetal/baremetal.qbs @@ -1,6 +1,6 @@ import qbs -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "BareMetal" diff --git a/src/plugins/bazaar/bazaar.qbs b/src/plugins/bazaar/bazaar.qbs index c885f49be17..8a5791e6be3 100644 --- a/src/plugins/bazaar/bazaar.qbs +++ b/src/plugins/bazaar/bazaar.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Bazaar" diff --git a/src/plugins/bineditor/bineditor.qbs b/src/plugins/bineditor/bineditor.qbs index f9384838e3a..f18676ea80e 100644 --- a/src/plugins/bineditor/bineditor.qbs +++ b/src/plugins/bineditor/bineditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "BinEditor" diff --git a/src/plugins/bookmarks/bookmarks.qbs b/src/plugins/bookmarks/bookmarks.qbs index 4601f5a50d8..4264356767f 100644 --- a/src/plugins/bookmarks/bookmarks.qbs +++ b/src/plugins/bookmarks/bookmarks.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Bookmarks" diff --git a/src/plugins/classview/classview.qbs b/src/plugins/classview/classview.qbs index be6ab5b42f2..a3699245d02 100644 --- a/src/plugins/classview/classview.qbs +++ b/src/plugins/classview/classview.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "ClassView" diff --git a/src/plugins/clearcase/clearcase.qbs b/src/plugins/clearcase/clearcase.qbs index dcd94ac24cb..72edcc26b88 100644 --- a/src/plugins/clearcase/clearcase.qbs +++ b/src/plugins/clearcase/clearcase.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "ClearCase" diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.qbs b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.qbs index 1734c6cc94e..42eafccae7a 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.qbs +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "CMakeProjectManager" diff --git a/src/plugins/coreplugin/coreplugin.qbs b/src/plugins/coreplugin/coreplugin.qbs index 89efd1e2483..b7b6c93b38e 100644 --- a/src/plugins/coreplugin/coreplugin.qbs +++ b/src/plugins/coreplugin/coreplugin.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Core" diff --git a/src/plugins/cpaster/cpaster.qbs b/src/plugins/cpaster/cpaster.qbs index 01815bb7c5c..623d48fce32 100644 --- a/src/plugins/cpaster/cpaster.qbs +++ b/src/plugins/cpaster/cpaster.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "CodePaster" diff --git a/src/plugins/cpaster/frontend/frontend.qbs b/src/plugins/cpaster/frontend/frontend.qbs index 70be0e9f00c..ba7d8a378be 100644 --- a/src/plugins/cpaster/frontend/frontend.qbs +++ b/src/plugins/cpaster/frontend/frontend.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../../../tools/QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "cpaster" diff --git a/src/plugins/cppeditor/cppeditor.qbs b/src/plugins/cppeditor/cppeditor.qbs index 91d52d4d70f..7ca766b74cf 100644 --- a/src/plugins/cppeditor/cppeditor.qbs +++ b/src/plugins/cppeditor/cppeditor.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 import qbs.FileInfo -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "CppEditor" diff --git a/src/plugins/cpptools/cpptools.qbs b/src/plugins/cpptools/cpptools.qbs index 16584b457f0..cd8e6f228ae 100644 --- a/src/plugins/cpptools/cpptools.qbs +++ b/src/plugins/cpptools/cpptools.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 import qbs.FileInfo -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "CppTools" diff --git a/src/plugins/cvs/cvs.qbs b/src/plugins/cvs/cvs.qbs index d89725f59d8..8d858a7b245 100644 --- a/src/plugins/cvs/cvs.qbs +++ b/src/plugins/cvs/cvs.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "CVS" diff --git a/src/plugins/debugger/debugger.qbs b/src/plugins/debugger/debugger.qbs index 5666ea467f4..9032e846608 100644 --- a/src/plugins/debugger/debugger.qbs +++ b/src/plugins/debugger/debugger.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Debugger" diff --git a/src/plugins/debugger/ptracepreload.qbs b/src/plugins/debugger/ptracepreload.qbs index d92fd2a8bb8..0f31a6c55d4 100644 --- a/src/plugins/debugger/ptracepreload.qbs +++ b/src/plugins/debugger/ptracepreload.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../../libs/QtcLibrary.qbs" as QtcLibrary +import QtcLibrary QtcLibrary { name: "ptracepreload" diff --git a/src/plugins/designer/designer.qbs b/src/plugins/designer/designer.qbs index 68b211c7452..1c19d80a3a7 100644 --- a/src/plugins/designer/designer.qbs +++ b/src/plugins/designer/designer.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 import qbs.FileInfo -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Designer" diff --git a/src/plugins/diffeditor/diffeditor.qbs b/src/plugins/diffeditor/diffeditor.qbs index f9e47339630..69ef2c01dca 100644 --- a/src/plugins/diffeditor/diffeditor.qbs +++ b/src/plugins/diffeditor/diffeditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "DiffEditor" diff --git a/src/plugins/fakevim/fakevim.qbs b/src/plugins/fakevim/fakevim.qbs index fc9dfcbe7d4..4864bc0b501 100644 --- a/src/plugins/fakevim/fakevim.qbs +++ b/src/plugins/fakevim/fakevim.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "FakeVim" diff --git a/src/plugins/find/find.qbs b/src/plugins/find/find.qbs index d9f653ae43a..0b4a08986bc 100644 --- a/src/plugins/find/find.qbs +++ b/src/plugins/find/find.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Find" diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.qbs b/src/plugins/genericprojectmanager/genericprojectmanager.qbs index 8a47a547cbc..70386b06ca5 100644 --- a/src/plugins/genericprojectmanager/genericprojectmanager.qbs +++ b/src/plugins/genericprojectmanager/genericprojectmanager.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "GenericProjectManager" diff --git a/src/plugins/git/git.qbs b/src/plugins/git/git.qbs index 154a08b5554..dd4e2e02055 100644 --- a/src/plugins/git/git.qbs +++ b/src/plugins/git/git.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Git" diff --git a/src/plugins/glsleditor/glsleditor.qbs b/src/plugins/glsleditor/glsleditor.qbs index d99571f1b5d..e9c97944643 100644 --- a/src/plugins/glsleditor/glsleditor.qbs +++ b/src/plugins/glsleditor/glsleditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "GLSLEditor" diff --git a/src/plugins/helloworld/helloworld.qbs b/src/plugins/helloworld/helloworld.qbs index e5546e282aa..a2c677c8be8 100644 --- a/src/plugins/helloworld/helloworld.qbs +++ b/src/plugins/helloworld/helloworld.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "HelloWorld" diff --git a/src/plugins/help/help.qbs b/src/plugins/help/help.qbs index e408ac47654..b4c8b62f377 100644 --- a/src/plugins/help/help.qbs +++ b/src/plugins/help/help.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Help" diff --git a/src/plugins/imageviewer/imageviewer.qbs b/src/plugins/imageviewer/imageviewer.qbs index 2f189e15634..2004340e93b 100644 --- a/src/plugins/imageviewer/imageviewer.qbs +++ b/src/plugins/imageviewer/imageviewer.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "ImageViewer" diff --git a/src/plugins/ios/ios.qbs b/src/plugins/ios/ios.qbs index 5c1ad996c27..4a2019a3860 100644 --- a/src/plugins/ios/ios.qbs +++ b/src/plugins/ios/ios.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Ios" diff --git a/src/plugins/locator/locator.qbs b/src/plugins/locator/locator.qbs index b4ff3f5923f..0e06a3b4341 100644 --- a/src/plugins/locator/locator.qbs +++ b/src/plugins/locator/locator.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 import qbs.FileInfo -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Locator" diff --git a/src/plugins/macros/macros.qbs b/src/plugins/macros/macros.qbs index 6dcc377abe8..b9e90960a06 100644 --- a/src/plugins/macros/macros.qbs +++ b/src/plugins/macros/macros.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Macros" diff --git a/src/plugins/madde/madde.qbs b/src/plugins/madde/madde.qbs index 8cbfefaa8d1..1761381b424 100644 --- a/src/plugins/madde/madde.qbs +++ b/src/plugins/madde/madde.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Madde" diff --git a/src/plugins/mercurial/mercurial.qbs b/src/plugins/mercurial/mercurial.qbs index 734ba4b0b89..80611787e7e 100644 --- a/src/plugins/mercurial/mercurial.qbs +++ b/src/plugins/mercurial/mercurial.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Mercurial" diff --git a/src/plugins/perforce/perforce.qbs b/src/plugins/perforce/perforce.qbs index ee31c909594..9bc46fcee5c 100644 --- a/src/plugins/perforce/perforce.qbs +++ b/src/plugins/perforce/perforce.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Perforce" diff --git a/src/plugins/projectexplorer/projectexplorer.qbs b/src/plugins/projectexplorer/projectexplorer.qbs index a8311c4a16b..c27b0980e86 100644 --- a/src/plugins/projectexplorer/projectexplorer.qbs +++ b/src/plugins/projectexplorer/projectexplorer.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 -import "../../../qbs/functions.js" as QtcFunctions -import "../QtcPlugin.qbs" as QtcPlugin +import QtcFunctions +import QtcPlugin QtcPlugin { name: "ProjectExplorer" diff --git a/src/plugins/pythoneditor/pythoneditor.qbs b/src/plugins/pythoneditor/pythoneditor.qbs index 3b0a4899a65..0881ff31fc6 100644 --- a/src/plugins/pythoneditor/pythoneditor.qbs +++ b/src/plugins/pythoneditor/pythoneditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "PythonEditor" diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs index ad64844f78a..adb89690872 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 import qbs.FileInfo -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "QbsProjectManager" diff --git a/src/plugins/qmldesigner/qmldesigner.qbs b/src/plugins/qmldesigner/qmldesigner.qbs index f24e75bd3d8..a8f794fc004 100644 --- a/src/plugins/qmldesigner/qmldesigner.qbs +++ b/src/plugins/qmldesigner/qmldesigner.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "QmlDesigner" diff --git a/src/plugins/qmljseditor/qmljseditor.qbs b/src/plugins/qmljseditor/qmljseditor.qbs index 5f460b0ce1c..7284d2a3422 100644 --- a/src/plugins/qmljseditor/qmljseditor.qbs +++ b/src/plugins/qmljseditor/qmljseditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "QmlJSEditor" diff --git a/src/plugins/qmljstools/qmljstools.qbs b/src/plugins/qmljstools/qmljstools.qbs index 3a2b06a33eb..629cef4a153 100644 --- a/src/plugins/qmljstools/qmljstools.qbs +++ b/src/plugins/qmljstools/qmljstools.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "QmlJSTools" diff --git a/src/plugins/qmlprofiler/qmlprofiler.qbs b/src/plugins/qmlprofiler/qmlprofiler.qbs index 2670654cf6e..a9d7554019f 100644 --- a/src/plugins/qmlprofiler/qmlprofiler.qbs +++ b/src/plugins/qmlprofiler/qmlprofiler.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "QmlProfiler" diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs b/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs index dbb26a55f57..94652ae91ff 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs +++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "QmlProjectManager" diff --git a/src/plugins/qnx/qnx.qbs b/src/plugins/qnx/qnx.qbs index 5fdba888845..1a9af37cefb 100644 --- a/src/plugins/qnx/qnx.qbs +++ b/src/plugins/qnx/qnx.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Qnx" diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.qbs b/src/plugins/qt4projectmanager/qt4projectmanager.qbs index 4206b20bf6c..16964a03620 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.qbs +++ b/src/plugins/qt4projectmanager/qt4projectmanager.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Qt4ProjectManager" diff --git a/src/plugins/qtsupport/qtsupport.qbs b/src/plugins/qtsupport/qtsupport.qbs index d6142bdcfc2..7c03c0052b7 100644 --- a/src/plugins/qtsupport/qtsupport.qbs +++ b/src/plugins/qtsupport/qtsupport.qbs @@ -1,7 +1,7 @@ import qbs.base 1.0 -import "../../../qbs/functions.js" as QtcFunctions -import "../QtcPlugin.qbs" as QtcPlugin +import QtcFunctions +import QtcPlugin QtcPlugin { name: "QtSupport" diff --git a/src/plugins/remotelinux/remotelinux.qbs b/src/plugins/remotelinux/remotelinux.qbs index 536e9bfcc84..87d3984733e 100644 --- a/src/plugins/remotelinux/remotelinux.qbs +++ b/src/plugins/remotelinux/remotelinux.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "RemoteLinux" diff --git a/src/plugins/resourceeditor/resourceeditor.qbs b/src/plugins/resourceeditor/resourceeditor.qbs index 479b4b65529..bac08834000 100644 --- a/src/plugins/resourceeditor/resourceeditor.qbs +++ b/src/plugins/resourceeditor/resourceeditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "ResourceEditor" diff --git a/src/plugins/subversion/subversion.qbs b/src/plugins/subversion/subversion.qbs index ed5571e47c0..d213ce0f776 100644 --- a/src/plugins/subversion/subversion.qbs +++ b/src/plugins/subversion/subversion.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Subversion" diff --git a/src/plugins/tasklist/tasklist.qbs b/src/plugins/tasklist/tasklist.qbs index f6b68ed869d..8374262e75b 100644 --- a/src/plugins/tasklist/tasklist.qbs +++ b/src/plugins/tasklist/tasklist.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "TaskList" diff --git a/src/plugins/texteditor/texteditor.qbs b/src/plugins/texteditor/texteditor.qbs index cf5e4b68e62..5f0505c6eb6 100644 --- a/src/plugins/texteditor/texteditor.qbs +++ b/src/plugins/texteditor/texteditor.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "TextEditor" diff --git a/src/plugins/todo/todo.qbs b/src/plugins/todo/todo.qbs index ee29a494626..d316c081c61 100644 --- a/src/plugins/todo/todo.qbs +++ b/src/plugins/todo/todo.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Todo" diff --git a/src/plugins/updateinfo/updateinfo.qbs b/src/plugins/updateinfo/updateinfo.qbs index a2e15ec828f..ad9f0ede4bb 100644 --- a/src/plugins/updateinfo/updateinfo.qbs +++ b/src/plugins/updateinfo/updateinfo.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "UpdateInfo" diff --git a/src/plugins/valgrind/valgrind.qbs b/src/plugins/valgrind/valgrind.qbs index a0e758ab499..7011248e45d 100644 --- a/src/plugins/valgrind/valgrind.qbs +++ b/src/plugins/valgrind/valgrind.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Valgrind" diff --git a/src/plugins/vcsbase/vcsbase.qbs b/src/plugins/vcsbase/vcsbase.qbs index c901d3d9a18..ff0b5ce8e8b 100644 --- a/src/plugins/vcsbase/vcsbase.qbs +++ b/src/plugins/vcsbase/vcsbase.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "VcsBase" diff --git a/src/plugins/welcome/welcome.qbs b/src/plugins/welcome/welcome.qbs index 8cde310ec98..70fd6cc691f 100644 --- a/src/plugins/welcome/welcome.qbs +++ b/src/plugins/welcome/welcome.qbs @@ -1,6 +1,6 @@ import qbs.base 1.0 -import "../QtcPlugin.qbs" as QtcPlugin +import QtcPlugin QtcPlugin { name: "Welcome" diff --git a/src/tools/3rdparty/iossim/iossim.qbs b/src/tools/3rdparty/iossim/iossim.qbs index 5d77d9f1891..eab1a9969d6 100644 --- a/src/tools/3rdparty/iossim/iossim.qbs +++ b/src/tools/3rdparty/iossim/iossim.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../../QtcTool.qbs" as QtcTool +import QtcTool QtcTool { diff --git a/src/tools/iostool/iostool.qbs b/src/tools/iostool/iostool.qbs index d0ed9ff9d52..b893b61711c 100644 --- a/src/tools/iostool/iostool.qbs +++ b/src/tools/iostool/iostool.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "iostool" diff --git a/src/tools/qtcdebugger/qtcdebugger.qbs b/src/tools/qtcdebugger/qtcdebugger.qbs index 284ad71118e..1895eb917fe 100644 --- a/src/tools/qtcdebugger/qtcdebugger.qbs +++ b/src/tools/qtcdebugger/qtcdebugger.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "qtcdebugger" diff --git a/src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs b/src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs index 4b5a4910cc6..2bd9b70d383 100644 --- a/src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs +++ b/src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "qtcreator_crash_handler" diff --git a/src/tools/qtpromaker/qtpromaker.qbs b/src/tools/qtpromaker/qtpromaker.qbs index 7c441d8fec7..b23fb9f0ae7 100644 --- a/src/tools/qtpromaker/qtpromaker.qbs +++ b/src/tools/qtpromaker/qtpromaker.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "qtpromaker" diff --git a/src/tools/sdktool/sdktool.qbs b/src/tools/sdktool/sdktool.qbs index a8ea1aae1fb..019df95b872 100644 --- a/src/tools/sdktool/sdktool.qbs +++ b/src/tools/sdktool/sdktool.qbs @@ -1,5 +1,5 @@ import qbs.base 1.0 -import "../QtcTool.qbs" as QtcTool +import QtcTool QtcTool { name: "sdktool" diff --git a/tests/auto/extensionsystem/plugin.qbs b/tests/auto/extensionsystem/plugin.qbs index 652fa19fb43..829ed3a6de9 100644 --- a/tests/auto/extensionsystem/plugin.qbs +++ b/tests/auto/extensionsystem/plugin.qbs @@ -1,7 +1,7 @@ import qbs import qbs.FileInfo import "./copytransformer.qbs" as CopyTransformer -import "../../../qbs/functions.js" as QtcFunctions +import QtcFunctions DynamicLibrary { Depends { name: "Aggregation" } From 313b4373accf1f9a4c2648121a8970f22b50cb3c Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 18:14:09 +0200 Subject: [PATCH 54/66] QmlDesigner.PropertyEditor: adding FlickableSpecifics Change-Id: I62023cf60ced20378a63746677abf22dff3651c0 Reviewed-by: Thomas Hartmann --- .../HelperWidgets/FlickableSection.qml | 177 ++++++++++++++++++ .../HelperWidgets/qmldir | 1 + .../QtQuick/FlickableSpecifics.qml | 42 +++++ 3 files changed, 220 insertions(+) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FlickableSection.qml create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlickableSpecifics.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FlickableSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FlickableSection.qml new file mode 100644 index 00000000000..90aa27dff56 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/FlickableSection.qml @@ -0,0 +1,177 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Quick Controls module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Flickable") + + SectionLayout { + Label { + text: qsTr("Content size") + } + + SecondColumnLayout { + + Label { + text: "W" + width: 12 + } + + SpinBox { + backendValue: backendValues.contentWidth + minimumValue: 0 + maximumValue: 8000 + } + + Label { + text: "W" + width: 12 + } + + SpinBox { + backendValue: backendValues.contentHeight + minimumValue: 0 + maximumValue: 8000 + + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Flick direction") + } + + SecondColumnLayout { + ComboBox { + backendValue: backendValues.flickableDirection + model: ["AutoFlickDirection", "HorizontalFlick", "VerticalFlick", "HorizontalAndVerticalFlick"] + } + + ExpandingSpacer { + } + } + + Label { + text: qsTr("Behavior") + toolTip: qsTr("Bounds behavior") + } + + SecondColumnLayout { + ComboBox { + backendValue: backendValues.boundsBehavior + model: ["StopAtBounds", "DragOverBounds", "DragAndOvershootBounds"] + } + + ExpandingSpacer { + } + } + + Label { + text: qsTr("Behavior") + toolTip: qsTr("Bounds behavior") + } + + SecondColumnLayout { + ComboBox { + backendValue: backendValues.boundsBehavior + model: ["StopAtBounds", "DragOverBounds", "DragAndOvershootBounds"] + } + + ExpandingSpacer { + } + } + + Label { + text:qsTr("Interactive") + } + + SecondColumnLayout { + CheckBox { + backendValue: backendValues.interactive + } + + ExpandingSpacer { + } + } + + Label { + text: qsTr("Max. velocity") + toolTip: qsTr("Maximum flick velocity") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.maximumFlickVelocity + minimumValue: 0 + maximumValue: 8000 + decimals: 0 + } + + ExpandingSpacer { + } + } + + Label { + text: qsTr("Deceleration") + toolTip: qsTr("Flick deceleration") + } + + SecondColumnLayout { + SpinBox { + backendValue: backendValues.flickDeceleration + minimumValue: 0 + maximumValue: 8000 + decimals: 0 + } + + ExpandingSpacer { + } + } + + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/qmldir b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/qmldir index c58945acbb6..ec6e3d0a8fa 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/qmldir +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/qmldir @@ -29,3 +29,4 @@ AligmentHorizontalButtons 2.0 AligmentHorizontalButtons.qml AligmentVerticalButtons 2.0 AligmentVerticalButtons.qml StandardTextSection 2.0 StandardTextSection.qml FontSection 2.0 FontSection.qml +FlickableSection 2.0 FlickableSection.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlickableSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlickableSpecifics.qml new file mode 100644 index 00000000000..020c8d39a4a --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/FlickableSpecifics.qml @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + FlickableSection { + anchors.left: parent.left + anchors.right: parent.right + } +} From 1169672ea696c192381ceb47daa0d1efe6beabf4 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 18:20:48 +0200 Subject: [PATCH 55/66] QmlDesigner.PropertyEditor: adding GridViewSpecifics Change-Id: I93f64fed7341f463379dbb790e28f0f7c5d9d65b Reviewed-by: Thomas Hartmann --- .../QtQuick/GridViewSpecifics.qml | 281 ++++++++++++++++++ 1 file changed, 281 insertions(+) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridViewSpecifics.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridViewSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridViewSpecifics.qml new file mode 100644 index 00000000000..cf13bf93bdd --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridViewSpecifics.qml @@ -0,0 +1,281 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + FlickableSection { + anchors.left: parent.left + anchors.right: parent.right + } + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Grid View") + + SectionLayout { + + Label { + text: qsTr("Cache") + toolTip: qsTr("Cache buffer") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.cacheBuffer + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Cell Size") + } + + SecondColumnLayout { + + Label { + text: "W" + width: 12 + } + + SpinBox { + backendValue: backendValues.cellWidth + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + Label { + text: "H" + width: 12 + } + + SpinBox { + backendValue: backendValues.cellHeight + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + + Label { + text: qsTr("Flow") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "TopToBottom"] + backendValue: backendValues.flow + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Navigation wraps") + toolTip: qsTr("Determines whether the grid wraps key navigation.") + } + + SectionLayout { + CheckBox { + backendValue: backendValues.keyNavigationWraps + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Layout Direction") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "RightToLeft"] + backendValue: backendValues.layoutDirection + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Snap mode") + toolTip: qsTr("Determines how the view scrolling will settle following a drag or flick.") + } + + SecondColumnLayout { + ComboBox { + model: ["NoSnap", "SnapToRow", "SnapOneRow"] + backendValue: backendValues.snapMode + } + + ExpandingSpacer { + + } + } + + } + } + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("Grid View Highlight") + + SectionLayout { + + Label { + text: qsTr("Range") + toolTip: qsTr("Highlight range") + } + + SecondColumnLayout { + ComboBox { + model: ["NoHighlightRange", "ApplyRange", "StrictlyEnforceRange"] + backendValue: backendValues.highlightRangeMode + } + + ExpandingSpacer { + + } + } + + + Label { + text: qsTr("Move duration") + toolTip: qsTr("Move animation duration of the highlight delegate.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.highlightMoveDuration + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Move speed") + toolTip: qsTr("Move animation speed of the highlight delegate.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.highlightMoveSpeed + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Preferred begin") + toolTip: qsTr("Preferred highlight begin - must be smaller than Preferred end.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.preferredHighlightBegin + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Preferred end") + toolTip: qsTr("Preferred highlight end - must be larger than Preferred begin.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.preferredHighlightEnd + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Follows current") + toolTip: qsTr("Determines whether the highlight is managed by the view.") + } + + SectionLayout { + CheckBox { + backendValue: backendValues.highlightFollowsCurrentItem + } + + ExpandingSpacer { + + } + } + + } + } +} From b31fcf3354a97cd2673c3d08c58a4523536d0c6a Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 9 Oct 2013 18:21:00 +0200 Subject: [PATCH 56/66] QmlDesigner.PropertyEditor: adding GridViewSpecifics Change-Id: Ia7e48287f833953ae21323658d69ec174fa1d6b2 Reviewed-by: Thomas Hartmann --- .../QtQuick/ListViewSpecifics.qml | 282 ++++++++++++++++++ 1 file changed, 282 insertions(+) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ListViewSpecifics.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ListViewSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ListViewSpecifics.qml new file mode 100644 index 00000000000..c72364f0dfd --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ListViewSpecifics.qml @@ -0,0 +1,282 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +import QtQuick 2.1 +import HelperWidgets 2.0 +import QtQuick.Layouts 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + FlickableSection { + anchors.left: parent.left + anchors.right: parent.right + } + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("List View") + + SectionLayout { + + Label { + text: qsTr("Cache") + toolTip: qsTr("Cache buffer") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.cacheBuffer + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Navigation wraps") + toolTip: qsTr("Determines whether the grid wraps key navigation.") + } + + SectionLayout { + CheckBox { + backendValue: backendValues.keyNavigationWraps + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Orientation") + toolTip: qsTr("Orientation of the list.") + } + + SecondColumnLayout { + ComboBox { + model: ["Horizontal", "Vertical"] + backendValue: backendValues.orientation + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Layout Direction") + } + + SecondColumnLayout { + ComboBox { + model: ["LeftToRight", "RightToLeft"] + backendValue: backendValues.layoutDirection + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Snap mode") + toolTip: qsTr("Determines how the view scrolling will settle following a drag or flick.") + } + + SecondColumnLayout { + ComboBox { + model: ["NoSnap", "SnapToRow", "SnapOneRow"] + backendValue: backendValues.snapMode + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Spacing") + toolTip: qsTr("Spacing between items.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.spacing + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + } + } + + Section { + anchors.left: parent.left + anchors.right: parent.right + caption: qsTr("List View Highlight") + + SectionLayout { + + Label { + text: qsTr("Range") + toolTip: qsTr("Highlight range") + } + + SecondColumnLayout { + ComboBox { + model: ["NoHighlightRange", "ApplyRange", "StrictlyEnforceRange"] + backendValue: backendValues.highlightRangeMode + } + + ExpandingSpacer { + + } + } + + + Label { + text: qsTr("Move duration") + toolTip: qsTr("Move animation duration of the highlight delegate.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.highlightMoveDuration + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Move speed") + toolTip: qsTr("Move animation speed of the highlight delegate.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.highlightMoveSpeed + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Resize duration") + toolTip: qsTr("Resize animation duration of the highlight delegate.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.highlightResizeDuration + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Preferred begin") + toolTip: qsTr("Preferred highlight begin - must be smaller than Preferred end.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.preferredHighlightBegin + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Preferred end") + toolTip: qsTr("Preferred highlight end - must be larger than Preferred begin.") + } + + SectionLayout { + SpinBox { + backendValue: backendValues.preferredHighlightEnd + minimumValue: 0; + maximumValue: 1000; + decimals: 0 + } + + ExpandingSpacer { + + } + } + + Label { + text: qsTr("Follows current") + toolTip: qsTr("Determines whether the highlight is managed by the view.") + } + + SectionLayout { + CheckBox { + backendValue: backendValues.highlightFollowsCurrentItem + } + + ExpandingSpacer { + + } + } + + } + } +} From e530071d8d46c1190a1fc97b5ae64ef2b68fdd99 Mon Sep 17 00:00:00 2001 From: El Mehdi Fekari Date: Wed, 9 Oct 2013 15:22:12 +0200 Subject: [PATCH 57/66] Qnx: Remove BlackBerry Gui templates The BlackBerry Gui templates are only adding BlackBerry 10 style which can be done with a standard Qt Gui Application. Task-number: QTCREATORBUG-10242 Change-Id: Iba29088acc1720318f09138688dd4eae544338a4 Reviewed-by: Nicolas Arnaud-Cormos --- .../wizards/bb-guiapp/bar-descriptor.xml | 21 -------- .../templates/wizards/bb-guiapp/icon.png | Bin 10801 -> 0 bytes .../templates/wizards/bb-guiapp/main.cpp | 14 ----- .../wizards/bb-guiapp/mainwidget.cpp | 14 ----- .../templates/wizards/bb-guiapp/mainwidget.h | 22 -------- .../templates/wizards/bb-guiapp/mainwidget.ui | 31 ----------- .../templates/wizards/bb-guiapp/project.pro | 7 --- .../templates/wizards/bb-guiapp/wizard.xml | 48 ------------------ .../wizards/bb-qt5-guiapp/bar-descriptor.xml | 42 --------------- .../templates/wizards/bb-qt5-guiapp/icon.png | Bin 10801 -> 0 bytes .../templates/wizards/bb-qt5-guiapp/main.cpp | 15 ------ .../wizards/bb-qt5-guiapp/mainwidget.cpp | 14 ----- .../wizards/bb-qt5-guiapp/mainwidget.h | 22 -------- .../wizards/bb-qt5-guiapp/mainwidget.ui | 31 ----------- .../wizards/bb-qt5-guiapp/project.pro | 11 ---- .../wizards/bb-qt5-guiapp/wizard.xml | 48 ------------------ 16 files changed, 340 deletions(-) delete mode 100644 share/qtcreator/templates/wizards/bb-guiapp/bar-descriptor.xml delete mode 100644 share/qtcreator/templates/wizards/bb-guiapp/icon.png delete mode 100644 share/qtcreator/templates/wizards/bb-guiapp/main.cpp delete mode 100644 share/qtcreator/templates/wizards/bb-guiapp/mainwidget.cpp delete mode 100644 share/qtcreator/templates/wizards/bb-guiapp/mainwidget.h delete mode 100644 share/qtcreator/templates/wizards/bb-guiapp/mainwidget.ui delete mode 100644 share/qtcreator/templates/wizards/bb-guiapp/project.pro delete mode 100644 share/qtcreator/templates/wizards/bb-guiapp/wizard.xml delete mode 100644 share/qtcreator/templates/wizards/bb-qt5-guiapp/bar-descriptor.xml delete mode 100644 share/qtcreator/templates/wizards/bb-qt5-guiapp/icon.png delete mode 100644 share/qtcreator/templates/wizards/bb-qt5-guiapp/main.cpp delete mode 100644 share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.cpp delete mode 100644 share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.h delete mode 100644 share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.ui delete mode 100644 share/qtcreator/templates/wizards/bb-qt5-guiapp/project.pro delete mode 100644 share/qtcreator/templates/wizards/bb-qt5-guiapp/wizard.xml diff --git a/share/qtcreator/templates/wizards/bb-guiapp/bar-descriptor.xml b/share/qtcreator/templates/wizards/bb-guiapp/bar-descriptor.xml deleted file mode 100644 index 8ad05ef4562..00000000000 --- a/share/qtcreator/templates/wizards/bb-guiapp/bar-descriptor.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - com.example.%ProjectName% - %ProjectName% - 1.0.0 - DESCRIPTION - - - none - false - true - landscape - - - - - - - run_native - %ProjectName% - diff --git a/share/qtcreator/templates/wizards/bb-guiapp/icon.png b/share/qtcreator/templates/wizards/bb-guiapp/icon.png deleted file mode 100644 index 5260eb64d91d3650fb40908e11f39d4f1bc23bcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10801 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 -#include "mainwidget.h" - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - // Set default BB10 style. You can also use bb10dark style - a.setStyle(QLatin1String("bb10bright")); - - MainWidget w; - w.showMaximized(); - - return a.exec(); -} diff --git a/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.cpp b/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.cpp deleted file mode 100644 index 4c353088e41..00000000000 --- a/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "mainwidget.h" -#include "ui_mainwidget.h" - -MainWidget::MainWidget(QWidget *parent) : - QWidget(parent), - ui(new Ui::MainWidget) -{ - ui->setupUi(this); -} - -MainWidget::~MainWidget() -{ - delete ui; -} diff --git a/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.h b/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.h deleted file mode 100644 index bc6b7faf775..00000000000 --- a/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef MAINWIDGET_H -#define MAINWIDGET_H - -#include - -namespace Ui { -class MainWidget; -} - -class MainWidget : public QWidget -{ - Q_OBJECT - -public: - explicit MainWidget(QWidget *parent = 0); - ~MainWidget(); - -private: - Ui::MainWidget *ui; -}; - -#endif // MAINWIDGET_H diff --git a/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.ui b/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.ui deleted file mode 100644 index a3c38c7a8a4..00000000000 --- a/share/qtcreator/templates/wizards/bb-guiapp/mainwidget.ui +++ /dev/null @@ -1,31 +0,0 @@ - - - MainWidget - - - - 0 - 0 - 400 - 300 - - - - Form - - - - - - Hello World - - - Qt::AlignCenter - - - - - - - - diff --git a/share/qtcreator/templates/wizards/bb-guiapp/project.pro b/share/qtcreator/templates/wizards/bb-guiapp/project.pro deleted file mode 100644 index d4b4aedb639..00000000000 --- a/share/qtcreator/templates/wizards/bb-guiapp/project.pro +++ /dev/null @@ -1,7 +0,0 @@ -TEMPLATE = app - -SOURCES += main.cpp mainwidget.cpp -HEADERS += mainwidget.h -FORMS += mainwidget.ui - -OTHER_FILES += bar-descriptor.xml diff --git a/share/qtcreator/templates/wizards/bb-guiapp/wizard.xml b/share/qtcreator/templates/wizards/bb-guiapp/wizard.xml deleted file mode 100644 index 08fd91ea22b..00000000000 --- a/share/qtcreator/templates/wizards/bb-guiapp/wizard.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - icon.png - BlackBerry Qt Gui Application; - Creates a Qt Gui application for BlackBerry. - - - - - - - - - diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/bar-descriptor.xml b/share/qtcreator/templates/wizards/bb-qt5-guiapp/bar-descriptor.xml deleted file mode 100644 index b9825ddac99..00000000000 --- a/share/qtcreator/templates/wizards/bb-qt5-guiapp/bar-descriptor.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - com.example.%ProjectName% - %ProjectName% - 1.0.0 - DESCRIPTION - PUBLISHER - COPYRIGHT - - - none - false - true - landscape - - - - - - - -platform - qnx - - run_native - - %ProjectName% - - - lib - plugins - imports - - - diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/icon.png b/share/qtcreator/templates/wizards/bb-qt5-guiapp/icon.png deleted file mode 100644 index 5260eb64d91d3650fb40908e11f39d4f1bc23bcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10801 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 -#include "mainwidget.h" - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - // Set default BB10 style. You can also use bb10dark style - a.setStyle(QLatin1String("bb10bright")); - - MainWidget w; - w.showFullScreen(); - - - return a.exec(); -} diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.cpp b/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.cpp deleted file mode 100644 index 4c353088e41..00000000000 --- a/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "mainwidget.h" -#include "ui_mainwidget.h" - -MainWidget::MainWidget(QWidget *parent) : - QWidget(parent), - ui(new Ui::MainWidget) -{ - ui->setupUi(this); -} - -MainWidget::~MainWidget() -{ - delete ui; -} diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.h b/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.h deleted file mode 100644 index 9c17cff5fc6..00000000000 --- a/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef MAINWIDGET_H -#define MAINWIDGET_H - -#include - -namespace Ui { -class MainWidget; -} - -class MainWidget : public QWidget -{ - Q_OBJECT - -public: - explicit MainWidget(QWidget *parent = 0); - ~MainWidget(); - -private: - Ui::MainWidget *ui; -}; - -#endif // MAINWIDGET_H diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.ui b/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.ui deleted file mode 100644 index a3c38c7a8a4..00000000000 --- a/share/qtcreator/templates/wizards/bb-qt5-guiapp/mainwidget.ui +++ /dev/null @@ -1,31 +0,0 @@ - - - MainWidget - - - - 0 - 0 - 400 - 300 - - - - Form - - - - - - Hello World - - - Qt::AlignCenter - - - - - - - - diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/project.pro b/share/qtcreator/templates/wizards/bb-qt5-guiapp/project.pro deleted file mode 100644 index 88835eca2cb..00000000000 --- a/share/qtcreator/templates/wizards/bb-qt5-guiapp/project.pro +++ /dev/null @@ -1,11 +0,0 @@ -TEMPLATE = app - -QT += widgets - -SOURCES += main.cpp mainwidget.cpp -HEADERS += mainwidget.h -FORMS += mainwidget.ui - -OTHER_FILES += bar-descriptor.xml - - diff --git a/share/qtcreator/templates/wizards/bb-qt5-guiapp/wizard.xml b/share/qtcreator/templates/wizards/bb-qt5-guiapp/wizard.xml deleted file mode 100644 index 92f8d4bff5d..00000000000 --- a/share/qtcreator/templates/wizards/bb-qt5-guiapp/wizard.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - icon.png - BlackBerry Qt 5 GUI Application; - Creates an experimental Qt 5 GUI application for BlackBerry 10. You need to provide your own build of Qt 5 for BlackBerry 10 since Qt 5 is not provided in the current BlackBerry 10 NDK and is not included in DevAlpha devices. - - - - - - - - - From feadd0869a87578716bd086a79be1f3dffa5e38e Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 9 Oct 2013 16:41:28 +0200 Subject: [PATCH 58/66] Locator: fix UI text punctuation Change-Id: I78f6c7144519cb7a278dd0db8ec0e4ca0438854f Reviewed-by: Eike Ziller --- src/plugins/locator/executefilter.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/locator/executefilter.cpp b/src/plugins/locator/executefilter.cpp index c820ab6d902..4b4ef46b0b6 100644 --- a/src/plugins/locator/executefilter.cpp +++ b/src/plugins/locator/executefilter.cpp @@ -127,9 +127,9 @@ void ExecuteFilter::finished(int exitCode, QProcess::ExitStatus status) const QString commandName = headCommand(); QString message; if (status == QProcess::NormalExit && exitCode == 0) - message = tr("Command '%1' finished").arg(commandName); + message = tr("Command '%1' finished.").arg(commandName); else - message = tr("Command '%1' failed").arg(commandName); + message = tr("Command '%1' failed.").arg(commandName); MessageManager::write(message); m_taskQueue.dequeue(); From dad7442caf445e30594beffe9a712224befd8dc6 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 9 Oct 2013 16:42:35 +0200 Subject: [PATCH 59/66] Macros: fix UI text punctuation Make a message clearer. Change-Id: I067f56f24add91664bb0f88034e6aa825c42c14e Reviewed-by: Eike Ziller --- src/plugins/macros/macromanager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/macros/macromanager.cpp b/src/plugins/macros/macromanager.cpp index 8e576444867..036a0f73204 100644 --- a/src/plugins/macros/macromanager.cpp +++ b/src/plugins/macros/macromanager.cpp @@ -288,7 +288,7 @@ void MacroManager::startMacro() QString endShortcut = Core::ActionManager::command(Constants::END_MACRO)->defaultKeySequence().toString(); QString executeShortcut = Core::ActionManager::command(Constants::EXECUTE_LAST_MACRO)->defaultKeySequence().toString(); - QString help = tr("Macro mode. Type \"%1\" to stop recording and \"%2\" to play it") + QString help = tr("Macro mode. Type \"%1\" to stop recording and \"%2\" to play the macro.") .arg(endShortcut).arg(executeShortcut); Core::EditorManager::showEditorStatusBar( QLatin1String(Constants::M_STATUS_BUFFER), From 9230c3b9cd2d6485ce4560dde20cfbb701a64a60 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 9 Oct 2013 16:39:11 +0200 Subject: [PATCH 60/66] Git: fix UI text capitalization and punctuation Change-Id: I855c35e2e30b04c97b45f1eecec86ad4bf86750d Reviewed-by: Orgad Shaneh --- src/plugins/git/branchdialog.ui | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/git/branchdialog.ui b/src/plugins/git/branchdialog.ui index 11adc4cb4aa..92c50a68785 100644 --- a/src/plugins/git/branchdialog.ui +++ b/src/plugins/git/branchdialog.ui @@ -156,7 +156,7 @@ - Cherry Pick top commit from selected branch + Cherry pick top commit from selected branch. Cherry Pick @@ -166,7 +166,7 @@ - Sets current branch to track the selected one + Sets current branch to track the selected one. &Track From 2d8069943016867a8a115c622dbf8fb00ff0dc28 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 9 Oct 2013 16:46:50 +0200 Subject: [PATCH 61/66] Qt Quick Designer: fix UI text capitalization and punctuation Fix Qt Quick Designer product name. Fix a typo in a test message. Change-Id: I668af65da835017ebc876810a8d2c7d638290c77 Reviewed-by: Thomas Hartmann --- .../components/componentcore/addtabtotabviewdialog.ui | 2 +- .../components/componentcore/tabviewdesigneraction.cpp | 2 +- .../qmldesigner/components/navigator/navigatortreemodel.cpp | 4 ++-- .../components/propertyeditor/propertyeditorview.cpp | 4 ++-- .../designercore/instances/nodeinstanceserverproxy.cpp | 4 ++-- tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/plugins/qmldesigner/components/componentcore/addtabtotabviewdialog.ui b/src/plugins/qmldesigner/components/componentcore/addtabtotabviewdialog.ui index c827ddbcd75..dff9e50e55c 100644 --- a/src/plugins/qmldesigner/components/componentcore/addtabtotabviewdialog.ui +++ b/src/plugins/qmldesigner/components/componentcore/addtabtotabviewdialog.ui @@ -19,7 +19,7 @@ - Add Tab + Add tab: diff --git a/src/plugins/qmldesigner/components/componentcore/tabviewdesigneraction.cpp b/src/plugins/qmldesigner/components/componentcore/tabviewdesigneraction.cpp index 55cc1c432e7..9a04a2cec3e 100644 --- a/src/plugins/qmldesigner/components/componentcore/tabviewdesigneraction.cpp +++ b/src/plugins/qmldesigner/components/componentcore/tabviewdesigneraction.cpp @@ -151,7 +151,7 @@ void TabViewDesignerAction::addNewTab() QString newFilePath = directoryPath +QLatin1String("/") + tabName + QLatin1String(".qml"); if (QFileInfo(newFilePath).exists()) { - QMessageBox::warning(Core::ICore::mainWindow(), tr("Name error"), tr("Component already exists!")); + QMessageBox::warning(Core::ICore::mainWindow(), tr("Name Error"), tr("Component already exists.")); } else { bool fileCreated = createFile(newFilePath); diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp index 5ceb949caab..9823207c8ed 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp @@ -333,9 +333,9 @@ void NavigatorTreeModel::handleChangedItem(QStandardItem *item) } else { if (!node.isValidId(item->text())) - QMessageBox::warning(0, tr("Invalid Id"), tr("%1 is an invalid id").arg(item->text())); + QMessageBox::warning(0, tr("Invalid Id"), tr("%1 is an invalid id.").arg(item->text())); else - QMessageBox::warning(0, tr("Invalid Id"), tr("%1 already exists").arg(item->text())); + QMessageBox::warning(0, tr("Invalid Id"), tr("%1 already exists.").arg(item->text())); bool blockSingals = blockItemChangedSignal(true); item->setText(node.id()); blockItemChangedSignal(blockSingals); diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp index 594f5265e9e..6d9cc3873d6 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp @@ -166,9 +166,9 @@ void PropertyEditorView::changeValue(const QString &name) value->setValue(m_selectedNode.id()); m_locked = false; if (!m_selectedNode.isValidId(newId)) - QMessageBox::warning(0, tr("Invalid Id"), tr("%1 is an invalid id").arg(newId)); + QMessageBox::warning(0, tr("Invalid Id"), tr("%1 is an invalid id.").arg(newId)); else - QMessageBox::warning(0, tr("Invalid Id"), tr("%1 already exists").arg(newId)); + QMessageBox::warning(0, tr("Invalid Id"), tr("%1 already exists.").arg(newId)); } return; } diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp index d0f4c7115a5..fa4ca766868 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp @@ -410,8 +410,8 @@ void NodeInstanceServerProxy::processFinished(int /*exitCode*/, QProcess::ExitSt if (m_captureFileForTest.isOpen()) { m_captureFileForTest.close(); m_captureFileForTest.remove(); - QMessageBox::warning(0, tr("QML Puppet Crashed"), tr("Your are recording a Puppet stream and the puppet crashed. " - "It is recommended to reopen the QML Designer and start again.")); + QMessageBox::warning(0, tr("QML Puppet Crashed"), tr("You are recording a puppet stream and the puppet crashed. " + "It is recommended to reopen the Qt Quick Designer and start again.")); } diff --git a/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp b/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp index b0d52e833d8..d48ca4d0b00 100644 --- a/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp +++ b/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp @@ -1111,7 +1111,7 @@ void tst_TestCore::testModelCreateSubNode() try { childNode.setId("invalid id"); - QFAIL("Setting an invalid id does not throw an excxeption"); + QFAIL("Setting an invalid id does not throw an exception"); } catch (Exception &exception) { QCOMPARE(exception.type(), QString("InvalidIdException")); } From 4aeedd4dedfc895900af4a79f9fd8ca4cda729f6 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 9 Oct 2013 17:19:10 +0200 Subject: [PATCH 62/66] BlackBerry: fix UI text capitalization and punctuation Reword an info message to fix a language issue. Change-Id: I42719b2c407c42aad811370dbde8e9d422b7a4bb Reviewed-by: Alejandro Exojo Piqueras Reviewed-by: Nicolas Arnaud-Cormos --- src/plugins/qnx/blackberryconfiguration.cpp | 2 +- src/plugins/qnx/blackberryconfigurationmanager.cpp | 2 +- src/plugins/qnx/blackberrycreatecertificatedialog.cpp | 10 +++++----- .../blackberrydeviceconfigurationwizardconfigpage.ui | 4 ++-- src/plugins/qnx/blackberryinstallwizardpages.cpp | 4 ++-- src/plugins/qnx/blackberrykeyswidget.ui | 6 +++--- src/plugins/qnx/blackberrysigningutils.cpp | 4 ++-- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/plugins/qnx/blackberryconfiguration.cpp b/src/plugins/qnx/blackberryconfiguration.cpp index c000b29afca..228df755499 100644 --- a/src/plugins/qnx/blackberryconfiguration.cpp +++ b/src/plugins/qnx/blackberryconfiguration.cpp @@ -310,7 +310,7 @@ bool BlackBerryConfiguration::activate() if (m_isAutoDetected) return false; - QString errorMessage = tr("The following errors occurred while activating Target: %1").arg(m_targetName); + QString errorMessage = tr("The following errors occurred while activating target: %1").arg(m_targetName); if (m_qmake4BinaryFile.isEmpty() && m_qmake5BinaryFile.isEmpty()) errorMessage += QLatin1Char('\n') + tr("- No Qt version found."); diff --git a/src/plugins/qnx/blackberryconfigurationmanager.cpp b/src/plugins/qnx/blackberryconfigurationmanager.cpp index fab197f2599..c8a99e844d1 100644 --- a/src/plugins/qnx/blackberryconfigurationmanager.cpp +++ b/src/plugins/qnx/blackberryconfigurationmanager.cpp @@ -216,7 +216,7 @@ bool BlackBerryConfigurationManager::addConfiguration(BlackBerryConfiguration *c if (c->ndkPath() == config->ndkPath() && c->targetName() == config->targetName()) { if (!config->isAutoDetected()) - QMessageBox::warning(0, tr("NDK Already known"), + QMessageBox::warning(0, tr("NDK Already Known"), tr("The NDK already has a configuration."), QMessageBox::Ok); return false; } diff --git a/src/plugins/qnx/blackberrycreatecertificatedialog.cpp b/src/plugins/qnx/blackberrycreatecertificatedialog.cpp index 8c761d161bd..1d61daed124 100644 --- a/src/plugins/qnx/blackberrycreatecertificatedialog.cpp +++ b/src/plugins/qnx/blackberrycreatecertificatedialog.cpp @@ -172,20 +172,20 @@ void BlackBerryCreateCertificateDialog::certificateCreated(int status) accept(); return; case BlackBerryCertificate::Busy: - errorMessage = tr("The blackberry-keytool process is already running"); + errorMessage = tr("The blackberry-keytool process is already running."); break; case BlackBerryCertificate::WrongPassword: - errorMessage = tr("The password entered is invalid"); + errorMessage = tr("The password entered is invalid."); break; case BlackBerryCertificate::PasswordTooSmall: - errorMessage = tr("The password entered is too small"); + errorMessage = tr("The password entered is too short."); break; case BlackBerryCertificate::InvalidOutputFormat: - errorMessage = tr("Invalid output format"); + errorMessage = tr("Invalid output format."); break; case BlackBerryCertificate::Error: default: - errorMessage = tr("An unknown error occurred"); + errorMessage = tr("An unknown error occurred."); break; } diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwizardconfigpage.ui b/src/plugins/qnx/blackberrydeviceconfigurationwizardconfigpage.ui index e59a39eba4a..386882cbc3c 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwizardconfigpage.ui +++ b/src/plugins/qnx/blackberrydeviceconfigurationwizardconfigpage.ui @@ -52,7 +52,7 @@ - Debug Token is needed for BlackBerry applications deployment to a device. + Debug token is needed for deploying applications to BlackBerry devices. true @@ -120,7 +120,7 @@ - Host name/IP: + Host name or IP address: diff --git a/src/plugins/qnx/blackberryinstallwizardpages.cpp b/src/plugins/qnx/blackberryinstallwizardpages.cpp index 442f91feec5..39033251d5a 100644 --- a/src/plugins/qnx/blackberryinstallwizardpages.cpp +++ b/src/plugins/qnx/blackberryinstallwizardpages.cpp @@ -100,8 +100,8 @@ BlackBerryInstallWizardOptionPage::BlackBerryInstallWizardOptionPage(BlackBerryI void BlackBerryInstallWizardOptionPage::initializePage() { - m_installButton->setText(tr("Install a new target")); - m_addButton->setText(tr("Add an existing target")); + m_installButton->setText(tr("Install New Target")); + m_addButton->setText(tr("Add Existing Target")); if (m_data.mode == BlackBerryInstallerDataHandler::ManuallMode) m_addButton->setChecked(true); diff --git a/src/plugins/qnx/blackberrykeyswidget.ui b/src/plugins/qnx/blackberrykeyswidget.ui index da510fff6eb..7d1db06b974 100644 --- a/src/plugins/qnx/blackberrykeyswidget.ui +++ b/src/plugins/qnx/blackberrykeyswidget.ui @@ -156,21 +156,21 @@ - Open certificate + Open Certificate - Clear certificate + Clear Certificate - Create certificate + Create Certificate diff --git a/src/plugins/qnx/blackberrysigningutils.cpp b/src/plugins/qnx/blackberrysigningutils.cpp index 646205ae3e8..9905d7515c1 100644 --- a/src/plugins/qnx/blackberrysigningutils.cpp +++ b/src/plugins/qnx/blackberrysigningutils.cpp @@ -85,7 +85,7 @@ bool BlackBerrySigningUtils::hasDefaultCertificate() QString BlackBerrySigningUtils::cskPassword() { if (m_cskPassword.isEmpty()) - m_cskPassword = promptPassword(tr("Please provide your bbidtoken.csk PIN")); + m_cskPassword = promptPassword(tr("Please provide your bbidtoken.csk PIN.")); return m_cskPassword; } @@ -93,7 +93,7 @@ QString BlackBerrySigningUtils::cskPassword() QString BlackBerrySigningUtils::certificatePassword() { if (m_certificatePassword.isEmpty()) - m_certificatePassword = promptPassword(tr("Please enter your certificate password")); + m_certificatePassword = promptPassword(tr("Please enter your certificate password.")); return m_certificatePassword; } From 70c2142dbb5e77701eac9fea63ebab63f092ecb1 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 9 Oct 2013 17:19:44 +0200 Subject: [PATCH 63/66] Cascades support: fix Qt Creator product name Change-Id: I29244b53f515405cff0618c7a012460b56dd2e85 Reviewed-by: Alejandro Exojo Piqueras Reviewed-by: Nicolas Arnaud-Cormos --- src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp b/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp index a72037b9112..3291e0c7623 100644 --- a/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp +++ b/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp @@ -78,7 +78,7 @@ CascadesImportWizardDialog::CascadesImportWizardDialog(QWidget *parent) wizardProgress()->item(srcProjectPageId)->setTitle(tr("Momentics")); const int destProjectPageId = addPage(m_destProjectPage); - wizardProgress()->item(destProjectPageId)->setTitle(tr("QtCreator")); + wizardProgress()->item(destProjectPageId)->setTitle(tr("Qt Creator")); connect(m_srcProjectPage, SIGNAL(validPathChanged(QString)), this, SLOT(onSrcProjectPathChanged(QString))); } @@ -120,7 +120,7 @@ CascadesImportWizard::CascadesImportWizard(QObject *parent) setId(QLatin1String("Q.QnxBlackBerryCascadesApp")); setRequiredFeatures(Core::FeatureSet(Constants::QNX_BB_FEATURE)); setDescription(tr("Imports existing Cascades projects created within QNX Momentics IDE. " - "This allows you to use the project in QtCreator.")); + "This allows you to use the project in Qt Creator.")); setCategory(QLatin1String(ProjectExplorer::Constants::IMPORT_WIZARD_CATEGORY)); setDisplayCategory(QLatin1String(ProjectExplorer::Constants::IMPORT_WIZARD_CATEGORY_DISPLAY)); } From e79d764f20e56ea2764dadc4fcb0cc5c3aa640ff Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 9 Oct 2013 17:11:00 +0200 Subject: [PATCH 64/66] QML Profiler: fix UI text punctuation Change-Id: I3950828a0b6a9c12aee4214d7c6db9bc551bd260 Reviewed-by: Kai Koehne --- src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp b/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp index 46df68f9b3a..82af434a312 100644 --- a/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp +++ b/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp @@ -72,7 +72,7 @@ void QmlProfilerDataState::setState(QmlProfilerDataState::State state) QTC_ASSERT(m_state == ProcessingData || m_state == Empty, return); break; default: - emit error(tr("Trying to set unknown state in events list")); + emit error(tr("Trying to set unknown state in events list.")); break; } @@ -271,7 +271,7 @@ void QmlProfilerModelManager::complete() if (state() == QmlProfilerDataState::Done) { // repeated Done states are ignored } else { - emit error(tr("Unexpected complete signal in data model")); + emit error(tr("Unexpected complete signal in data model.")); } } From f54b935a6129b7111f927f8b150c489fb9d6afee Mon Sep 17 00:00:00 2001 From: jkobus Date: Thu, 10 Oct 2013 10:37:15 +0200 Subject: [PATCH 65/66] Use book style capitalization for button labels Change-Id: I9d74792f59a1209a3fbbd4fade39eee04d5ce5f4 Reviewed-by: Leena Miettinen --- src/plugins/bazaar/bazaarclient.cpp | 4 ++-- src/plugins/cvs/cvsplugin.cpp | 4 ++-- src/plugins/mercurial/mercurialclient.cpp | 4 ++-- src/plugins/perforce/perforceplugin.cpp | 2 +- src/plugins/subversion/subversionplugin.cpp | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/plugins/bazaar/bazaarclient.cpp b/src/plugins/bazaar/bazaarclient.cpp index ceb56b5ca65..431ff8c6a50 100644 --- a/src/plugins/bazaar/bazaarclient.cpp +++ b/src/plugins/bazaar/bazaarclient.cpp @@ -246,9 +246,9 @@ public: const BazaarCommandParameters &p, QWidget *parent = 0) : VcsBase::VcsBaseEditorParameterWidget(parent), m_client(client), m_params(p) { - mapSetting(addToggleButton(QLatin1String("-w"), tr("Ignore whitespace")), + mapSetting(addToggleButton(QLatin1String("-w"), tr("Ignore Whitespace")), client->settings()->boolPointer(BazaarSettings::diffIgnoreWhiteSpaceKey)); - mapSetting(addToggleButton(QLatin1String("-B"), tr("Ignore blank lines")), + mapSetting(addToggleButton(QLatin1String("-B"), tr("Ignore Blank Lines")), client->settings()->boolPointer(BazaarSettings::diffIgnoreBlankLinesKey)); } diff --git a/src/plugins/cvs/cvsplugin.cpp b/src/plugins/cvs/cvsplugin.cpp index 070ea7e088a..fdbd7ea1c36 100644 --- a/src/plugins/cvs/cvsplugin.cpp +++ b/src/plugins/cvs/cvsplugin.cpp @@ -538,8 +538,8 @@ CvsDiffParameterWidget::CvsDiffParameterWidget(const CvsDiffParameters &p, QWidg VcsBaseEditorParameterWidget(parent), m_parameters(p) { setBaseArguments(p.arguments); - addToggleButton(QLatin1String("-w"), tr("Ignore whitespace")); - addToggleButton(QLatin1String("-B"), tr("Ignore blank lines")); + addToggleButton(QLatin1String("-w"), tr("Ignore Whitespace")); + addToggleButton(QLatin1String("-B"), tr("Ignore Blank Lines")); connect(this, SIGNAL(argumentsChanged()), this, SLOT(triggerReRun())); } diff --git a/src/plugins/mercurial/mercurialclient.cpp b/src/plugins/mercurial/mercurialclient.cpp index eef368c1d8b..e4966d26271 100644 --- a/src/plugins/mercurial/mercurialclient.cpp +++ b/src/plugins/mercurial/mercurialclient.cpp @@ -428,9 +428,9 @@ public: const MercurialDiffParameters &p, QWidget *parent = 0) : VcsBase::VcsBaseEditorParameterWidget(parent), m_client(client), m_params(p) { - mapSetting(addToggleButton(QLatin1String("-w"), tr("Ignore whitespace")), + mapSetting(addToggleButton(QLatin1String("-w"), tr("Ignore Whitespace")), client->settings()->boolPointer(MercurialSettings::diffIgnoreWhiteSpaceKey)); - mapSetting(addToggleButton(QLatin1String("-B"), tr("Ignore blank lines")), + mapSetting(addToggleButton(QLatin1String("-B"), tr("Ignore Blank Lines")), client->settings()->boolPointer(MercurialSettings::diffIgnoreBlankLinesKey)); } diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp index eae49651a82..a4e42e28bdd 100644 --- a/src/plugins/perforce/perforceplugin.cpp +++ b/src/plugins/perforce/perforceplugin.cpp @@ -1215,7 +1215,7 @@ PerforceDiffParameterWidget::PerforceDiffParameterWidget(const PerforceDiffParam VcsBase::VcsBaseEditorParameterWidget(parent), m_parameters(p) { setBaseArguments(p.diffArguments); - addToggleButton(QLatin1String("w"), tr("Ignore whitespace")); + addToggleButton(QLatin1String("w"), tr("Ignore Whitespace")); connect(this, SIGNAL(argumentsChanged()), this, SLOT(triggerReRun())); } diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp index 7e3d7fd1619..d41c1b24286 100644 --- a/src/plugins/subversion/subversionplugin.cpp +++ b/src/plugins/subversion/subversionplugin.cpp @@ -531,7 +531,7 @@ SubversionDiffParameterWidget::SubversionDiffParameterWidget(const SubversionDif VcsBase::VcsBaseEditorParameterWidget(parent), m_parameters(p) { setBaseArguments(p.arguments); - addToggleButton(QLatin1String("w"), tr("Ignore whitespace")); + addToggleButton(QLatin1String("w"), tr("Ignore Whitespace")); connect(this, SIGNAL(argumentsChanged()), this, SLOT(triggerReRun())); } From ccbfdf014487ca23600068b7d0c878630653bb63 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 10 Oct 2013 10:39:36 +0200 Subject: [PATCH 66/66] Fix MSVC64 warning about integer truncation in qtChooserToQmakePath(). Change-Id: Ic3a51fc94e4204c2b97936c0294b054a08fed72f Reviewed-by: Daniel Teske --- src/libs/utils/buildablehelperlibrary.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libs/utils/buildablehelperlibrary.cpp b/src/libs/utils/buildablehelperlibrary.cpp index 492da529e43..6a54838f14f 100644 --- a/src/libs/utils/buildablehelperlibrary.cpp +++ b/src/libs/utils/buildablehelperlibrary.cpp @@ -44,6 +44,7 @@ bool BuildableHelperLibrary::isQtChooser(const QFileInfo &info) QString BuildableHelperLibrary::qtChooserToQmakePath(const QString &path) { + const char toolDir[] = "QTTOOLDIR=\""; QProcess proc; proc.start(path, QStringList(QLatin1String("-print-env"))); if (!proc.waitForStarted(1000)) @@ -51,10 +52,10 @@ QString BuildableHelperLibrary::qtChooserToQmakePath(const QString &path) if (!proc.waitForFinished(1000)) return QString(); QByteArray output = proc.readAllStandardOutput(); - int pos = output.indexOf("QTTOOLDIR="); + int pos = output.indexOf(toolDir); if (pos == -1) return QString(); - pos += strlen("QTTOOLDIR=\""); + pos += int(sizeof(toolDir)) - 1; int end = output.indexOf('\"', pos); if (end == -1) return QString();