Commit Graph

119 Commits

Author SHA1 Message Date
hjk
82803f5a68 Valgrind: Create only one extra configuration aspect
Let only the Callgrind tool create one, Memcheck shares it now.

Task-number: QTCREATORBUG-17053
Change-Id: I29d17ef5801ab295c2523f0748616b9e2aab29ce
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-10-10 10:02:56 +00:00
Ulf Hermann
15fbfaf2e9 Move icons to Utils
This way we can use them from libraries, not only from plugins.

Change-Id: Ic35cfd5f04d638d87606bf272b2c00ded1267c1b
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2016-08-05 10:52:53 +00:00
hjk
a8eb924a2a Debugger: Dissolve AnalyzerUtils::logToIssuesPane()
If the Error + popup combo is generic it should live in TaskHub.
If it is not, end user code should decide when to popup.
Not an intermediate level.

Change-Id: I195ba8c17c5cc192ff9762ed6f45629143bcbb35
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-05-31 14:52:12 +00:00
Alessandro Portale
a6683575c4 Icons: Move "next/prev", "[un]locked" and "zoom" from Core to Utils
They are needed in the timeline view.
The change in qtcreator-project.qdocconf makes sure
that qdoc still finds the referenced icons.

Change-Id: I812fba8e57d06d93efc00c295467c83c08cd1784
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-05-31 08:51:12 +00:00
hjk
df8e3b5925 Debugger: Let perspectives specify their central widget
The default 0 value will be interpreted as 'use the editor stack'.

Also, drop the idea of value semantics for Perspective objects
to get a simpler approach to the destruction of owned widgets
(tools docks + central widget)

Change-Id: Ic6470411ee5d387c43447f95b5a12c81c6658ff8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-05-13 11:34:00 +00:00
Eike Ziller
3d751dcf44 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	share/qtcreator/debugger/creatortypes.py
	src/plugins/beautifier/clangformat/clangformat.cpp

Change-Id: I1ab281c190767ced8a6ac2c026a121ea229a36cf
2016-05-11 13:28:35 +02:00
Christian Stenger
ea520e3f97 Valgrind: Avoid crash when changing filter
Change-Id: Ie7b0965b21a9fde05009cc649289323cba392b63
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-05-11 08:09:39 +00:00
Ulf Hermann
1a248b1b93 Valgrind: Remove factories from object pool when destroying them
Otherwise we get crashes on exit.

Change-Id: I806f374ba8f835c9e4361599aa901cfc4b2f0720
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-05-11 08:00:53 +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
Eike Ziller
4a826ada04 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	qtcreator.pri
	qtcreator.qbs

Change-Id: I0cbc9d335073e3234f472aa43f462eef9a9178aa
2016-04-22 15:13:58 +02:00
Alessandro Portale
5e32183c9b Theme: Separate run/stop/interrupt icons in menus
And for that, we also need separate theme color roles.

Change-Id: I27bf4499acb516f7f824f5e57632797653b150ec
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-21 15:57:56 +00:00
Christian Stenger
ed7d5e0d62 Valgrind: Fix compile on Win
Fixes compile error C3487 ('const Valgrind::XmlProtocol::Frame':
all return expressions in a lambda must have the same type: previously
it was 'Valgrind::XmlProtocol::Frame')

Change-Id: I6545cd2eda1fba4058bf0dc59ed835fed07f86e8
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-08 10:38:05 +00:00
hjk
916b92228a Valgrind: Use a lambda to provide filtering in the error model
Makes code more compact and local.

Change-Id: Id8973558292257e4d8a5a2648cd93f54411984a8
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-04-07 12:46:48 +00:00
Orgad Shaneh
f9a49118dd Valgrind: Remove unused and unimplemented function
Change-Id: I5f7571f5f275881b67556ed1d53589bd5a7d0110
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-03-25 17:20:12 +00:00
hjk
2d4c144fd3 Valgrind: Disable start actions during building
This prevents multiple starts of the same tool.

Change-Id: I2df89fa4336ff649a56c4dfb1f721ac31497d396
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-10 11:22:41 +00:00
hjk
a8b396b484 Valgrind: Fix filter initialization
Change-Id: Ib136a3abd2f0432001016e17f856cf042a8d2dd6
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-08 12:55:35 +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
c326011feb Valgrind: Shorten and correct start action name
The applications to attach to do not have to be remote at all.
Also, the name should be as short as possible as space in the
status bar is not unlimited.

Change-Id: I1df8e025114cd8ad94daa5219c26e61ce70e5e5d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
2016-03-07 14:57:27 +00:00
hjk
9ff81d5c68 Debugger: Make Perspective status label global
After some discussion we agreed that the contents is ephemeral
and does not need to survive perspective switching.

Change-Id: I41de6a8f9478e4bd229c8b204ef7a3fa0a344b75
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 13:14:14 +00:00
hjk
7a5226aa47 Valgrind: Clean up tools interface a bit
Mainly move tool specific code from plugin.cpp to *tool.cpp.
Clean up includes etc.

Change-Id: Ic968ead9d93099c59abe9f99a9db529305160f95
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 13:14:07 +00:00
hjk
f3bd7412ef Debugger: Remove return value from AnalyzerManager::createDockWidget()
Change-Id: If6cd2a68f2f99a1977ded0f05a12790194143274
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 08:08:15 +00:00
hjk
9c7146a881 Valgrind: Always use global settings if no project is loaded
Change-Id: Id52ec4fff052cbbafef1c83c1a864e259c55b148
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-02-29 12:02:57 +00:00
hjk
931ee3382c Analyzer: Rework the dock widget layout generation
Decouple layout generation from widget generation and
separate analyzer action description from menu action creation.

Tool specific layouts are named "Perspective" now.

Change-Id: I774efe77a07640c4cc26e4e566662c8a673c8831
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-02-29 10:47:43 +00:00
hjk
aaf05f5acd Move analyzerbase to debugger
This is the first mechanical step to execute on the 'shared pool of
debugger/analyzer views' idea.

Future steps would be providing infrastructure for the view pool,
making all analyzer/debugger views use the pool and then re-extract
a sensible base for a 'analyzer-and/or-debugger' tool plugin interface.

Change-Id: I1bb392e6dd3084fc56937956bee1d6fd9530335d
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-02-25 12:31:06 +00:00
hjk
e6f6026520 Valgrind: Random cleanups
Remove unneeded function arguments, Qt 5 connects etc.

Change-Id: I95faf80e7b5ccc574e2457b841f7913bc2aa05d3
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-21 12:56:37 +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
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
Alessandro Portale
033862f305 Themed Icons: Introduce Utils::Icon
Instead of describing icons via file name or in the themed icons case
via
a string that is a list of mask/color pairs, we have now a class for it.

Icons are now listed in per-plugin *icons.h headers.

RunControl::m_icon was The only place left where an icon property was in
fact a string. This patch changes that member to be a Utils::Icon.

Change-Id: Ibcfa8bb25e6d2e330c567ee7ccc0b97ead603177
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-11-25 12:30:52 +00:00
Alessandro Portale
b8bdc6f669 Icon refresh: First step towards the new Qt Creator themes
http://blog.qt.io/blog/author/didesous/ announced new designs/themes
for Qt Creator. This patch replaces many of the existing toolbar icons
with recolorizable masks for better theming support.

Change-Id: I557aa485205fe2624f33724226f698c303342b40
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-10-23 16:04:52 +00:00
Christian Kandeler
2b613ef7be Valgrind: Show status messages permanently.
There is no reason for these messages to fade away after a while.

Change-Id: I6dcf199af87df77b6d65e267a45f5553c85bc952
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-07-07 11:10:00 +00:00
Christian Kandeler
19253ded5e Analyzer: Have one status label per tool.
It does not make sense for all the analyzers to share a single status
label, as they are unrelated to each other.

Change-Id: I9cf885263853251f841ef96836860455905677ac
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-07-01 11:08:55 +00:00
Christian Kandeler
eb848eb89f Valgrind: Introduce Frame::filePath().
Change-Id: I40d1b7f739ea905bbcca1a388bada3e077b7c137
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-06-26 13:29:38 +00:00
hjk
92ec05c9bd Valgrind: Start custom actions more directly
This does not need to go through the PE machinery.

Change-Id: If0b2fde5309d7e119e8ac27245a22939b68d847d
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-06-19 08:17:02 +00:00
hjk
9494303bdf Analyzer: Move tool startup code closer to the action setup
The code sharing in the base was along a somewhat unfortunate
boundary. Moving it into the only user also removes some of
the wrong local/remote separation.

Change-Id: I0be9636ea448d123f9f5105a52d56f47ff7871c3
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2015-06-18 08:38:09 +00:00
hjk
fa704e0b84 Valgrind: Use some initializer lists when appropriate
Change-Id: Ic1988a3a046bf5a4c262d1e648376f077ed97448
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-05-07 12:40:12 +00:00
Christian Kandeler
c5dfc33b3d Valgrind: Log errors to issues pane instead of popping up a QMessageBox.
Just as informative, but less intrusive and can't introduce event loop
problems.

Change-Id: I7dec17b1e82ba23340376075125f965017047959
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-03 12:53:44 +00:00
hjk
54ce123a26 ProjectExplorer: Add runStartupProject() convenience function
The usage pattern seems to be used often enough to justify a function.

Change-Id: Iecdeb2b42879f419154902e685d0d13e8cae8b33
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-02-23 11:01:56 +00:00
hjk
813e995ebf Analyzer: Reduce explicit use of StartMode enum
Change-Id: I27b1d06395dea940c8dd39cd2bd41fc09cee3a9c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-20 09:35:24 +00:00
hjk
73e2b0c579 Analyzer: Dissolve IAnalyzerTool
Change-Id: I1fd90cf00d6b9dff54b4555a14747282830a4b93
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-18 14:52:07 +00:00
hjk
ca04d009f2 Analyzer: Move non-static parts of IAnalyzerTool::start*Tool
... to user code.

Change-Id: Ibe278134e39cfb3f90acedc976fab5e9dc019046
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-18 14:52:01 +00:00
hjk
64be0004a6 Analyzer: Remove IAnalyzerTool::m_toolMode member
It's always known from the context when needed.

Change-Id: Ibf314dfb779190e89b775acab784ed71acff2c83
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-18 13:24:01 +00:00
hjk
35d3088252 Analyzer: Move runMode member from IAnalyzerTool to AnalyzerAction
Slim down tool before dissolving.

Change-Id: I502aaa8860293acf8bfd93f541b751d5b96a9563
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-18 12:51:52 +00:00
hjk
da92b09969 Valgrind: Dissolve ValgrindTool hierarchy level
Medium term all *Tool should be replaced by RunControl(Factory)
to make the analyzer architecture more similar to Qt Creator core

Change-Id: I892cfc7fe45c73cc6ac4442a288810b83cb24c17
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-18 11:24:15 +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
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
Orgad Shaneh
349f415067 Valgrind: Replace QDir::separator with slash
Change-Id: I8f8192dc065702cb1c6bb218b8d992bb9775cd10
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-02-02 08:43:04 +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