The user has only one possibility to setup of the remote GDB server
when a new device is created (or to modify it for existing device).
It is possible only in the host/port fields for connection to the
GDB server. It is a little inconvenient for the user. If the user
wants to use other configuration of the GDB server, then need every
time to edit the current configuration.
Improving this it is introduction a new concept with a new entity
named as "GDB server provider". Now to the device debugging purpose
the user can choose any of the GDB provider from the list (by analogy
with toolchain and so on). Each configuration of GDB provider is
created by the user manually on the new "GDB Server Provider" options
page. This can be made before or after creation of device.
A GDB server provider can work in three startup modes (depends on
implementation of concrete provider):
1) NoStartup mode.
This means that we do not want to startup a provider, we just trying
to connect to the already started GDB provider server. This mode uses
the TCP/IP connection with manually specifying of remote host and port.
2) StartupOnNetwork mode.
This means that we want to launch of the GDB provider automatically
before connect to it in process of remote debugging. This mode also
uses the TCP/IP protocol. In addition to it, a GDB provider can has
additional options which are contains a paths to provider executable
file, to configuration files and so on (it is depends on concrete
provider implementation). This mode (with NoStartup) covers about 90%
of usecase, and is supported by most set of the GDB server providers.
3) StartupOnPipe mode.
This is similar to StartupOnNetwork mode and we also automatically
starts the GDB server provider before debugging. But in this case is
used the Pipe mode instead of TCP/IP. Not each of the GDB provider
can support debugging via pipes.
This patch has concrete implementations for a following set of the
GDB server providers:
* "Default" provider which supports only the NoStartup mode.
* "Open On-Chip Debugger" (http://openocd.sourceforge.net/)
provider which supports all modes.
* "STLinkUtil" (https://github.com/texane/stlink)
provider which supports NoStartup and StartupOnNetwork modes.
Tested on Windows and Linux with:
* target HW: ARM Stm32F4Discovery board with HW debugger STLink-v2
* provider: OpenOCD v0.8.0 (tested on Windows and Linux)
* provider: STLink-Util (tested on Linux only)
* toolchain: ARM GCC v4.9.2
* debugger: GDB v7.8.1 (with Python support)
* QtCreator with QBS project
Task-number: QTCREATORBUG-13686
Change-Id: I59c775d91b0a4227d931188879850c536290e1ba
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
The old definition sounded like strong but was qualified by an big
'if' at the end, resulting in stating the obvious for a single case
("use it when you need it for qobject_cast").
Having the reminder there is ok, if it is a common thing to forget,
but it should be recognizable as such, and can include "the other
case" where it is typically used.
Change-Id: I0183a12d14c414db9ff8b19598cb9dd22cedda8e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
We do not want to open separate editors for file names that factually
point to the same file through symlinking.
Change-Id: I70ce31d420accb284c1872781807a6e5c2f2e3b0
Task-number: QTCREATORBUG-5941
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Breaks loading of qtcreator project.
This reverts commit 4c6ad5e305.
Change-Id: I7c4cdaf57eed16d7643d05b9456e03d5120259b3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
The existent do not ask again question message box
isn't suitable for printing out information where
the user has no influence on an action.
Change-Id: Ief8d2a73b4621e05374ca9a1a4355d9768c69bcc
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
* named enum, access by value names
* named enum, access by enum name (C++11)
* anonymous enum
+ Add some failing tests
Task-number: QTCREATORBUG-13757
Change-Id: I7b0a859805a5979c3c886a6dbec703639fb374be
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
m_escapeCodeHandler is allocated in the constructor
and deleted in the destructor and therefore available
during the whole object lifetime.
Change-Id: I7882ac3e9954845c492b39dff6cd39ab81367d5b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
If there are multiple instance of FakeVim handler for single buffer
(this happens when there are splits with the same document), buffer data
are modified only in the instance that handles the last focused editor.
Task-number: QTCREATORBUG-13481
Change-Id: Idfd2727917262bfffb410396a911519e85dfd463
Reviewed-by: hjk <hjk121@nokiamail.com>
Add functions to remove a single item, to access the last child
of an item and a simple way to construct items that only display
static data.
Change-Id: I89347fbb6bbbac6b77fcfb23fa0b780a13643d6f
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Probably just a thinko in the original code.
Change-Id: Ie089737a3501c5aede9a2234c10e4f1c1611d952
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Since using window container breaks the native view hierarchy
(QTBUG-39363), we can use the native viewer only if we use QQuickWidget
for the welcome screen.
Task-number: QTBUG-39363
Change-Id: I26407a5c1db558d9a8ac6d79c37e3ffa0e009ed6
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Instead, always write into a unique temporary directory in
QDir::tempPath().
Where applicable, read the test source from files instead of first
writing the file.
Some clean ups in test_codegen*.
Change-Id: Id48dc50c6ca16252edfd9fc8a86ba0de9f9be486
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
The GenericProjectManager tests left over some state in CppModelManager.
Change-Id: I3f5c5bf27b9443e6753eb6c24114e2e5b99e7372
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The test was broken since the QmakeProject was changed to work
asynchronously.
FAIL! : CppTools::Internal::CppToolsPlugin::test_modelmanager_extraeditorsupport_uiFiles() Compared values are not the same
Actual (workingCopy.size()): 1
Expected (2) : 2
Change-Id: I6f7d05fb70af3def5fc371a9783b606309686e32
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
* Get rid of CppModelManagerHelper.
Now we simply use CppModelManager::projectInfo(someProject).isValid() to
test whether a project is loaded.
* Copy project data to temporary dir before opening the projects.
This avoids creating *.user files in the Qt Creator source tree and
annoying pop ups on test start.
Change-Id: I1a57441ca2099beb6bb96cf620390d669fb47601
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The settings from the test were not set.
Change-Id: I0e241ee1a60e4c4804c9e3e6819cbf0ecaa80d3d
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
...instead of going through CppModelManager::projectInfo().
Now CppModelManager::projectInfo() returns an invalid ProjectInfo in
case there is no valid data for the given Project.
Change-Id: I11908bf2ddf865b1d3d71ff176eaf4139292b21c
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
The compiler is unable to match the arguments of the connect
statement when a QPointer is involved.
Change-Id: I87d3c11b9452f07739bf4e905a18071145c4e21d
Reviewed-by: hjk <hjk121@nokiamail.com>
Event loops can lead to crashes so it is better to use a dialog which has
not it's own event loop.
Change-Id: I53b5dee15e7207df91df45fd531e4520d502481b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Separate the messy pp-number parsing from the numeric literal parsing.
The C/C++ preprocessor makes a grown man cry, but at least we have
"proper" literal parsing when we want it, including C++1y binary
literals.
Next step is digit separators (n3781).
Change-Id: Ia069eef454ed5c056f77694a5b8a595d0b76adc4
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Create a clean and unique settings directory for "-test" runs if no
settings path is provided explicitly.
Change-Id: Ida2f5a74d42a5292963dd8d5d1f9dcddcdd24fd4
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The rendered text is still ugly, but the fuzzy text is better than the
alternative currently.
Change-Id: Id9e54fb406ee964e0b9b5c40b7a8108b45c15f85
Task-number: QTBUG-42861
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Use the background color property in the QML code instead of relying on
QQuickView::setColor
Change-Id: I556515a42d9483f88500fa5a5c56ea21f48fa685
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
In ProjectTree::update() as well as in
CurrentProjectFilter::currentProjectChanged(), there are crashes due to
accesses to a pointer to a deleted project. Wrap the pointer in a
QPointer to prevent this.
May or may not be the correct long-term solution, but does fix the
crash.
Change-Id: I4182a4753578cc4765b9120a36cd8701d07c94c1
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
We keep connections open to avoid re-doing the authentication procedure
when the user runs or deploys a remote app repeatedly.
However, the connections should not be around indefinitely; we therefore
now close them after about five minutes of inactivity.
Change-Id: Ie677eb133b618d34c08528da2f2bc221472316b3
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
If you pass 0 as notes model to the aggregator then all the notes
features are hidden.
Change-Id: I432f2820812c472221a0330de5b8f5d8d0fcad13
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>