Replace some hard-coded colors with theme colors. That is required for
the Flat Light theme.
Change-Id: I2ce289fce8c2e6437148eb691484e0441975979f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The order is 0 by default and thus the snippet items were at the very
top, e.g.:
enum EnumType { EnumValue };
void f()
{
EnumType et = // Complete here and see snippet items at top
}
Change-Id: I70a160d102b91a2589972354c50aa5f0b29323e8
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Temporary workaround to avoid dead lock when executing
plugin unit test.
Change-Id: Ie6c3673d756ff3b67320bcc75d590933e58a5276
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
The theme might be incompatible with the text style settings, especially
those that rely on the default palette (and were designed before themes
were implemented).
Task-number: QTCREATORBUG-16482
Change-Id: I8f63460ad250a494dcafd11366d7bacdbb71c142
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This makes it possible to debug the .metainfo files in
a release build/package.
Change-Id: Iceae98b0e00b9d4deba0ae3f31b1f55fca2c5cf2
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
We using F2/goto into component the auxiliaryData is typically
already set.
Change-Id: Ib201198f5fcd7a716fb416b54537488cc5b68afc
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Use the original fancy toolbar colors by removing the
Alpha channel.
* Use the splitter colors for borders to avoid white borders
in light themes.
* Use the FancyToolButtonHoverColor for buttons and combo boxes.
Change-Id: Id636e0713c8e2769c5eb03a115a60ccad8226f23
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Speed ups the typical use cases that can profit from this:
* Change a header file and switch then to source file
* Open documents one after the other (Follow Symbol)
* Change documents visible in splits (e.g. by refactoring action)
* Restore a session with multiple splits
Fixes the test ClangIpcServer.GetCodeCompletionDependingOnArgumets.
Change-Id: Ia575bd59780df14146dfc091a4d48794e4a0543d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Extract TranslationUnitCore, which is the API for the high-level
operations we need. TranslationUnit does not call any clang_* functions
anymore, except the one needed for disposing the CXTranslationUnit - for
now, we keep TranslationUnit the owner of TranslationUnitCore.
TranslationUnitCore will be passed on to the worker threads.
With this, the current "TranslationUnit" looses its meaning. We will
rename it to "Document" in a follow-up change.
***
TranslationUnit::cxTranslationUnit does not implicitly
creates/parses/reparses anymore. We use more verbose update operations
now.
The test ClangIpcServer.GetCodeCompletionDependingOnArgumets fails now
because of this - CodeCompleter::completeHelper() does not recreate the
translation unit anymore, thus working on the old data.
This will be addressed in a follow-up change.
Change-Id: I6213d6f1609cd3c9a54666c84cb8b623b2fefe1c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
...in preparation for concurrent processing of documents.
Parsing and reparsing is handled by TranslationUnit. Since we will do
this in a different thread, extract the core logic into the new class
TranslationUnitUpdater, so that we can prepare the necessary data for
the run and then later incorporate the results of the parse/reparse.
Change-Id: Ic9d936d193ee6795a755f0cfc38c0b2a7bd402cc
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Make the necessary data implicitly shared since it might get
accessed/modified from two different threads with follow-up changes.
This applies for UnsavedFiles/UnsavedFile and ProjectPart::arguments().
* Avoid returning references.
Change-Id: I98842c1cb90ae0d344a15c63b72cbc89568722d3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Respect different location if tests are installed
before executing.
Task-number: QTCREATORBUG-16638
Change-Id: I2d154e26cdd0f28bd51e7a885c5486d36af38a68
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This patch adds a flag which enables the "fancy" side/tool/status bars
to use the original Window color from the application palette.
The flag is disabled for all themes by default.
Task-number: QTCREATORBUG-16331
Change-Id: I1433e865e1903012d521a2cdb7083f110086e455
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
If several threads can be involved in the signal/slot exchange we need
to show the receiver objects to connect() so that the signals can be
queued when necessary.
Change-Id: I24b4fe90095ce10eeeff9618faff97bd9d05c6eb
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
It does not understand "--version". Use clang.exe for the version check.
Change-Id: I64a46e8e2e5be47ad6f13c9c5497264e1128a22a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The StackLayout is working and it makes sense to add it to the
item library.
Change-Id: I732398a25091f2a33f38c42f5bf1c55ef9dac237
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Having *some* limit is reasonable since sorting happens in the UI thread
and given enough includes/symbols it will freeze sooner or later.
The strategy is now: Stop sorting at all if there are more than 30.000
completion items to process.
The limit is a guess made on the following measurements. The goal is to
keep below 100ms.
test | items | before | now
-----+-----------------------
Cpp1 | 6394 | 172ms | 15ms |
Win1 | 44739 | 125ms | 56ms |
Qtc1 | 9648, | 16ms | 15ms |
Qtc2 | 10210 | 20ms | 16ms |
Qtc3 | 51044 | 141ms | 63ms |
Qt1 | 62953 | 172ms | 78ms |
Windows.h alone pulls in about 44.000 completion items.
Used test procedure
-------------------
For each test below, do:
1. Start Qt Creator in release mode
2. Open/create the project with a MSVC2015 Kit
3. Open the mentioned file
4. Strg+Space in the mentioned function
Measured with a timer in IpcReceiver::codeCompleted.
Test projects:
Cpp1: stdc++11-includes.pro, main.cpp, main()
Win1: Create project from wizard, *.cpp file including windows.h, completion
in some added function
Qtc1: qtcreator.pro, texteditor.cpp, BaseTextEditor::duplicate()
Qtc2: qtcreator.pro, fakevimhandler.cpp, FakeVimHandler::jumpToLocalMark
Qtc3: qtcreator.pro, botan.cpp, version_string()
Qt1: qt-essential-includes.pro, main.cpp, main()
Change-Id: I6fbd65d14f6086f289be7dd6c24385996e4bde83
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
After sending the interrupt request the application will continue to
the next line of JavaScript and only interrupt then. There is no way
to interrupt the application via the JS debugger as long as no JS
engine is active.
The downside of this is that the pause/continue/stop icons are disabled
until the application actually interrupts. The user might not
understand this.
Change-Id: I355de52f65898d6bdcd437675adba368662f3c13
Task-number: QTCREATORBUG-16646
Reviewed-by: hjk <hjk@qt.io>
The LeveledTreeModel case is general enough to cover
the UniformTreeModel case, so merge them and rename to
TreeModel. The former TreeModel is now BaseTreeModel.
BaseTreeModels should not be instantiated directly,
a tree model with non-uniform basic items is available
as TreeModel<>.
Done-with: Eike Ziller <eike.ziller@qt.io>
Change-Id: I64a65617ab68c0cde39cf65f4bc092ef808ee6fb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Call updateVisibility() in ProgressManagerPrivate::init() to ensure that
it is really invisible when launching Qt Creator.
Also make sure that the opacity for the visible progress bar is 1.0
instead of 0.7 (which is the default opacity in QGraphicsOpacityEffect).
Task-number: QTCREATORBUG-16003
Change-Id: Ic268d903ce624c9e0b4c11e213002a22be1fba63
Reviewed-by: hjk <hjk@qt.io>
This fixes a couple of issue in the .css and we
always use the same highlight color (QmlDesigner_HighlightColor).
Change-Id: I6522eabc00c30399b2c3b2689256b970ec558719
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
We assume that libclang does not return any duplicates, at least we
never noticed any so far. For the concrete test below no duplicates were
removed.
Function overloads are not problematic because they are folded into one
ClangAssistProposalItem (addOverload()).
To the completion items from libclang we add the Qt Creator snippets as
items. Those might have the same text in the completion list view, but
their icon is different (e.g. consider the keyword completion "class"
and the Qt Creator snippet "class"), thus the user can still tell them
apart.
Test:
1. Open src/plugins/clangstaticanalyzer/unit-tests/qt-essential-includes.pro
2. Open main.cpp
3. Complete in the main function
Measured with a timer in IpcReceiver::codeCompleted.
On Linux, for 20637 completion items:
Before: 74ms (avg)
Now: 66ms (avg)
Gain: 11%
Change-Id: I524eaa09f8d9e07c78dc9efcc77f7e021c6f37f7
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The existing solution with the special-style horizontal
kit selector comes from a time when there was typically
one, at most four targets. Today's setup can easily
reach half a dozen targets with several toolchain versions
each and can't be sensibly handled with the overflowing
horizontal bar.
This here replaces the horizontal kit selector bar as
well as the top level project "tab bar" with a normal
tree view. All targets are visible (but possibly disabled)
at once, and can be enabled/disabled using the context
menu on the tree items.
Change-Id: I1ce7401ca96109bf34bc8c0ae19d265e5845aa88
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
We have a case of a crashing puppet,
that might be related to QML2_IMPORT_PATH.
Since this only affects packages and we only see
the issue on a non developer machine, we just go back to
the old behavior for now.
Change-Id: I322cb5b02ff3b5a3dc27bab4767e6488686d216f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
If the application outputs the "QML debugging is disabled" line (and
Qt Creator can read it), the QmlProfilerRunControl will kill the
application. In the test this happens if Qt Creator was compiled
without QML debugging enabled.
Change-Id: I958a991d304ec9af8643e88dd9709f580a28753f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
To be used in the new Project mode main window to prevent accidental
closing of the navigation dock.
Change-Id: Id8970ab80a91113e97a9f9a07b9dfb12b9cb0e30
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
We can actually get several TCP connection attempts from the client
manager. That is the whole point of retrying. The QQmlDebugServer
explicitly allows sequential connections, so we should allow them, too.
Change-Id: Id38290dbfd86fadfb0c648189f89827330ea1174
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This can happen if a previous session marked a plugin for not
loading and ended the session in a perspective provided by that
plugin.
Change-Id: I83a5dda421a1bb8ed2f8942f03e629e9c5d4d4ed
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
...on the plugin side by removing a left over calculation. We construct
the detail in the virtual ClangAssistProposalItem::detail(), that is, on
demand.
Test:
1. Open src/plugins/clangstaticanalyzer/unit-tests/qt-essential-includes.pro
2. Open main.cpp
3. Complete in the main function
Measured with a timer in IpcReceiver::codeCompleted.
On Linux, for 20637 completion items:
Before: 119ms (avg)
Now: 81ms (avg)
Gain: 32%
Change-Id: I9617cb9651a8367c31cd40e965175b5b37e10730
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Disable running tests also when currently executing a test run.
Change-Id: Ic9538678d678650c3c79da5699f96e812d7c5415
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Make it a real reactangle, without worn-out corners.
Change-Id: If7cce94896a485d34ae23602bb1dc7437cf1c62c
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
The text field for bindings was not properly themed, yet.
We also use general Qt Creator icons for apply and cancel.
Change-Id: I45f1220540a6eaeff05be0b99d8b70b64ca67af4
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
for text document, after reverting some change in diff editor
Change-Id: I3511f00e52beffba1cce67fb6940d1b580ef99cd
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>