Commit Graph

54 Commits

Author SHA1 Message Date
Christian Kandeler
bfd0827811 QbsProjectManager: Make generated files available in project tree
Task-number: QTCREATORBUG-15978
Change-Id: Ia1890f1c4f8d1fa76568e42e15741281acb7dbb0
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-08-17 08:25:24 +00:00
Christian Kandeler
0b3abfcf6a Update qbs submodule
To HEAD of master branch. Also do the necessary API adaptations in
QbsProjectManager.

Change-Id: I4709b7a0f35537f5b6f9fd04f4d95be16aef2c8d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-11 09:06:54 +00:00
hjk
39a38d5679 Wholesale conversion to #pragma once
Kudos to cgmb and https://github.com/cgmb/guardonce

Change-Id: Ifa8970734b8d43fd08c9260c645bdb0228633791
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-30 15:20:19 +00:00
Orgad Shaneh
c632ce44f7 Qbs: Improve performance even further...
setupFolder is called recursively...

Change-Id: Ief1d1d45294a3821f5496d832a2130a8ff779f44
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-02-22 14:00:10 +00:00
Orgad Shaneh
d1631d695e Qbs: Improve performance of opening project
Task-number: QTCREATORBUG-15559
Change-Id: I5361c9803a9ce86bcfdc66026f946a048c5180e1
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-02-22 12:29:13 +00:00
Tobias Hunger
397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
Eike Ziller
d13b22e6bc Merge remote-tracking branch 'origin/3.6'
Conflicts:
	src/plugins/coreplugin/editormanager/editormanager.cpp

Change-Id: Ibdf433b54e36e58182b7094f78d47ed3e8c81684
2015-11-12 13:43:17 +01:00
Christian Kandeler
21ad1804f6 QbsProjectManager: Fix soft assert.
Change-Id: Ic970642aa37d0983b41b7be6459140bcc2f6ed42
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
2015-11-11 08:52:12 +00:00
Tobias Hunger
5d7f5a2a32 ProjectNode: Rename path() to filePath()
Change-Id: I78bb73f8c9457fd74c470eacbf54eb9195ac9681
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-11-03 11:01:50 +00:00
Tobias Hunger
e60f62c131 ProjectNodes: Sprinkle override over the Node classes
Change-Id: I87db3a1b212aa0a3f140b8d299679f6c1f691004
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-10-30 13:35:53 +00:00
Daniel Teske
bcdadbec72 ProjectNode: Provide default implementations of a few functions
Since a lot of derived classes can make use of those.

Change-Id: I051542e8d318476348d753de4d4c0a30b3a9ed62
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-09-15 10:46:28 +00:00
Christian Kandeler
3fce8cfc4f QbsProjectManager: Don't offer "Add File" functionality for folders.
It does not make sense to add files to anything besides products and
groups.

Task-number: QTCREATORBUG-14286
Change-Id: Iced8cefc4eff3857e9a1a6d3a3a9311dcbb44f11
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-04-15 13:25:25 +00:00
Christian Kandeler
008def4f36 QbsProjectManager: Assign types to source files.
At the moment, all source files get the type "unknown",
so certain code in other plugins that looks for e.g.
Qt resource files never finds any.

Task-number: QBS-762
Change-Id: I71b798980b7ca318f2b4e7871148ba72703f8d83
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-03-26 19:46:25 +00:00
Orgad Shaneh
88e7f935f4 ProjectExplorer: Use FileName for Node::path
Change-Id: I4a41cfb629be8bb06b4b0616cd4475525e617a51
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-02-13 13:14:03 +00:00
Eike Ziller
9926fc2ab1 Merge commit '3c85058694ee2e41658d17f524fb48f0b187d2fe'
Conflicts:
	src/libs/utils/tooltip/tipcontents.cpp
	src/libs/utils/tooltip/tipcontents.h
	src/plugins/android/androiddeployqtstep.cpp
	src/plugins/baremetal/baremetalconstants.h
	src/plugins/baremetal/baremetaldevice.cpp
	src/plugins/baremetal/baremetaldevice.h
	src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwidget.h
	src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.h
	src/plugins/baremetal/baremetalplugin.cpp
	src/plugins/baremetal/baremetalplugin.h
	src/plugins/baremetal/baremetalruncontrolfactory.cpp
	src/plugins/baremetal/baremetalruncontrolfactory.h
	src/plugins/cppeditor/cppcodemodelinspectordialog.cpp
	src/plugins/cppeditor/cppdoxygen_test.cpp
	src/plugins/cppeditor/cppdoxygen_test.h
	src/plugins/debugger/breakpointmarker.cpp
	src/plugins/debugger/debuggeritemmodel.cpp
	src/plugins/debugger/debuggeritemmodel.h
	src/plugins/debugger/loadcoredialog.cpp
	src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp
	src/plugins/projectexplorer/addnewmodel.cpp
	src/plugins/projectexplorer/addnewmodel.h
	src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp
	src/plugins/qmlprofiler/abstracttimelinemodel.cpp
	src/plugins/qmlprofiler/abstracttimelinemodel.h
	src/plugins/qmlprofiler/notesmodel.cpp
	src/plugins/qmlprofiler/qml/CategoryLabel.qml
	src/plugins/qmlprofiler/qml/MainView.qml
	src/plugins/qmlprofiler/qml/Overview.js
	src/plugins/qmlprofiler/qml/Overview.qml
	src/plugins/qmlprofiler/qml/TimeDisplay.qml
	src/plugins/qmlprofiler/qml/TimeMarks.qml
	src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp
	src/plugins/qmlprofiler/sortedtimelinemodel.cpp
	src/plugins/qmlprofiler/sortedtimelinemodel.h
	src/plugins/qmlprofiler/timelinemodelaggregator.cpp
	src/plugins/qmlprofiler/timelinemodelaggregator.h
	src/plugins/qmlprofiler/timelinerenderer.cpp
	src/plugins/qmlprofiler/timelinerenderer.h
	src/plugins/qmlprojectmanager/QmlProjectManager.json.in
	src/plugins/texteditor/findinfiles.cpp
	src/plugins/vcsbase/vcsconfigurationpage.cpp
	src/shared/qbs
	src/shared/scriptwrapper/interface_wrap_helpers.h
	src/shared/scriptwrapper/wrap_helpers.h
	tests/auto/qmlprofiler/abstracttimelinemodel/tst_abstracttimelinemodel.cpp
	tests/system/suite_debugger/tst_debug_empty_main/test.py
	tests/system/suite_debugger/tst_qml_js_console/test.py
	tests/system/suite_debugger/tst_qml_locals/test.py

Change-Id: I67540b648f8b162496f4aa606b04d50c7c9125c6
2015-02-12 17:29:21 +01:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
Daniel Teske
70c9c51e5e Refactor ProjectExplorer::Node and remove NodesWatcher
The idea behind NodesWatcher was that it was the central place
to catch node related signals, so that users didn't need to
connect to each individual node and the nodes didn't need to
be QObjects. Somehow Nodes ended up being QObjects anyway.

Both the recently added ProjectTree and the FlatModels consume
the signals the NodesWatcher sends. Unfortunately there's a
ordering dependency between the ProjectTree and the FlatModels.

This patch removes all NodesWatcher and instead makes the
ProjectTree singleton the emitter of various project tree
related signals. The ProjectTree also ensures that the ordering
between the FlatModel and itself is taken into account.

And it makes Node not derive from QObject, saving some memory
in that process.

Task-number: QTCREATORBUG-13756
Change-Id: I8b0d357863f1dc1d2d440ce8172502594138b9fb
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-01-14 11:48:12 +01:00
Christian Kandeler
e50b75eb66 QbsProjectManager: Support UI-based file renaming.
Task-number: QBS-652
Change-Id: Iaaf767871b1f546814acec62330e2c8d732b8d75
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-10-17 11:26:15 +02:00
Eike Ziller
ea27143239 Merge remote-tracking branch 'origin/3.2'
Conflicts:
	src/libs/utils/ipaddresslineedit.cpp
	src/libs/utils/logging.h
	src/plugins/analyzerbase/AnalyzerBase.pluginspec.in
	src/plugins/android/Android.pluginspec.in
	src/plugins/android/androiddeploystep.cpp
	src/plugins/android/androiddeploystep.h
	src/plugins/android/androiddeploystepfactory.cpp
	src/plugins/android/androiddeploystepwidget.cpp
	src/plugins/android/androidpackagecreationfactory.cpp
	src/plugins/android/androidpackagecreationstep.cpp
	src/plugins/android/androidpackagecreationstep.h
	src/plugins/android/androidpackagecreationwidget.cpp
	src/plugins/android/androidpackagecreationwidget.h
	src/plugins/android/javafilewizard.cpp
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/baremetal/BareMetal.pluginspec.in
	src/plugins/bazaar/Bazaar.pluginspec.in
	src/plugins/beautifier/Beautifier.pluginspec.in
	src/plugins/bineditor/BinEditor.pluginspec.in
	src/plugins/bookmarks/Bookmarks.pluginspec.in
	src/plugins/clangcodemodel/ClangCodeModel.pluginspec.in
	src/plugins/clangcodemodel/clanghighlightingsupport.cpp
	src/plugins/clangcodemodel/clangsymbolsearcher.cpp
	src/plugins/classview/ClassView.pluginspec.in
	src/plugins/clearcase/ClearCase.pluginspec.in
	src/plugins/cmakeprojectmanager/CMakeProjectManager.pluginspec.in
	src/plugins/cmakeprojectmanager/cmakeeditorfactory.cpp
	src/plugins/cmakeprojectmanager/cmakehighlighter.cpp
	src/plugins/coreplugin/Core.pluginspec.in
	src/plugins/cpaster/CodePaster.pluginspec.in
	src/plugins/cppeditor/CppEditor.pluginspec.in
	src/plugins/cppeditor/cppfilewizard.cpp
	src/plugins/cpptools/CppTools.pluginspec.in
	src/plugins/cpptools/cpphighlightingsupportinternal.cpp
	src/plugins/cpptools/cppmodelmanagerinterface.cpp
	src/plugins/cpptools/cppmodelmanagerinterface.h
	src/plugins/cvs/CVS.pluginspec.in
	src/plugins/debugger/Debugger.pluginspec.in
	src/plugins/designer/Designer.pluginspec.in
	src/plugins/diffeditor/DiffEditor.pluginspec.in
	src/plugins/emacskeys/EmacsKeys.pluginspec.in
	src/plugins/fakevim/FakeVim.pluginspec.in
	src/plugins/genericprojectmanager/GenericProjectManager.pluginspec.in
	src/plugins/git/Git.pluginspec.in
	src/plugins/git/gitorious/gitorious.cpp
	src/plugins/git/gitorious/gitorious.h
	src/plugins/git/gitorious/gitoriousclonewizard.cpp
	src/plugins/git/gitorious/gitorioushostwidget.cpp
	src/plugins/git/gitorious/gitorioushostwidget.h
	src/plugins/git/gitorious/gitorioushostwizardpage.cpp
	src/plugins/git/gitorious/gitoriousprojectwidget.cpp
	src/plugins/git/gitorious/gitoriousprojectwidget.h
	src/plugins/git/gitorious/gitoriousprojectwizardpage.cpp
	src/plugins/git/gitorious/gitoriousprojectwizardpage.h
	src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp
	src/plugins/git/gitorious/gitoriousrepositorywizardpage.h
	src/plugins/glsleditor/GLSLEditor.pluginspec.in
	src/plugins/glsleditor/glsleditorfactory.cpp
	src/plugins/glsleditor/glslfilewizard.cpp
	src/plugins/helloworld/HelloWorld.pluginspec.in
	src/plugins/help/Help.pluginspec.in
	src/plugins/imageviewer/ImageViewer.pluginspec.in
	src/plugins/ios/Ios.pluginspec.in
	src/plugins/macros/Macros.pluginspec.in
	src/plugins/mercurial/Mercurial.pluginspec.in
	src/plugins/perforce/Perforce.pluginspec.in
	src/plugins/projectexplorer/ProjectExplorer.pluginspec.in
	src/plugins/pythoneditor/PythonEditor.pluginspec.in
	src/plugins/pythoneditor/pythoneditorwidget.cpp
	src/plugins/pythoneditor/wizard/pythonfilewizard.cpp
	src/plugins/qbsprojectmanager/QbsProjectManager.pluginspec.in
	src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
	src/plugins/qmakeprojectmanager/QmakeProjectManager.pluginspec.in
	src/plugins/qmakeprojectmanager/profileeditorfactory.cpp
	src/plugins/qmldesigner/QmlDesigner.pluginspec.in
	src/plugins/qmljseditor/QmlJSEditor.pluginspec.in
	src/plugins/qmljseditor/qmljseditorfactory.cpp
	src/plugins/qmljstools/QmlJSTools.pluginspec.in
	src/plugins/qmlprofiler/QmlProfiler.pluginspec.in
	src/plugins/qmlprojectmanager/QmlProjectManager.pluginspec.in
	src/plugins/qnx/Qnx.pluginspec.in
	src/plugins/qtsupport/QtSupport.pluginspec.in
	src/plugins/remotelinux/RemoteLinux.pluginspec.in
	src/plugins/resourceeditor/ResourceEditor.pluginspec.in
	src/plugins/resourceeditor/resourcewizard.h
	src/plugins/subversion/Subversion.pluginspec.in
	src/plugins/tasklist/TaskList.pluginspec.in
	src/plugins/texteditor/TextEditor.pluginspec.in
	src/plugins/texteditor/basetexteditor_p.h
	src/plugins/texteditor/basetextmark.cpp
	src/plugins/texteditor/codeassist/basicproposalitemlistmodel.h
	src/plugins/texteditor/codeassist/defaultassistinterface.h
	src/plugins/texteditor/codeassist/iassistproposalitem.cpp
	src/plugins/texteditor/itexteditor.cpp
	src/plugins/texteditor/itexteditor.h
	src/plugins/texteditor/itextmark.cpp
	src/plugins/texteditor/plaintexteditor.cpp
	src/plugins/texteditor/plaintexteditor.h
	src/plugins/texteditor/texteditoractionhandler.cpp
	src/plugins/todo/Todo.pluginspec.in
	src/plugins/updateinfo/UpdateInfo.pluginspec.in
	src/plugins/valgrind/Valgrind.pluginspec.in
	src/plugins/vcsbase/VcsBase.pluginspec.in
	src/plugins/welcome/Welcome.pluginspec.in
	src/plugins/winrt/WinRt.pluginspec.in
	tests/auto/debugger/temporarydir.h

Change-Id: I254af8be8119fe9855287909e17d4b8ca9d2fc2f
2014-10-14 15:36:16 +02:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Christian Kandeler
38320b15f5 QbsProjectManager: Take product profiles into account.
- Identify products by the name/profile tuple instead of just the name.
- If the product's profile differs from that of the overall
project, add it to the visual representation.

Change-Id: I4a89db60911277977458370157e435472bbe428f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-09-25 13:11:33 +02:00
Christian Kandeler
ed3cdb9c92 QbsProjectManager: Store qbs::Groups as values.
qbs::Group is a reference-counted value-like class, and it makes no
sense to hold it as a pointer. It makes even less sense to compare that
pointer when deciding whether a project node needs an update, as this
comparison will always be false (and technically undefined behavior as
well if the original qbs::ProjectData object no longer exists).

Change-Id: If188f83802bf6cffd04215d192667cf0200e25d3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-08-06 15:34:48 +02:00
Christian Kandeler
f488c10c5a QbsProjectManager: Fix project node operations.
The qbsProjectData() member function always returned the top-level
project data, which messed up a couple of things, for instance
"build sub-projects" and the node tree updates.
Instead, return the project data corresponding to the node.

Change-Id: If40c441c62334f0069a5fe3cb4873cf973baf135
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-08-01 16:30:00 +02:00
Tobias Hunger
e9e1f77965 Qbs: Show build qbs files not referenced in the products/groups
Show build system files used by Qbs that are part of the project
hierarchy in the Projects Pane.

Change-Id: Ie7d1f1833fb00376f92c1436bd83e4f0518ae3ac
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2014-07-23 10:49:18 +02:00
Tobias Hunger
aebc90ec08 Qbs: Simplify code a bit
Change-Id: Ie61f71f143ac1b46e092167abb9b58a1d16c36c6
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-07-22 14:07:36 +02:00
Christian Kandeler
853497fb4b QbsProjectManager: Sanitize QbsProjectNode.
The current code keeps an instance of QbsProject and of qbs::Project in
every project node, with them being null/invalid everywhere except for
the top-level node. Instead, introduce a dedicated class for the root
node and hold a QbsProject only there. The qbs::Project is held in
QbsProject now.
As a nice side effect, this also fixes QBS-644, presumably because the
dubious-looking use of projectNode() has been removed.

Task-number: QBS-644
Change-Id: I5d36806745b9d67879db6f48aa56bc97868e4f17
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-07-11 11:33:58 +02:00
Tobias Hunger
21cccaa1c9 Qbs: Move updating of files from a project to own method
Change-Id: I88b41ff450dac4e0c2e5a34e3332e559c1919e6e
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-06-24 16:14:16 +02:00
Thomas Epting
513aba55a2 QbsProjectManager: Added functionality to remove files from projects
Change-Id: I3371e14b5fbf2eaaacc833b289f945aed57cc80e
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-06-24 11:22:20 +02:00
Thomas Epting
a8304f3b42 QbsProjectManager: Provide functionality to add files to a Qbs project.
Started implementing common functions to add new and existing files to
a project, using the API provided by Qbs. Works for most use cases
already. However, this is still work in progress.

Change-Id: I36ea921c203bd7caad564a45cd40cda408c72b54
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-06-20 13:01:38 +02:00
hjk
2e757deab4 ProjectNodes: Refactor runConfigurationsFor()
Rename to runConfigurations() and remove the node argument which is
available as 'this'. Adjust const-ness of node argument in
RunConfigurationFactory::runConfigurationsForNode

Change-Id: Icb63e96a305152f90135a2656536de2581faafaf
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-04-29 12:35:29 +02:00
Daniel Teske
93184f7959 Fix compile
Change-Id: I4ea7d0f8c8809496c04f1bbe266eb722f999209e
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-03-18 14:41:46 +01:00
Daniel Teske
50fc169c94 ProjectTree: Change hasBuildTargets to FolderNode::showInSimpleTree
So that the resource node can override it.

Task-number: QTCREATORBUG-11678
Change-Id: Id30d1b99ee23cc18fc29fc99cf0ad7ca919ed527
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-03-18 14:23:11 +01:00
Daniel Teske
c17bce14cf ProjectNodes: Move supportedActions to Node
By default this simply calls the parent's supportedActions.
Most changes are due to the enum moving.

Change-Id: I25bf21b712cca48450014dbb0f748ac0c461e029
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-02-19 14:51:47 +01:00
Daniel Teske
d4ad269323 ProjectExplorer::Node::line should be a property not a virtual function
Changing it must emit the same signals as does setting path, since the
sorting might change.

Change-Id: Iaf29c0775387d623d2e611e202b63ab52e812140
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-02-19 11:48:55 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Tobias Hunger
ba54384aaa Qbs: Show products in simplified project tree
So far the simplified project tree was a flat list of files for qbs
projects. With this change it is a flat list of Products, each
containing a flat list of all files referrenced.

Change-Id: If53e80ca69f595df245a20af9f9ced1121cf30af
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-11-18 10:06:42 +01:00
Christian Kandeler
3948f9d887 QbsProjectManager: Use qbs::Project as a value.
Those objects are shared data pointers that can (and should)
be used as values. This is now actually possible due to
the newly introduced public default constructor and
isValid() method.

Change-Id: I989e339bd495aa7581b01f17f00cbffe0b617b9c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-11 16:27:26 +02:00
Daniel Teske
cc7fe5eac6 Project: Simplfy file adding/removing interface
The filetype is only relevant for Qt4 projects. But even for Qt4 projects
the file type is insufficient to decide where the file should be added.
So remove the file type from the interface and let the projectmanagers
themselves figure out what they want to do.

Also fix
Task-number: QTCREATORBUG-9688

Change-Id: I02f7b1cd2e05efaf76e36fb9af34b109d4482f88
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-07-08 17:05:04 +02:00
Tobias Hunger
161b818b23 Qbs: Fix crashes when switching QbsRunConfigurations
Do not use pointers to qbs::(Group|Product|Project)Data. Those are
implicitly shared classes, and now have a isValid method so that
default constructed instances can be spotted.

Change-Id: Icd49fa517f2e17bc60cc82d103f479d3a2e7097a
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-21 17:54:37 +02:00
Tobias Hunger
3d2e40f85f Qbs: Support subprojects
Change-Id: Ic7015b44362b89a14957f7d21540e71d441c860f
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-18 14:06:54 +02:00
Tobias Hunger
834a2687da Qbs: Display line numbers for virtual files
Display line numbers as part of the displayName of nodes in the
Projects view. These are shown for the virtual files we use to
enable navigation to Qbs groups and products and it more clear
that these are actually locations in the build system and not
real files.

Change-Id: If32354ad5ceb79c865cae2951fe470c51718728f
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-06-05 15:54:16 +02:00
Tobias Hunger
905d0aee15 Qbs: Seriously speed up the update of the Project Tree after reparse
Do not emit an updateNode signal for all existing nodes, but only for
those that actually changed state.

Change-Id: I0a906833a6879e224df0d4be05d3813b8e130083
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-04 12:15:34 +02:00
Tobias Hunger
7debb350cf Qbs: Fix crashes in project view when reparsing
Change-Id: I64c5e53364716db81d2b708b62da71a8e6adae67
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-05-24 14:37:15 +02:00
Tobias Hunger
fc6ec40f2f Qbs: Properly report related runconfigurations for Qbs nodes
This fixes the run options in the context menu.

Change-Id: If4911f7357329fcb843206165e20d53bf6717258
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-05-17 15:08:48 +02:00
Tobias Hunger
ff778a6c88 Qbs: Add pointer to the project to QbsProjectNode
Change-Id: I81fe083ee4350efd89c3afb3f70deb46d0409ee2
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-05-17 15:08:29 +02:00
Tobias Hunger
82a341da14 Qbs: Rename a couple of members to make them more obviously Qbs related
This is to avoid confusion between methods referring to Qt Creator classes
and Qbs classes of the same name.

Change-Id: I25b40c6fe1d2272a9d9b0f7fab2a4cafa079df8c
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-05-17 15:08:00 +02:00
Tobias Hunger
cbfeb36ce7 Qbs: Add icons to Project-/Product- and GroupNodes
Change-Id: Ifedfe50e661320d5a4d26e2ef01a482afb6a76dc
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-04-19 13:35:59 +02:00
Tobias Hunger
65f8e1b977 Qbs: Remove implicit Group with the same name as the Product
Task-number: QBS-257

Change-Id: I63d3095a2da171a27611d2c77d4e2ca914908a06
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-04-19 13:35:49 +02:00
Tobias Hunger
20874ca295 Revert "Qbs: Add icons to Project-/Product- and GroupNodes"
This patch got applied in the wrong sequence.

This reverts commit c5a0205a591f6b5ebdd51559d91e1faf7d4955f0

Change-Id: I37e77ae3a15890c73ea2821f6fa07b1fa100176d
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-04-19 13:20:32 +02:00
Tobias Hunger
314bc49144 Revert "Qbs: Remove implicit Group with the same name as the Product"
This got applied in the wrong sequence.

This reverts commit 850e3eda14e41884c53932b67dffd573c2616c43

Change-Id: I604ba711e63cf207af6bca6110320632ec3cb72a
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-04-19 13:20:00 +02:00