Commit Graph

48 Commits

Author SHA1 Message Date
hjk
2360a2d743 ProjectExplorer: Run RunControl::{start,stop} always asynchronously
This introduces a mini-state-"machine" to handle RunControl states
Intialized->[Starting->Running->Stopping->Stopped->]*->Finished.

Needing time between trying to start and getting feedback is nowadays
the normal setup for all remote targets as well as for most local tools.
Making that the default for all runs simplifies the code and provides an
opportunity to (a) fix some currently wrong reports of "stopped
immediately" and (b) to remove target-specific (WinRT) or tool-specific
(Valgrind, GammaRay) state members doing essentially the same.

Change-Id: I7f52fee41144188ee8389e922fdc265f8c0a6459
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-03-24 13:37:46 +00:00
hjk
d02919d850 Valgrind: Split MemCheck and CallGrind factories
The tools are separated everywhere, lumping them into the same
RunControlFactory removes modularity artificially.

Change-Id: I8d9e917bb114a1898a0c293f18d3bf78a52075aa
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-05-10 10:19:09 +00:00
hjk
92e301a054 Debugger: Merge debug mode and analyze mode
On the user-visible side, only the 'Analyze' mode button disappears,
and instead a combobox to switch between different tools in appears
in the Debug mode toolbar.

Internally, that's quite some re-organzition: The centralized
'Analyze mode is busy' flag is gone, allowing us to run e.g.
ClangStaticAnalyzer and MemCheck in parallel.

Analyzer tools and debugger now share the same mechanism to
generate/load/save dock widgets.

Analyzer tools now create and handle their own start/stop button
when appropriate. In general, Analyzer tools can create/handle more
than one run control at a time.

Further consolidation is possible, e.g. RunControl state handling
could be merged into the base ProjectExplorer::RunControl to
avoid the still existing duplication in ~15 instances.

Change-Id: I91e5940ebc4211f98056d507cf2f7b5f8efe7f07
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-07 15:06:10 +00:00
hjk
249a36b573 Analyzer: Remove AnalyzerRunControl::runnable() and .connection()
These re-implementations are conceptually "too specific". Rather let
the indiviual tools handle there expectations themselves.

Change-Id: I0bbea407b2241816a40d19eb1dbb0a7589cbda7b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-29 09:39:47 +00:00
hjk
2cf0060596 Debugger: Use StandardRunnable in DebuggerStartParameters
This is a mechanical replacement for the former executable, processArgs,
inferiorEnvironment and workingDirectory members.

Change-Id: I4160e01427ed801df9b729f1f31d0a2ca48159b5
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-28 14:15:54 +00:00
hjk
61709e9266 Analyzer: Use a StandardRunnable instead of an AnalyzerRunnable
... with a lot potential to code consolidation.

Change-Id: I4d3a7fcc1cc6ae8763799f18cf9701695f387791
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-27 15:29:11 +00:00
hjk
abe08966a4 Analyzer: Remove AnalyzerStartParameters from AnalyzerRunControl ctor
Change-Id: I0f7e982a9144469869e0c42daedfb411789511ca
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-20 11:06:50 +00:00
hjk
dcba1b3c36 Analyzer: Split AnalyzerStartParameters
... into AnalyzerRunnable and AnalyzerConnection and use the
RunControl's storage instead of an own copy in AnalyzerRunControl.

This is an intermediate step on the way to remove
AnalyzerStartParameters.

Change-Id: Iee7c38781b2fd6ef030dcdada1993684cbb34c74
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-20 09:39:45 +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
hjk
8150209ff7 Analyzer: Slim down AnalyzerStartParameters
* SysRoot can always be determined from kit.
* Pass around RunMode as extra parameter
  not as part of AnalyzerStartParameters.
  That's closer to the pattern used elsewhere.
* Environment was always initialized from the runconfig's
  EnvironmentAspect. The tools can do that directly.
* Provide setter for display name for cases where
  it is not equal to RunConfiguration::displayName

Change-Id: I811a0d7cdeb55cc37a16a593b3942abb567a2150
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2016-01-07 18:11:09 +00:00
hjk
1538dca81a Debugger: Continue DebuggerStartParameter cleanup
- Move sysRoot, debuggerCommand, targetAbi to DebuggerRunParameters,
  they are always the one coming from the kit.
- Move projectSource{Directory,Files} to DebuggerRunParameters,
  they are alway coming from the runConfiguration's project
- Pass RunConfiguration always as separate parameter, that's
  what related code does.

Change-Id: I9965a052237af53fa2d170701bc88b552cab12ed
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2015-06-26 18:14:57 +00:00
hjk
6eada122a3 Use free Debugger::createDebuggerRunControl() function
Allows us to un-export DebuggerRunControlFactory in an attempt to
slim down the publicly visible Debugger plugin interface

Change-Id: I0c2e7351ffa7a9d16586172816635be8ff40172e
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-05-29 09:19:16 +00:00
Christian Kandeler
4334c119cf Clear old analyzer issues on tool start.
Change-Id: I54f7791c15e05ca5c85c8b4059f80b050de57282
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-12 16:01:46 +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
hjk
bf6aa3cc2b Debugger: Pass RunControl in DebuggerStartParameters
.. to simplify DebuggerRunControlFactory::doCreate() call.

Change-Id: I4dd0c224968bb8a388ea7f095b940b66ee606ab1
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-10 14:27:32 +00:00
Orgad Shaneh
9927eb2c37 Valgrind: Suppress messagebox on SIGTRAP for vgdb
Change-Id: I5af3a3a67a9c9903337e0035733a74ad482ba197
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-02-10 10:40:26 +00:00
Orgad Shaneh
b4efd0d8c6 Valgrind: Support vgdb
Change-Id: Id9f653a81d329494017653b8fc7ec9960e20dbcd
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-02-10 10:18:32 +00:00
Orgad Shaneh
e9a6e99011 Valgrind: Port to Qt5-style connect
Change-Id: If5f36bb262b932b60133d4301ab614311ce1feee
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-02-09 16:53:19 +00:00
Orgad Shaneh
74ed591db3 Misc: Remove unneeded qualifications
Mostly done using the following ruby script:
Dir.glob('**/*.cpp').each { |file|
  next if file =~ %r{src/shared/qbs|/qmljs/}
  s = File.read(file)
  s.scan(/^using namespace (.*);$/) {
    ns = $1
    t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
      before = $1
      char = $2
      if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
        m
      else
        before + char
      end
    }
    if t != s
      puts file
      File.open(file, 'w').write(t)
    end
  }
}

Change-Id: I919da493d0629b719d328e5e71c96a29d230dfd1
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-02-06 12:20:28 +00:00
Montel Laurent
063251ebbc Port to new connect api
Change-Id: I873a36601d54065b61d0666558b93dc839ad0dfc
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-01-30 10:40:25 +00: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
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
hjk
5ac261bff2 Valgrind: Use generic timed future for uncertain progress
Change-Id: Idb7f1b1e5a0fcd0351d6c30f5a6dadcbec191898
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-05-13 14:05:58 +02:00
Christian Kandeler
d0b25af07b Valgrind: Remove unused function.
Change-Id: Ia14634a95e8227b65719052482dec9e9fd456877
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-05-12 13:54:02 +02: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
Friedemann Kleint
50f522b2f7 Remove most trailing newlines from translated messages.
They are a hassle for translators and reviewers alike.

Change-Id: I07c1b61e8b6719e54fdc1f69cf63f573119a6776
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-10-22 08:05:09 +02:00
Nikolai Kosjar
cdb174484c Valgrind: Memcheck: Add gui options for --show-origins and --leak-check
Change-Id: If07c7a7a11a4c555e26b672bebb1e93eded38dc4
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-09-10 18:01:23 +02:00
Tobias Hunger
85b2017a69 TaskHub: Move code to be more conform with other singletons
Make methods static and add a instance() method for Signals/Slots.

Remove ProjectExplorerPlugin::taskHub() method and use the new
ones instead.

Change-Id: Ifae24ff19579fc524cbd61bddc826095c443adfa
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-08-19 11:24:32 +02:00
hjk
20d7d5e5b7 ProjectExplorer/Analyzer: Merge RunConfigurationAspects
The Analyzer implementation is now simple and still generic enough
to serve as general base.

Change-Id: I050a21919bf128929b77a64da1f46d157691d849
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-08-16 16:20:45 +02:00
hjk
5fa7b60b97 Analyzer: Cleanup settings handling
More flexible, less over-engineered this way.

Change-Id: I3e224a6be85d3a187056d79fd506e8cf6a32c8a9
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-08-12 12:39:54 +02:00
hjk
3de45d8c55 Analyzer: Merge IAnalyzerEngine and AnalyzerRunControl
Change-Id: I74edaef59600a44924d2692c1ebc7f98d8581115
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
2013-08-01 10:33:01 +02:00
hjk
db2dc342f4 Analyzer: Simplify IAnalyzerEngine interface
Change-Id: Id5eac0145e04b809bf535087d3bb9a04124c2e87
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
2013-08-01 10:32:13 +02:00
Oswald Buddenhagen
1fda2111d4 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
	src/plugins/qmldesigner/designercore/include/widgetqueryview.h
	src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qnx/bardescriptormagicmatcher.h
	src/plugins/qt4projectmanager/profilekeywords.cpp
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h

Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
Orgad Shaneh
dba973c933 Valgrind: Compile with QT_NO_CAST_FROM_ASCII
Change-Id: I935579630c4d2f3a7bce69756da9eceb5e2bc005
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-27 09:06:15 +01:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00
Bradley T. Hughes
fb9146a9c3 Compile after qt5/qtbase commit 75a0c7f9
Commit 75a0c7f9b52cde47f20fdc1b89e1264d60350848 in qt5/qtbase changed
some QRegExp methods to be non-const (they were previously const). This
change makes Qt Creator compile again.

Change-Id: Ibc98c678126c3b3189df7fcc043463b940951445
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-04-30 14:32:08 +02:00
hjk
2931a499e6 Long live the king!
Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-26 19:55:36 +01:00
hjk
31600758de all: s/info@qt.nokia.com/qt-info@nokia.com/
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-11-03 10:33:19 +01:00
Oswald Buddenhagen
65c0eb5165 Merge branch '2.3'
Conflicts:
	src/plugins/debugger/qml/qmlengine.cpp

Change-Id: I46509f0c187b71bbaed7b2118a160914f8250ca4
2011-07-29 17:57:59 +02:00
Christiaan Janssen
b421f3eca7 QmlProfiler: managing failed starts gracefully
Change-Id: Ice0debcb6b83977b8f50dd154687e7c5c6abac7b
Reviewed-on: http://codereview.qt.nokia.com/2113
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-07-25 16:41:56 +02:00
Eike Ziller
e5ca4b3462 Merge remote-tracking branch 'origin/2.3'
Conflicts:
	qtcreator.pri
	share/qtcreator/dumper/dumper.py
	share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h
	src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
	src/plugins/valgrind/valgrind.pro
	tests/manual/gdbdebugger/simple/simple_gdbtest_app.cpp

Change-Id: Ic2d347012d89d697e6382f156e64f9619da88300
2011-07-15 14:29:07 +02:00
hjk
3cce72dcf5 analyzer: merge valgrind related settings
This mainly reduces the number of tabs in the settings dialog.

Change-Id: I62ba5c74585648c8f495602cd4d676d0628de9b5
Reviewed-on: http://codereview.qt.nokia.com/1575
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-07-13 15:56:48 +02:00
hjk
98c116491f valgrind: code cosmetics
Change-Id: I695c7d40aeb0b0b1e6f8cc0856e5fa5d9d1ce2d1
Reviewed-on: http://codereview.qt.nokia.com/1600
Reviewed-by: hjk <qthjk@ovi.com>
2011-07-13 15:39:04 +02:00
hjk
99d9f065b3 analyzer: refactoring of analyzer manager
Change-Id: I60268b8bc86e439beb3fca8f4b6a87ea03925bad
Reviewed-on: http://codereview.qt.nokia.com/1049
Reviewed-by: hjk <qthjk@ovi.com>
2011-07-04 12:01:00 +02:00
Kai Koehne
73b66f5d08 Analyzer: Use Utils::OutputFormat everywhere
Replace hard distinction between 'out', 'err' with flexible
OutputFormat. Also make sure that QmlProfiler shows application output.

Change-Id: I130c71884321e4c59c9a75f0836c37a7f0e805c4
Reviewed-on: http://codereview.qt.nokia.com/458
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2011-06-14 10:14:19 +02:00
hjk
8bb99e4c75 analyzer: merge valgrind based tool plugins
It is hard to imagine there is a real use case that someone wants one but
absolutely not the other.

Change-Id: I58bb57912f2edeacf2d5a24e3b2eb5a81262eabd
Reviewed-on: http://codereview.qt.nokia.com/66
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-05-23 13:55:11 +02:00