| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Change-Id: I1d4fc0f25f1882a34058c66c51376982cc70238e
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
... when creating a run control for a Qt project. Now tasks will appear
in the issues pane for QtTest application output in the app output pane.
Task-number: QTCREATORBUG-22665
Change-Id: I2674f3d4f9aabc0a4db4178dcd5495b822f14022
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now only one piece of code needs to be written to both linkify output in
an output pane and create tasks for it in the issues pane.
The calling sites are also simplified. For instance, until now, build
steps had to feed their output parsers manually and then push the
created tasks up the signal stack in parallel with the actual output,
which the build manager relied upon for cross-linking the output pane
content. Afterwards, the output would get forwarded to the formatter
(and parsed for ANSI escape codes a second time). In contrast, a build
step now just forwards the process output, and task parsing as well as
output formatting is done centrally further up the stack.
Concrete user-visible improvements so far:
- File paths in compiler/linker messages are clickable links now.
- QtTest applications now create clickable links also when run
as part of a build step, not just in the app output pane.
Task-number: QTCREATORBUG-22665
Change-Id: Ic9fb95b2d97f2520ab3ec653315e9219466ec08d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
|
|
| |
Amends d42920d372.
Change-Id: I302c4e54cbe2dcc2340deffa99237e909418939d
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
|
|
|
| |
For symmetry with IOutputParser.
Task-number: QTCREATORBUG-22665
Change-Id: I92e93b32e87ff4f3fa163a2d2fe13768e56bfa24
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An OutputFormatter takes some string and prints it into a text edit.
In addition, it can ask any number of registered OutputLineParsers
whether they think any special formatting should be applied to the
current line.
This mechanism is now properly modeled by our class design, rather than
being hidden in a monolithic class where everything had the same type,
no matter what its purpose was.
Prospective contributors can now simply be pointed to the
OutputLineParser class and will see at one glance what they have to do.
Change-Id: I9844499f062c94fb038ce73fd6f26576910148c2
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of working directly on the text edit, the specialized
OutputFormatter classes now simply ask the base class to do it for them.
In practice, the request currently always is "turn this part of the text
into a link", but the interface can be extended to other types of
formatting, should that ever be required.
This is a win/win situation: Derived classes no longer have to fiddle
with QTextCursor & friends (nor do they have to call any base class
functions), while the base class can make strong assumptions about what
the derived class does to the text edit (i.e.: nothing).
Change-Id: Icc4bc52d4001b0359247563e39a206fa274833d7
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce an aggregating output formatter that forwards its input to a
sub-formatter that feels responsible for it, or otherwise lets the base
class handle it.
Our output panes now use such an aggregating formatter.
In particular, this means that in the future, we won't have to stuff all
run control output formatting into the Qt output formatter anymore.
Change-Id: I5498f200a61db10ccff3ec8974c6825da7f7072d
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
All output formatters are line-based, and they all did their own line
splitting and, if they didn't entirely ignore it, handling of partial
lines.
Instead, we now do all the book-keeping in the base class, and the
subclasses always work with complete lines.
Change-Id: I0b0df7951d0e4f6601f4d912230071784c87b3d3
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
|
|
|
| |
That's where it belongs: The logic there is applicable to all output
formatters, not just those used via an output window.
Change-Id: Idf4ca8d22631ca96feb97553f28724c0275e0bf8
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
| |
Change-Id: I337a78f9edf8b63869b117e031c648e52e3203a0
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
|
|
|
| |
There does not seem to be a reason for the duplication.
Change-Id: I7c9b016c76a9aa93ccd93af0aea931fa5b148300
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Merge QtOutputFormatter::linkFormat and
PythonOutputFormatter::linkFormat to OutputFormatter::linkFormat because
these two functions were identical.
Fixes: QTCREATORBUG-23562
Change-Id: I1337b2fd66fc7d7b6742eb5e9c1a2caf1dc6b5bd
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
cmake/QtCreatorIDEBranding.cmake
qbs/modules/qtc/qtc.qbs
qtcreator_ide_branding.pri
src/plugins/projectexplorer/gcctoolchain.cpp
src/plugins/qmldesigner/components/stateseditor/stateseditormodel.cpp
Change-Id: Iffdf48e782a734107ea170ebb3812e997cea0e7b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Missing `this` captures
* Implicit size_t -> int conversion
* Unused argument
* Suppress warnings in clang headers
Change-Id: I7083ce6ab22ee22ecc1258539e77c790acc78df1
Reviewed-by: hjk <hjk@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Essentially following the scheme used for the various project
configurations. This makes it possible to construct OutputFormatters
by Id only, potentially reducing hard plugin dependencies and
opening the road to have several output formatters per
RunConfiguration/Outputpane/...
Change-Id: I4b5fb6fb6be8b0d9a0859f178bb0effc3398b09e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I273a1e8f5f9e54756befbc398c2c2754534ff128
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The QTest failure output was modeled after the compiler error
pattern, which contains file name and line number to point to
the precise error position.
Unfortunately, some compilers (MSVC) separate the line number
from the file name with "(line)", while others use ":line".
Let's handle both when parsing the application or test output,
as it was before 9a0ef8ac64, which explicitly separated both
parts in the regexp pattern.
This amends commit 9a0ef8ac64eb47fd932aebbb0751c431c0b74a08
Fixes: QTCREATORBUG-22800
Change-Id: I58154111612bbb452af19b34f7217afc6dd098df
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
qbs/modules/qtc/qtc.qbs
qtcreator_ide_branding.pri
src/libs/utils/synchronousprocess.cpp
src/plugins/baremetal/iarewtoolchain.cpp
src/plugins/cmakeprojectmanager/cmakeproject.cpp
tests/unit/unittest/CMakeLists.txt
Change-Id: I124ad492df403286751e175d27fe36487ddf6d07
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QUrl does not have good support for relative file paths, and it
seems there is little interest to change it: QTBUG-44921
Work around this by constructing the QUrl again on failure with
fromLocalFile(). In this case, the "file://" scheme has to be omitted.
This issue was detected because some compilers generate paths with
native Windows separators, like "..\main.cpp" for the __FILE__ macro.
Debugging the issue showed, that rather the relative path was the
problem, as the QUrl constructor does not support it.
Change-Id: I30074a3d11f9f43e05cd202f6d86c752ce184785
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|/
|
|
|
|
|
|
| |
This gives the UI a bit more opportunity to render after the project was
parsed.
Change-Id: Ie316f1c69cb0ebb856943a094b81b55f1aa2317a
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
|
|
|
| |
Task-number: QTCREATORBUG-16356
Change-Id: Ibf6cca1915ef56c50c01cd3c23e7798453506a05
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
qbs/modules/qtc/qtc.qbs
qtcreator.pri
src/plugins/debugger/debuggerkitinformation.cpp
src/plugins/languageclient/languageclientmanager.cpp
src/plugins/plugins.pro
src/plugins/projectexplorer/kit.cpp
src/plugins/projectexplorer/kitmanager.cpp
Change-Id: I66fb941202991f35f7d7761430b21e42dfc678a8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The output formatter code normalizes the path separators if the path
points to a non-existing file (via FileInProjectFinder), but only on
Windows. So expect a normalized path in the result, and only run the
Windows-specific test on Windows.
Change-Id: Ifef8292a60d8c4f5f94476fb8678d56ac97a9361
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes the following snippet:
const QString inputText =
"\x1b[38;2;0;127;0mGreen "
"file://test.cpp:123 "
"\x1b[38;2;0;0;127mBlue\n";
qDebug().noquote() << inputText;
which resulted in the output:
Green file://test.cpp:123 Blue
before, with both word "Green" and "Blue" in blue color.
Now "Green" is printed in green and "Blue" in blue color.
Change-Id: I71b5385a96d4e272c2bdd3f48fc3ee8e85eb916a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt Creator extracts file names from the output of external processes in
various places, for instance from compilers during the build. It often
happens that such file names are not absolute, so they cannot be
directly opened in an editor when the user clicks on their
representation in some widget. That's why they are processed by the
FileInProjectFinder facility first.
This patch enhances the FileInProjectFinder to be able to return more
than one candidate for a relative file path, and allows the user to
choose between these candidates where possible. This way, we won't open
a random file anymore when a project contains more than one file with
the same name.
Fixes: QTCREATORBUG-13623
Change-Id: Id19c9eace3e6b3dbde89f6528e6d02b55872d747
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
|
|
| |
It's hard to imagine that that was intentional.
Change-Id: I9459e0043e31bd92179aad3aa8712c233ed17084
Reviewed-by: hjk <hjk@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Either alone on a line, or with text before, or with
text afterwards, separated by colon, space, tab, or
brace as before.
Especially thought to capture cases like
file:///home/user/main.cpp:157
on a single line, but accept that also as long as
the file link is separated by a word separator from
the sourrounding text.
Fixes: QTCREATORBUG-20406
Change-Id: I25bceb186818c9ea680741573a806f66395c3e16
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
|
|
|
|
|
|
|
|
| |
The greediness of QT_QML_URL_REGEXP was inverted by the "+?" operator.
Change-Id: I8e53009b85a5c933fdc44ebeddf9c9fb24772a56
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
|
|
|
|
|
|
|
| |
Change-Id: I67e969da2b785ceeb501ec0bb61d67b8f973edca
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
nullptr, range-for, omit QLatin1(Char|String)
and ::fromLatin1
Change-Id: I597ca33a9bce9590a10655a7db9c48ac4b324c74
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/cpptools/compileroptionsbuilder.cpp
Change-Id: I522f91de70aff28692d7c3a050e8d52df0b82a76
|
| |
| |
| |
| |
| |
| |
| |
| | |
Especially on Windows, where drive letters are involved too.
Fixes: QTCREATORBUG-20110
Change-Id: I172c8a39d59ce4c8ffadf210eb4c592ef2609f11
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
Fixes: QTCREATORBUG-21744
Change-Id: Iaae1d58df641a0ba72d88c1fba5dbb47412a978c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
| |
Do not pass the cursor around, just use the member.
Change-Id: I2b485c49b71a0cc11d8c8e07a8d7961b9b9beb70
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
|
|
|
|
|
| |
Change-Id: I5a3f376bea4ee06c6856e614f6f71974c2f5ca87
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
|
|
|
|
|
|
|
|
| |
This simplifies code and reduces the number of conversions between
QString and Utils::FileName.
Change-Id: I47bd86b9ae09b1da37b4e5e604761367ac1ab26b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For example the function f:
function f()
{
console.assert(false, "console.assert() did not pass");
}
gives the following output:
console.assert() did not pass
f (qrc:/main.qml:19)
onClicked (qrc:/main.qml:14)
which was not handled correctly previously because of the
closing brace.
Task-number: QTCREATORBUG-20406
Change-Id: I0d63393027cfdb72629007bd9b273b5bb83d392f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
|
|
|
|
|
| |
Change-Id: I75ceb22ac65b8288d824f229d44089cba6fc8ea3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
|
|
|
|
|
|
|
| |
The heavy lifting was done by clazy.
Change-Id: I24cb0cd088b74364320cdd34282d7b15305a93bf
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
|
|
|
|
|
|
|
| |
* Update files in src/plugins
Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
On Android those messages are prepended by e.g. W/libuntitled156.
Adjust the regexp to also match in the middle of the line.
Change-Id: Idd2ed8f4de8f4070da4fc673051eb29efe72fa66
Task-number: QTCREATORBUG-14832
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
|
|
|
|
|
|
| |
Task-number: QTCREATORBUG-14208
Change-Id: I50f76c3cf5c755ccd139bd6cfb924beb0379f506
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I5fb762cd767c31673f4dba6044db9f135e71102b
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Ib2748f1cdd5de4bf11f0eab03bd4c6a683580a9e
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I79a1c51fb52c66561d44acfb9c26c5ec24ca6e52
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
|
|/
|
|
|
|
|
| |
Task-number: QTCREATORBUG-13764
Change-Id: Iac020bbea0eae8bd2b09f836a61da199acec1575
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
|