summaryrefslogtreecommitdiff
path: root/src/plugins/coreplugin
Commit message (Collapse)AuthorAgeFilesLines
* Output windows: Skip filter function if no filter is setChristian Kandeler2019-09-301-1/+4
| | | | | | | | | Running the filter function is (too?) expensive, so make sure that's only done when there actually is a filter. Task-number: QTCREATORBUG-22914 Change-Id: Ie96a4e20ebb10c08d83e75641e70b42b13377b22 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* macOS: Fix window state after going out of fullscreenEike Ziller2019-09-272-1/+4
| | | | | | | | | | | | | | | | If you went out of fullscreen with the shortcut or menu item, it would not restore a previous maximized state, but instead resized the window to the smaller non-maximized state. So, 1. open Qt Creator and resize to some non-maximized size 2. double-click window title to maximize 3. Window > Enter Full Screen 4. Window > Exit Full Screen now returns correctly to state 2, not 1. Change-Id: I076321070d011d73bfe888c0a4a5ade24c1057d6 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Locator: remove outdated documentation commentAndre Hartmann2019-08-151-1/+0
| | | | | | | | There is no function called containsWildcard() (anymore). Change-Id: I493646ce9d84673ca0425c87b332be2545a58295 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* OutputWindow: Fix freeze when zooming out very farAndre Hartmann2019-07-311-0/+6
| | | | | | | Task-number: QTCREATORBUG-22721 Change-Id: I5a3bc8d1aa677614bd7fdc5e5094b589721e378d Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Utils: Add toSet/toList functionshjk2019-07-024-6/+9
| | | | | | | | | As replacement for functionality that's being deprecated in Qt but still useful or needed, or that cannot easily be handled without resorting to #if QT_VERSION checks in user code. Change-Id: Id3575a54ff944bf0e89d452d13944fcaee270208 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Core: Work around upstream introduction of std::hash<QString>hjk2019-07-011-0/+2
| | | | | Change-Id: I51d7e97011d03b1b1af921e55ccc40a61d8822f7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Output panes: Support keyboard shortcuts for zoomingChristian Kandeler2019-06-244-7/+38
| | | | | | Fixes: QTCREATORBUG-22567 Change-Id: I3c7419c7b464c329d8f8dae11db9a0b01e51f32c Reviewed-by: André Hartmann <aha_1980@gmx.de>
* ProjectExplorer: Respect pinned documentsChristian Kandeler2019-06-211-1/+0
| | | | | | | | | ...when closing the files of a project. Also remove unused member IDocumentPrivate::pinned. Amends fe21a7a77e. Change-Id: I15fa06bcde2022c559c4bd7234625c5ea06ba26e Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectExplorer: Respect pinned documentsChristian Kandeler2019-06-212-6/+6
| | | | | | | | ... in "Close All Projects and Editors". Amends fe21a7a77e. Change-Id: I162753e08f97cf4538bf58e5f48fd222cdb9ee2b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Core: Do not access outdated QTextBlockDavid Schulz2019-06-211-8/+5
| | | | | | | Fixes: QTCREATORBUG-22547 Change-Id: Iddcf2a9b4d4e864f6038f3955b945a942e351081 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge remote-tracking branch 'origin/4.9' into 4.10Eike Ziller2019-06-183-13/+5
|\ | | | | | | Change-Id: I6f1bc9381dc8c0ce8abc5a6c006087076d8fc1bc
| * Fix disabled close button in designer editor tool barEike Ziller2019-06-182-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was never actually updating when switching the editor. An update was just accidentally triggered when the designer plugin updated the editor XML when switching modes, which triggered an intermediate document change signal. Get rid of the separate code paths for setting the current editor for "standalone" editor tool bars and the tool bars in editor views, which implicitly corrects the update behavior in the former case. Fixes: QTCREATORBUG-22553 Change-Id: Ieb9f4b53600e1e1b66695ec86164628025df73f8 Reviewed-by: David Schulz <david.schulz@qt.io>
| * Fix display of keyboard shortcutsEike Ziller2019-06-171-1/+1
| | | | | | | | | | | | | | | | | | Was using wrong foreground color for the "no collision" case. Fix-up of 963dc84cc5d1e412344e3a0fbf4a476541da2d19 Fixes: QTCREATORBUG-22333 Change-Id: I5b4934b69bd9ff2002846ffda700673b6e1cab24 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Output panes: Improve the way to signal that filtering is activeChristian Kandeler2019-06-123-28/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment, background and foreground colors of an output pane are changed (via the widget's palette) when filtering is active, in order to make it clear to the user that the output is being tampered with. There are several problems there: - The chosen background color is quite garish. - More importantly, the palette change has no effect in the compile and app output panes, because their output is explicitly formatted and thus not affected by the general text color change. As a result, the output may no longer be readable. We fix this by choosing a less intrusive approach that simply darkens (or lightens) the pane's background color a bit when filtering is active. This is still clearly visible to the user. Change-Id: I41e053b4b218be57fe7655e314d4ebf93f59f505 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Core: Use QElapsedTimer instead of QTimehjk2019-06-121-2/+2
| | | | | | | | | | | | | | Avoids deprecation warning. Change-Id: Ia4858235184369df1ba5d80c5eca71df53287bce Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | ProjectExplorer: Add "Open Terminal Here" as default entryAndre Hartmann2019-06-125-5/+13
| | | | | | | | | | | | | | | | | | | | | | Most often, a terminal with system environment is needed. Provide it as direct context menu entry, and leave the additional entries for build and run environment (which are probably more seldom used) as sub-menu as before, but rename it to "Open Terminal with >". Change-Id: I148395ca1e62eafff8844ba91db269a12b053de9 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Output panes: Fix filtering newly added contentChristian Kandeler2019-06-111-3/+2
| | | | | | | | | | | | | | | | | | | | For output panes without a formatter, filtering was only applied to the content that was already there. Newly added content was always shown, regardless of whether it matched or not. Change-Id: I63424a95c0ff4747ef804b62ebde2253782c8a39 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: hjk <hjk@qt.io>
* | Output panes: Respect filter optionsChristian Kandeler2019-06-055-31/+18
| | | | | | | | | | | | | | | | The UI elements for case sensitivity and regexp behavior had not been doing anything until now. Change-Id: Ie210103984fda64d4249c56f9a5b21200132108f Reviewed-by: André Hartmann <aha_1980@gmx.de>
* | ProjectExplorer: Allow text filtering in issues paneChristian Kandeler2019-06-041-0/+1
| | | | | | | | | | | | | | Task-number: QTCREATORBUG-21893 Fixes: QTCREATORBUG-22083 Change-Id: Ida227ce21d90fc2487cf3009e957eedeec507fd0 Reviewed-by: André Hartmann <aha_1980@gmx.de>
* | CMake build: Ensure compilation when Qt5::Script is missingCristian Adam2019-06-031-2/+9
| | | | | | | | | | | | | | | | | | | | | | The Qt5 Visual C++ 2017 64 bit installation doesn't come with Qt5::Script target by default. This patch ensures that Qt Creator can be built with the above Qt5 scenario. Change-Id: Ibe35e9d879ccd51012f53acebfbb7461fd773d4a Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | Core: Give a hint why saving of settings are requestedhjk2019-06-034-7/+14
| | | | | | | | | | | | | | | | | | | | | | Not all requests are the same, handling code might want to act differently on different request reasons. Main driver here is the handling of the debugger/analyzer main window state savings which depends on actual visibility of certain windows. Change-Id: I87b2a9149e3d09d27bc14b44aace9f2e0686db04 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Fix C++ Library wizard when compiled with Qt < 5.12Eike Ziller2019-06-031-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Only Qt 5.12 got true ECMA Script capabilities, so arrow function expressions are not supported before that. To be able to use "regular" inline functions, we allow usage of } by escaping with backslash. For variables that do not start with "JS:" we already supported backslash for escaping. Fixes: QTCREATORBUG-22336 Change-Id: I9fc638e64d2757a21fffc16355635e2fcff87a36 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Utils: Extract a CommandLine structure from a QtcProcesshjk2019-05-292-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | We regularly pass around strings or filenames or pairs of strings or filenames and stringlist etc the in the end will be used as a kind of "command line", with quite a bit of ad-hoc user code and QtcProcess::addArg etc to set them up and manipulate them. Let's have a class for that concept. Change-Id: I288ab939d853b32c717135a65242c584c2beab50 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Core: Make names of OutputWindowPrivate members consistentChristian Kandeler2019-05-291-27/+27
| | | | | | | | | | Change-Id: Ie17dd3c2da711b59c0ca9a5c4a5b88bde21612e2 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | ProjectExplorer: Allow text filtering in message paneChristian Kandeler2019-05-293-8/+19
| | | | | | | | | | Change-Id: I7b70f7056c757fcb13634021b8e2dcf0b3a34097 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Core: FilePath-ify ReadOnlyFilesDialoghjk2019-05-292-49/+51
| | | | | | | | | | Change-Id: Iccde7e5cfcee0bdb02720279e8a310857c0a7a67 Reviewed-by: David Schulz <david.schulz@qt.io>
* | Core: Avoid implicit QFileInfo creationhjk2019-05-291-1/+1
| | | | | | | | | | Change-Id: I371b6a2b308eab17a67c67015e0cdcbd632059c5 Reviewed-by: David Schulz <david.schulz@qt.io>
* | Utils: Rename FileName to FilePathhjk2019-05-2829-64/+64
| | | | | | | | | | | | | | | | More in line with QFileInfo terminonlogy which appears to be best-of-breed within Qt. Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | CMake: Remove variable, as it is emptyTobias Hunger2019-05-281-1/+1
| | | | | | | | | | Change-Id: Id85f78eddcb0ece3d6b955e12ab7cdc27bd0198d Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Replace uses of qVariantFromValue with QVariant::fromValuehjk2019-05-277-10/+10
| | | | | | | | | | | | | | | | Deprecated in Qt 5.14, alternative has been around since Qt 4 at least. Change-Id: I4e3a53c289088368609e0d0ce2405a832d311308 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* | Core: Fix typo in OutputWindowChristian Kandeler2019-05-271-2/+2
| | | | | | | | | | Change-Id: I61d091f24bb75412563085b777fb6661ef255c38 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Remove excess blank lines after namespaceOrgad Shaneh2019-05-272-3/+0
| | | | | | | | | | Change-Id: I4e4f83017f2bfc2cf842c4c971ed4b05e0447e6a Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | CMake build/macOS: Centrally detect system librariesEike Ziller2019-05-241-2/+1
| | | | | | | | | | | | | | | | | | And realize that at most places (except native help viewer) the code using them is not optional on macOS. Change-Id: I308406a0e8f176dad4151d23a33cd3fc0fb8635c Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* | ProjectExplorer: Move filtering infrastructure upChristian Kandeler2019-05-243-2/+108
| | | | | | | | | | | | | | | | ... from AppOutputPane to IOutputPane. We want to have filtering in other output panes too. Change-Id: I805ec68baedf491b71d392c3370dee78ed4ab76c Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | CMake build: Add ability to disable building of individual pluginsEike Ziller2019-05-231-14/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a cache entry "BUILD_PLUGIN_${NAME}", defaulting to ON which can be set to OFF to disable building of a plugin. Adds a extend_qtc_plugin function that should be used to add properties to a plugin after add_qtc_plugin, instead of the standard CMake functions target_... . The new function results in a no-op if the plugin was disabled. Change-Id: I57f6799620aea0aaa8b56acead4815ccced95911 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | Core: Remove indirection from OutputWindowChristian Kandeler2019-05-222-38/+14
| | | | | | | | | | | | | | An output window always is its formatter's text edit. Change-Id: Ib09b9a95360f4abdfd34fd2c1913f7796591069d Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* | Utils: Make FileName::shortNativePath a memberhjk2019-05-205-6/+5
| | | | | | | | | | Change-Id: If1ab02ae9dc7efb97792cdf3bbdce3bba18b3e3d Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Qt Creator CMake portCristian Adam2019-05-171-0/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on Tobias Hunger's work from a few months ago. The CMake configuration needs libclang and Qt paths specified as CMAKE_PREFIX_PATH. Auto tests are run with "ctest". At the moment the pass rate is 87%. Change-Id: Iba98e39bf22077d52706dce6c85986be67a6eab0 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Merge remote-tracking branch 'origin/4.9'Eike Ziller2019-05-171-1/+3
|\ \ | |/ | | | | | | | | | | Conflicts: src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp Change-Id: I473084232ab99c18e2316154656de0035af02628
| * Fix directory used for "Find in This Directory"Eike Ziller2019-05-091-1/+3
| | | | | | | | | | | | | | | | | | If the input already is a directory, we want to search in that, not the parent. Fixes: QTCREATORBUG-22079 Change-Id: If47435ecf2ffba088d50b57c18c8b1ee444fd718 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Core::OutputWindow: Move members into d-pointerChristian Kandeler2019-05-152-15/+15
| | | | | | | | | | | | | | | | New members were accidentally dumped directly into the class, rather than the private implenmentation. Change-Id: Ie7939534cef1c830ce3925d9cb5e77a48617150b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Core/Qmake: Move Q_DECLARE_OPERATORS_FOR_FLAGS outside the namespaceOrgad Shaneh2019-05-151-2/+2
| | | | | | | | | | Change-Id: I9f956faa71dcb8d5acf2c50711a33813a091903c Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Add filter for all files in all project directoriesEike Ziller2019-05-155-74/+186
| | | | | | | | | | | | | | | | | | | | | | | | Behaves like the custom directory filters, but with preset directories, updating whenever a project is loaded or closed. Loading or closing a project will trigger a refresh of the file cache, otherwise the filter refreshes with the refresh interval that the other custom directory filters use, or on manual request. Task-number: QTCREATORBUG-19122 Change-Id: Id4f65b5137284e63412390672fa8449030c9fed4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Locator: Remove default argument and default behavior for refreshEike Ziller2019-05-133-6/+5
| | | | | | | | | | | | | | | | With lambdas there really is no reason to do special behavior for an empty list. Instead always expect the full list of filters to refresh. Change-Id: I8bae0d4790de97e6d6d23d51b1a620c76c80cc8a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Utils: Replace FileName::FileName(QFileInfo) by a named constructorhjk2019-05-132-3/+3
| | | | | | | | | | | | | | | | | | More consistent with the fromString case and avoiding false conversions QString -> QFileInfo -> FileName in case the inheritance of QString suddenly disappears. Change-Id: Ib14646ab1a660fd45dd1ea6862a0b5faa52ad0e3 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Export Wizard values to JavaScript macroEike Ziller2019-05-093-33/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Registers a new function "value('name')", available to the wizard json files, which returns the value of the variable "name" as a JavaScript object. So, variables with a string value are actual JavaScript strings, booleans are booleans, lists are lists, and dictionaries are dictionaries. The patch also makes it actually possible to assign JSON lists and dictionaries to values. This removes some hacks involving creating complex JavaScript objects through string substitution. Change-Id: I4ac6da22bc5bccc9fadee97694c2fa14d44c9307 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | InfoBar: Fix inconsistent copy ctor/operator=Orgad Shaneh2019-05-081-1/+0
| | | | | | | | | | | | | | Detected by GCC9. Change-Id: I527d6e4a306077b7cf77ec61222babe803e6b0da Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | App output filter: Try harder to detect an invalid text blockChristian Kandeler2019-05-081-1/+3
| | | | | | | | | | | | | | | | | | Calling QTextBlock::isValid() is not enough to ensure that the block is still part of the document. Fixes: QTCREATORBUG-22379 Change-Id: I3016e763b67f3983bdb9077c80ae3de8d46e4080 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Remove a couple of "setAutoRaise(true)" for toolbar buttonsAlessandro Portale2019-04-292-4/+0
| | | | | | | | | | | | | | | | | | Most of the QToolButtons in the toolbars don't set autoRaise, and they are fine. I assume that those who do set it, just do it for because that line was copy/pasted so often. Change-Id: I71341ddbd26a586d34713661ec538b37033685e5 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Core: Disable the "New Search" tool button during visible search panelAlessandro Portale2019-04-291-0/+2
| | | | | | | | | | | | | | | | | | The "New Search" tool button has no effect while the search panel is shown. Let's disable it during that time, and make it behave like the expand/collapse tool button. Change-Id: I47b78e1955e10186addf302418d8b9807fd5feae Reviewed-by: Eike Ziller <eike.ziller@qt.io>