This is a major overhaul of the slection logic.
We do not change to the move tool automatically once
the curser enters the selected item. This allows selection
of items that are at the same position as the current selected item.
The selected item can still be moved if there is no pissible candidate for
selection. Also the border and gizmo always allows an item to be moved, if
the item is fully covered by another item.
Change-Id: Ic97a2bf23f33fcc5e209248aeb2f97df67bd23e1
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The syntax highligher is connected to the content changes of the text
editor which is not very useful if the diagnostics been provided by
an asynchronous mechanism. So we add a setter to disconnect the changes
from the syntax highlighter.
Change-Id: Ied4b5fe34000b13bafb1aa177b89befe6620d4d7
Reviewed-by: David Schulz <david.schulz@qt.io>
QTBUG-26593 is fixed since Qt 5.3.2. The bug lead to e.g. the mouse
cursor not changing it's shape when hovering over links.
Change-Id: Ib8d2188cbbe87592217f4159286f38bc1c6f2b28
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The dialog is shown when the cmake configuration changes.
The user can either apply the changes or reject them. To determine the
decision of the user the return value of the dialog is evaluated.
This is wrong because the dialog uses custom buttons (see documentation
of QMessageBox::exec). As a consequence the configuration is never
applied.
Use QMessageBox::clickedButton to determine the user decision.
Additionally change the role of the apply button from AcceptRole to
ApplyRole as this better matches its intention.
Change-Id: I1d2d1fb7186dcc8d789c192c51bb34111eb84ee5
Task-number: QTCREATORBUG-18292
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
When the cmake configuration changes, BuildDirManager checks whether
the new configuration differs from the current configuration.
In case of differences a dialog is opened and the user must decide if
the changes shall be applied or rejected.
When the user changes the cmake configuration in the projects page the
dialog will open as well. This is unencessary since the user already
decided to apply the changes.
Let BuildDirManager not check for changes if the configuration was
changed by the user via the projects page.
Change-Id: I736ee7f4dee99fe707f2931c73b287231b1daa1d
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Changes to the cmake configuration (via projects page) are not applied
in tealeaf mode.
The tealeafreader::parse method passes changed config parameters to
cmake only if the .cpb file does not exist. Since that file always
exists after project initialization the user can't change the cmake
config anymore.
Make tealeaf reader pass changed config parameters to cmake when
a reparse is forced. This restores the behavior from 4.2.2
Change-Id: I31ffad32d176e6290064b55758e4df96d2ffe6bc
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
The tealeafreader creates a RawProjectPart for each cmake build target.
However, the location of the CMakeLists.txt is not set/added to
RawProjectPart::projectFile and RawProjectPart::buildSystemTarget.
Both properties are required by the AutoTest plugin to map
run configurations to test configurations.
Make tealeafreader use the same code as the servermodereader
to determine the location of the CMakeLists.txt.
Change-Id: Ia35444799bcd3c46f84ad897044cae56c1aa16ac
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This removes all the "inkscape:export-*" attributes which are
user specific.
Change-Id: I70cdbb5e1ca1cce63991b2eaa539b80692864ac2
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This reverts commit 1646510ffa.
Had problems at highDPI and is not necessary since we have all
icons in the right size.
Task-number: QTCREATORBUG-18587
Change-Id: I544aa23f29db571cb9920f6ac7d462c2f463e24e
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This fixes the temporary regression introduced by 5a848aa1. After
having RunWorker registration in RunControl and RunConfigurationAspect
registration in RunConfiguration, this was effectively the only
remaining code in IRunControlFactory, so this can go now.
Change-Id: I38b51bb00058b90d30f0260660b040f788920008
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The icon should have the same size and look as the other icons.
Task-number: QTCREATORBUG-18550
Change-Id: I16ee48196a14878858f02cabe0678342b4abb44f
Reviewed-by: Filippo Cucchetto <filippocucchetto@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... and replace it by direct uses of ProcessHandle::activate().
Change-Id: I7beffba7bfbeff72a81b8699ff54a311a74ce1a3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Instead of a blunt delete() RunControl::initiateFinish() is triggered
by the closing of the application output instead. The rampdown process
is basically the same as stop() now, except for the other success
signal (new finished()) and the final self-destruction of the
runcontrol.
stop() itself triggers initiateStop() on all running workers in
parallel (before it was in the order of start). This gives
downstream complex worker combinations the flexibility to use any
order it wants by ignoring stop() on 'uninteresting' workers,
and centralizing rampdown e.g. in the main worker. That setup should
be rare in practice, but seems needed in some profiler cases.
Change-Id: I986a152a663754206709ed4df0d4568847afad17
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This fixes the regression introduced in 5a848aa188 and uses the
feature to resolve the conflict between ClangStaticAnalyzer and Boot2Qt.
Change-Id: I6cdec8261a457c399c11a4b2078a78088d4c56d1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
In that case the first item will be activated as soon as it gets
available. That behavior got lost during the recent refactoring.
Task-number: QTCREATORBUG-18560
Change-Id: Ifda117f92f2adf23b499f50bdb4809c5e7830517
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
The two cases in which the UI might be blocked are:
* Invocation of the editor context menu
* Rename Symbol Under Cursor
Cancel the future if the backend is restarted and on the other side,
check whether the future is cancelled.
Change-Id: If2315da1f66f15eab1531fcd8da1dff851a9a4e6
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Issue was:
1. Open some small file without any includes but with diagnostics
2. Switch to the shell and touch the file open in Qt Creator
3. Switch back to Qt Creator and confirm reload
--> Ops, inline diagnostic stays invalidated/gray
This is due to a race condition. The problematic sequence is:
1. CppEditorDocument::scheduleProcessDocument()
// OK, because contents changed
2. ModelManagerSupportClang::onCppDocumentReloadFinishedOnTranslationUnit(bool)
// OK, because we listen on TextDocument::contentsChangedWithPosition.
// Because of the fast reparse, new diagnostics are processed with
// ClangEditorDocumentProcessor::updateCodeWarnings().
3. CppEditorDocument::processDocument()
// Timeout, invalidates the already up to date diagnostics
Avoid to trigger the process timer during a reload.
Change-Id: I712d6b2fd5524d5fe6866dbdbb8cbca05e4aef2c
Reviewed-by: David Schulz <david.schulz@qt.io>