Commit Graph

500 Commits

Author SHA1 Message Date
Alessandro Portale
40c5213fdd Core: Move expand and collapse icons from autotest to core
...and replaced the duplicates of them in the debugger console.

Change-Id: If545800c47f3560e1f91d87bdd117abaf04dbd89
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-07-07 14:06:25 +00:00
Orgad Shaneh
7609e56ee3 QmlJS[|Editor|Tools]: Use Qt5-style connects
The heavy lifting was done by clazy.

Change-Id: I56550546b341d486d321329e9a90b9369d56af40
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2016-06-28 08:47:26 +00:00
Tim Jenssen
a6d21cc1f7 Qmljs: small QHash improvements
Change-Id: I79a5504c8471b66540aac8047fbcf760ceb6b10f
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2016-06-20 14:08:43 +00:00
Thomas Hartmann
7e7246bd25 QmlJS: Do not rely on Qt Creator plugins running
This is not the case in some tests.

Change-Id: I531997bc6eb0b9cb8057b7e488bca1c301c88add
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2016-06-14 08:02:06 +00:00
Christian Kandeler
a0f956f050 qbs build: Introduce new module "qtc".
The qtc module gathers properties that used to live in the top-level
project file. This is the first step towards making it possible to build
plugins against an installed Qt Creator ("out of source build").

Change-Id: Ia1514cc9c888e80be01b308e908de48980fcbdb8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-06-08 08:46:00 +00:00
Vlad Seryakov
af56457ab6 Add support for new javascript methods to QML/JS outline
Extened AST visitor for outline, declaration and locator to include
Javascript methods, prototype functions with formal parameters for
better readability.

Change-Id: Ifbb2b157699c929412196f356b0c28ae0564f866
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
2016-05-20 10:07:58 +00:00
Tim Jenssen
7e08363052 qbs build: remove unnecessary script dependency
Change-Id: I0e5764ffc9a6146932c43d96a31138451260c161
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-05-13 11:42:43 +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
e5459fb9dc QmlJS: Limit MIME type matching to extension
This improves performance of MIME type resolving on project loading.

When the MIME type cannot be resolved uniquely by extension to >50 weight,
the file preamble is read in order to match against magic values in the
MIME database.

In 3953e2b447862576902abef11ffb4efc56d7a625 the weight of the standard
file extensions was increased to 70, to at least avoid expensive matching
when the answer is obvious.

Qml types only have glob patterns anyway, so this shouldn't break
anything.

Change-Id: If3add50809a4361f877ea261fba6d6f333b2b740
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-03-15 11:57:38 +00:00
Orgad Shaneh
bc9ffac3c0 MimeTypes: Increase weight of common source types
To avoid expensive matching by glob or by contents.

Change-Id: Id873c02369915642821872d10b566006cc2be39f
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-02-29 08:02:46 +00:00
David Schulz
9aa51d4857 Editor: Fix whitespace cleaning.
Task-number: QTCREATORBUG-7994
Change-Id: I6c197ccc3a148555018e8f8184d116c88d7ea400
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-02-24 12:03:12 +00:00
Thomas Hartmann
e3a3792fd6 Removing support for DebuggingHelpers
This patch removes infrastructure and ui for DebuggingHelpers
and specifically qmldumptool.

The qmldumptool was the last relevant DebuggingHelper and is only required
for Qt < 4.8.

Change-Id: I3767be0858e5eba16a33a3ab8436e95fc06a9e99
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-01-25 08:55:27 +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
Ulf Hermann
42d570a3fe Rename Project::ExcludeGeneratedFiles
We want to distinguish between source files and generated files. So
let's call them by their names.

Change-Id: I324c4b82ca7fb7d8d0e175ea6c4f14f1306ec929
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-13 14:12:08 +00:00
hjk
33651877d8 Move QmlConsole to Debugger
Now it is closer to its only user and possibly reusable for no-QML uses
there.  We also drop the QML/JS syntax checker. The application being
debugged can already tell us about syntax errors. There is no need to
duplicate that functionality.

Change-Id: I2ba151f9f4c854c6119ba5462c21be40bddcebf9
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-12-09 12:06:26 +00:00
Alessandro Portale
09d03825fc Core: Better warning/error/info icons on non-toolbars
The warning/error/info with shadow and transparent mark work
well on our toolbars but not anywhere else.

This patch creates a separate set of these icons with better
contrast, filled marks and no shadow.

Change-Id: I96787753dffd80b325336f0adc8e3be054c34618
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-12-08 13:05:54 +00:00
Ulf Hermann
ee6399fd2e QmlJS: Flash the console when warnings are printed.
Change-Id: I9333e9d20a8d742ef0a0fcf2164bc6a127f77768
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-12-08 10:05:23 +00:00
Tobias Hunger
4b0a8648e4 FeatureProvider: Remove Feature and FeatureSet
Use Core::Id for Feature and QSet<Core::Id> for FeatureSet.

Change-Id: I12341036bd9eaa82589d92bd3f7d21f2e6b737bd
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-12-02 14:49:17 +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
Ulf Hermann
5babad8c38 QmlJS: Clean up QML console editor
Align the text between editing and display mode, and remove the dead
code. The prompt sign does not have to be part of the text and the
JS parser does not have to retain the code it parses.

Change-Id: I6e41f4fbc2cc863c84677640826d8663bcc648fb
Task-number: QTCREATORBUG-14931
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-11-03 08:50:51 +00:00
Ulf Hermann
19ab78865c QmlJS: Fix focus handling in QML/JS console
We want the line editor to be focused by default when the console is
opened either by mouse or by keyboard interaction.

Change-Id: Ic366d1ac5f1306c0739c334584568402969895f3
Task-number: QTCREATORBUG-14931
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-11-03 08:50:48 +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
Ulf Hermann
7dd898a1b1 QmlJSTools: Fix glitches in QML console
Half of the widget height is a particularly bad estimate for the
default height of a console item. Focusing editable items should be
done by explicitly transferring focus. Also, this only "worked" if
an editable or formerly editable row was the very first line in the
view, which rarely happens.

By default, if no settings are present, all log categories are enabled
now. Otherwise we might miss the error messages resulting from failed
evaluations.

Repeatedly setting the filter regexp to the same thing doesn't signal
a filter change, which is what we actually want when changing the
filter.

Change-Id: Ibe33b0438d92e777bdceaf9af032fc5117ba4041
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-08-25 14:59:17 +00:00
Ulf Hermann
b5717a5315 QmlJS: Lazy-load console items to allow for recursion
Using Utils:TreeView automatically gives us the capability for loading
item as they are expanded. This way we can show recursive structure in
the console as well as load data from the debug server on demand.

Also, properly print error messages received from unsuccessful
command evaluations.

Task-number: QTCREATORBUG-14931
Change-Id: I66d440eedd9723b04670169b27db1ee18f3f2891
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-08-25 14:42:22 +00:00
Tobias Hunger
57d652743e Qt: Update features for Qt 5.5
* Add QtVersionNumber::matches to match against a Qt version to
  make the code setting the features easier to follow.
* Use versionedFeatures instead of adding new string constants for
  the latest and greatest Qt Quick and Qt Quick Controls.
* Fix Qt-version-to-features mapping as discussed in
  QTCREATORBUG-14575
* Simplify code in qmljsbundleprovider.cpp: It should do the same
  thing as the old one.

Change-Id: Iba24e9d299a2a2e5d6e4de7cd1e95707a574678e
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-06-25 14:09:25 +00:00
Tobias Hunger
76a071757d QmlJs: More override changes
Change-Id: Ia2ea4d8ced3a23b38911517d1015b20d3412554e
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-06-04 13:32:46 +00:00
Tobias Hunger
b4b902eb48 qmljstools: s/Q_DECL_OVERRIDE/override/g
Change-Id: I09e7eae37107c1294555ff5d2021e0b131abd3d7
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-06-04 13:02:14 +00:00
hjk
d972b3b091 QtSupport: Remove SimulatorQt
Unused for years.

Change-Id: I721068ecf18afb09fb928a348cbb5e8127a3dfc2
Reviewed-by: Rainer Keller <rainer.keller@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-04-24 13:45:08 +00:00
Friedemann Kleint
1b9be30371 Clean headers in lib qmljs and plugins qmljstools, qmljseditor.
Change-Id: I3256db8f4d42b6326d986d754b45e6c6c2030839
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-03-05 08:17:10 +00:00
Friedemann Kleint
fb80206f3c Clean exported headers of the CppTools plugin.
Change-Id: I0144ac33e88980c431c54a6d69bbde28da4b1967
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-03-05 08:16:48 +00:00
Friedemann Kleint
54da18eaaa Clean exported headers of the Core plugin.
Change-Id: I26472d568844d5fee62323e01f5c5c12082d5450
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-03-05 07:18:14 +00:00
Eike Ziller
38b183fd90 MimeDatabase: Remove bestMatch, which was broken beyond repair
The problem is that, if you check e.g. a .pro file against all C/C++ mime
types, and these define magic matchers, it would find that .pro doesn't
match C/C++ mime types by extension, so it would open the file to find a
magic match. Even though the extension .pro would identify it already as
a qmake .pro file when checking for the mime type globally.

Change-Id: I3341187e88e2263bf38169c3c99e5d2161e2a9ee
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-02-27 16:02:25 +00:00
Orgad Shaneh
bb2aee7aa4 QmlJSTools: De-noise QmlJSModelManager
Change-Id: Iede105188819b1f07efac76ec9a9b05a6ae6049a
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-02-27 10:57:02 +00:00
Friedemann Kleint
fe2addf515 Clean exported headers of the TextEditor plugin.
Change-Id: I1e7dd34ba5a51fb0b34d137dc03add4457b32ed1
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-02-26 13:15:29 +00:00
hjk
7f001dab1b Core: Make Context parameter to registerAction optional
... and default to C_GLOBAL. A rather common case.
Similar for ActionContainer::addSeparator().

Change-Id: I7f9ba573af201c0a472132d5a494ad17cc4175b7
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-02-26 10:09:03 +00:00
Eike Ziller
4e53c23b4b Mime types: Fix that some QML files were opened as C++
We registered a mime type "application/x-qml" conflicting with "text/x-
qml" from freedesktop.org.xml. The magic matcher of the C++ mime types
might kick in, in that case.

Task-number: QTCREATORBUG-13994
Change-Id: I5900c233b42681d7b7d3af185d6ff3e1c4166e59
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-24 09:46:04 +00:00
Orgad Shaneh
b6de2d1bd8 QmlDesigner: 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: I492792bb9e5655c55795e938031efc557c9a462f
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2015-02-18 09:53:25 +00:00
Eike Ziller
5a3a940ad3 Use new mime database
Change-Id: I4305872b6b11ef3e8a364280ffa5209a5a793600
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-02-17 13:00:07 +00:00
Orgad Shaneh
831fb6181e CppTools: Remove assertions for CppModelManager::instance()
It cannot return null.

Change-Id: I3ac5f33e7e02554edc8df067c7b85518e58c1fc2
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2015-02-17 10:11:29 +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
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
Orgad Shaneh
8b5dcc13c5 Replace QFileInfo::fileName() with FileName::fileName()
Change-Id: I4852ff215abf25649fc5eac1e922ae901839ca3d
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-01-29 11:15:43 +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
Tobias Hunger
87faa62fa0 QmlJsTools: Use the startup project for context in the code model
ProjectTree::currentProject is not the right project to track.

Change-Id: Ia9da32a24e73565c4b9a3739c4000c13b803375f
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
2015-01-13 13:14:45 +01:00
Tobias Hunger
8bd53cfdc4 QmlJsTools: Fix typo in comment
Change-Id: I51cf21704c8a2b7ff8217aaf189a7ca66c2f24a6
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
2015-01-12 15:24:37 +01:00
Orgad Shaneh
c6a983d271 Core: Use FileName for file path in IDocument
Change-Id: I85f7398aee59d0d36f0e5c3bf88ff3c96002e394
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-01-12 10:23:37 +01:00
Daniel Teske
4943510b60 Completely rework currentNode/currentProject handling
Centralize the handling inside a new class ProjectTree.
React to moving focus and remove most special handling.

This properly fixes the linked task.

Task-number: QTCREATORBUG-13357
Change-Id: I6b06aa32b1e4305ec8a6d432857b302585d8734b
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-12-03 12:36:20 +01:00
Fawzi Mohamed
2c0125f67b qmljs: do not reset ProjectInfo in updateProjectInfo
updateProjectInfo did reset the ProjectInfo to the default one.
As now currentProjectChanged calls it at a different time, it did
give several issues.

Change-Id: Ia1eabc0ea83e89038a8f7d10cc6cda0544abfaea
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2014-11-25 14:35:57 +01:00
Daniel Teske
69a3b0ee54 OutputPanes::hasFocus() needs to check the window's focus widget
QWidget::hasFocus() returns false if the window isn't active.

Task-number: QTCREATORBUG-13361
Change-Id: I7152ec2139bbb255c2a722e378a111dc4bc2ed62
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-11-12 13:25:47 +01:00
Christian Kandeler
9d677e3302 qbs build: Remove unneeded import statements.
The respective items are available without it.

Change-Id: Idc840cf08e7bec84f561c096afe8de25b1fb8468
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-11-10 15:45:14 +01:00