On the user-visible side, only the 'Analyze' mode button disappears,
and instead a combobox to switch between different tools in appears
in the Debug mode toolbar.
Internally, that's quite some re-organzition: The centralized
'Analyze mode is busy' flag is gone, allowing us to run e.g.
ClangStaticAnalyzer and MemCheck in parallel.
Analyzer tools and debugger now share the same mechanism to
generate/load/save dock widgets.
Analyzer tools now create and handle their own start/stop button
when appropriate. In general, Analyzer tools can create/handle more
than one run control at a time.
Further consolidation is possible, e.g. RunControl state handling
could be merged into the base ProjectExplorer::RunControl to
avoid the still existing duplication in ~15 instances.
Change-Id: I91e5940ebc4211f98056d507cf2f7b5f8efe7f07
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The applications to attach to do not have to be remote at all.
Also, the name should be as short as possible as space in the
status bar is not unlimited.
Change-Id: I1df8e025114cd8ad94daa5219c26e61ce70e5e5d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
...at least for C++ based auto tests.
Qt Quick Tests are out of scope for this issue as this
would need too much additional tweaking for several parts
of the plugin.
Task-number: QTCREATORBUG-15813
Change-Id: I440a8b1f8e6deb9e6acf2e82d0831fb002c10390
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This can potentially be expensive, so delay it.
Side effect is that the "History:" label in the Search Result
OutputPane is now correctly rendered:-) That was broken since
the Kit initialization triggered an event loop to be run too
early by running a SynchronousProcess.
Change-Id: I905c33c6facbbe03f22b9860c277ec658af9326e
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This makes information about build artifacts available before the actual
build starts (as far as the rule implementations allow that), at the
cost of a higher initial project resolving time.
Task-number: QBS-901
Change-Id: I0a223db85001136d359a53d4edc7239350f01701
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
... when user asks to delete from FS.
When a file is included using a wildcard, the project managers fail to
delete it.
Change-Id: I4f2bc6373c5ade8c5e06b580e41519c63f47891d
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
I'd like a "flat" style to have a "default" projects mode.
This patch introduces a FlatProjectsMode. The painting code of the
widgets in the project mode follow that instead of the
Theme::WidgetStyle.
In the course of it, DoubleTabWidget does not imitate the dummy toolbar
anymore, but calls the style painting code, instead. That makes the
theme color DoubleTabWidget1stEmptyAreaBackgroundColor obsolete, so that
key disappears from the Theme enum and also from the creatorthemes.
Change-Id: Ia1479c761f61753d6738a43bbde368bf0b8814b2
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Store last modified time in persistent storage, and if it is changed,
reinitialize the item.
Change-Id: I15e8c843fecd3cebd528f2dadb64645828a2b221
Reviewed-by: hjk <hjk@theqtcompany.com>
Adjusting the splitter color and Info Area colors.
Change-Id: Icca320df917cd5df352c19f1be2a204d1250f17b
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
Make the top and bottom margins for single-row (search-only) mode equal.
And add a space for the double-row (search/replace) mode.
Looks better with default and flat themes.
Change-Id: I795766834b1a40125bd90e5f3c6486cb8518d37f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
...at least for object-like macros. This handles the common case where a
macro before the function signature annotates the DLL import/export.
Task-number: QTCREATORBUG-15819
Change-Id: I79f22508188019402fb7345222408aaf90106f20
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Run buttons of the results pane might stay disabled after a
parse if no items would be swept.
Change-Id: I3df800ec0b42fa7de2b010a911922427da51df3c
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
By default, we use a dedicated qbs settings dir located in Creator's
settings path, so that different instances of Qt Creator won't
overwrite each other's profiles. Users for whom this is not a concern
can now choose to use the normal qbs settings dir.
Change-Id: I0119228a48cfee430686ab51f69864866f4ba270
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Looks like QApplication::globalStrut() can be 0,
but we want the button to expand anyhow.
Change-Id: Ia0f5c6c97bf352d16edd010efee7fda944b7a5ad
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Use ApplicationState and ApplicationStateChange event instead of
deprecated ApplicationActivate event and unreliable
QApplication::activeWindow(). That fixes an issue where the file change
dialog was not shown after closing a modal dialog on Linux, because
there the activeWindow is temporarily set to 0 for some reason.
Also avoid excessive timer. Modifying a file that is open in Qt Creator
should not result in the system waking up 5 times a second afterwards.
Task-number: QTCREATORBUG-15687
Change-Id: I105d08cd590cc3c8ee5d8efdc568ad5fd2be0857
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Feedback gathered, thank you for the patience.
This reverts commit 9e9bae54c7c456584e26b3ca61cdadd3da25726c.
Change-Id: If5be24e9f97f172d9e6f170d80b2747cf3e9dc04
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
The different viewer backends have different issues with scrolling to
the right position if the URL contains an anchor. In all combinations of
"viewer was visible/invisible when help was requested" and "viewer last
showed the same/a different page then the requested URL".
Move the special logic from help plugin to the viewer backends.
Task-number: QTCREATORBUG-15548
Change-Id: I962c90695ceaee48800a3590676e1d28343cf790
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
The code was using an uninitialized value as the default when loading
the settings.
Change-Id: I4a46e79feb4c6726f8bff1e8f03b75c9de646cd6
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
We have 'raise' in there now, that's not a split anymore.
Change-Id: Id45c606056dfab1317fad37b2fe37216b0eacf85
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
To properly support Diana's design, we need a dedicated theme color for
the separator. Also, the vertical separators have a certain margin.
Change-Id: I4d009342a9320848ec97f5c2d324bfb672650101
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
One possible cause for the crash reported in QTCREATORBUG-15672 is
that uic is in the process of getting killed while somebody else
already starts a new instance.
So this patch makes that more robust by using a new QProcess instance
for each uic run.
Task-number: QTCREATORBUG-15672
Change-Id: Ibf4feda4fd783fbcadbdbbed30edeb0ff3c85871
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Put the border between plugin code and view code in a more
natural place.
Change-Id: Ib5250a30e52ec9899dcb01bac23cdad62a2d5c5e
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
If ninja is not an option on windows: Pick mingw makefile generator
for kits with a Mingw toolchain on windows and the nmake makefile
generator for other toolchains on windows.
On Unix fall back to the Unix makefiles generator if ninja is
unavailable as we did before.
Change-Id: I8005615e6f725d38c16c1b9026d3f7548e7b42db
Task-number: QTCREATORBUG-15756
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
The flat theme as defined by Diana has the motto:
"Remove unnecessary lines, avoid gradients".
This patch implemets that for the flat themes, while
leaving the default theme unchanged.
The only tweak that touches all styles is that
"Styled Separator" has for consitency now the same look
as standard toolbar separators.
Change-Id: I80ab0d9bf5ca20ab0daa57baf5a7e095a4a0c653
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
We often have includes relative to e.g. <qtcreator>/src/plugins, so we
need to pass these to lupdate as well to make it find headers there.
Task-number: QTCREATORBUG-8945
Change-Id: I1d44c90b9a5f6da742666fe3dcd0fc83b1c527f8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
After some discussion we agreed that the contents is ephemeral
and does not need to survive perspective switching.
Change-Id: I41de6a8f9478e4bd229c8b204ef7a3fa0a344b75
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Mainly move tool specific code from plugin.cpp to *tool.cpp.
Clean up includes etc.
Change-Id: Ic968ead9d93099c59abe9f99a9db529305160f95
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
We don't know the target files of extra compiler until we build the
project. So, if we detect that situation when generating the code model,
regenerate it after building the project the next time.
Change-Id: I5dab9be2fcc14a11b01ecbc0d67f2d8e895c1b91
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Unfortunately we cannot use it for updating the code model after all,
as the same file might be used in different products to generate
different files. However, with the new "recursive" parameter to
qbs::Project::generatedFiles() we can use that function directly there.
Change-Id: Iec8e1a1366c6f4d94198b38bcb464d05106dbbff
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
When a project is opened, delayParsing() is called several times:
* activeTargetChanged -> buildConfigurationChanged
* environmentChanged
* startupProjectChanged -> ... -> buildDirectoryChanged
delayParsing starts a 1s timer for aggregating all the relevant changes
before starting the actual parse.
This makes sense also when the user makes changes (like switching build
configurations fast, or editing the build directory).
When the project is opened initially, there's no reason to wait before
parsing.
Change-Id: I4eb0c7d3419465bc01e8f9febc9ee808684adb6e
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>