Commit Graph

142 Commits

Author SHA1 Message Date
Daniel Trevitz
d384e2398a Create Path
When the path listed in a PathChooser does not exist,
instead of showing actions on non-existent paths show
"Create Folder".

Task-number: QTCREATORBUG-20532
Change-Id: I98d149129ad33d7be36bfe13b2c1ab57ee193cf0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-06-05 11:57:19 +00:00
Tobias Hunger
7ad738d236 Core: Add more HostOS related information to MacroExpander
* Add HostOS:PathListSeparator
* Add HostOS:ExecutableSuffix

Both should be useful e.g. for External Tools.

Change-Id: I2a807b189eb2ace5ac093e50ff406ebcd3e497a1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-05-29 12:14:54 +00:00
David Schulz
63cc5491f5 Core: cancel async documentation registration on shutdown
Change-Id: I46bc81cf6326e964309996e0e205fff011f596e7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-02-21 07:58:10 +00:00
hjk
310a2bf96f Core: Simplify MainWindow::init() signature
And adapt its only user.

Change-Id: Ifc1f6c7857951d6e1a68f5bc909146e9689c5428
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-02-12 11:21:14 +00:00
hjk
e712c8b7e2 Core: Replace an in-Core connection by a direct call
Change-Id: Ic219a992658e080467a18d38121a41990cc377ce
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-02-01 13:31:04 +00:00
hjk
e783f883ea Core: Move MenuBarFilter closer to its peers
Change-Id: I9d7eac297a06fae39ef7ee19841547e8b5bea45a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-29 07:55:26 +00:00
hjk
53d14fbb48 Locator: Do not use object pool for some filters and LocatorManager
Also bundle lifetime management into one object.
Also minor interfact cleanup.

Change-Id: I60eec84b0b28a20ce353fcdbfdff1c4848686ba0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-26 14:40:44 +00:00
hjk
8426cc4025 Core: Do not put Edit mode in object pool
After cf7f898 not needed anymore.

Change-Id: I8d88ffe00b5a94cd9423dd2b9f3f60a2a745a924
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-26 12:45:55 +00:00
hjk
a5935cb27a DesignMode: Create only when needed
Postpone the Mode object creation until it is really necessary,
the private data object may be needed before.

In the QmlDesigner this patch moves the connection to the DesignMode
instance back to delayedInitialize, essentially reverting part of
e8b3b8140b.

Change-Id: I07146b0bc93eede09af8e824e916edb6de1817ef
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-23 13:08:37 +00:00
hjk
2b76504bd2 DesignMode: Apply 'static pattern'
Also:
 - and replace some occurrences of DesignMode::instance()->id() by
   Core::Constants::MODE_DESIGN for less dependence on the lifetime
   of the DesignMode object (and less indirection)
 - remove storage if DesignMode::instance() values when direct
   use of the static functions suffice
 - remove some unused items from the interface
 - use member-initialization in DesignMode::Private.

Change-Id: Ie66c06da0fc0a3ccc588b8079e51db6b39284152
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-23 09:18:55 +00:00
David Schulz
92ec21e5b5 Core: add menu bar locator filter
Adding the possibility to trigger menu actions from the locator

Change-Id: I70d595c167f5b43b02f8125eafbb83e5b45012c9
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-15 09:57:45 +00:00
Eike Ziller
58942de965 Remove use of global state from InfoBar
It is initialized by the core plugin anyhow, so give it enough
information there to avoid accessing the global state later.

Change-Id: I39e7a9f32ef5c7930faf9ba751e75bebf57b507e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-11-01 14:51:57 +00:00
Eike Ziller
8e62881b12 Make DocumentManager::projectsDirectory a FileName
Change-Id: I9454c2148c398939c64bfa6b1fc182670a1d5f99
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-19 10:13:49 +00:00
Tobias Hunger
4ef01c961e app_version.h: Make IDE name configurable
Change-Id: I993f452c8d09cf89e9a2958fc8e36b7d2c17ee6f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-05 10:19:48 +00:00
Nikita Baryshnikov
8de69d7b5f Replace QLatin1String, QStringLiteral ("") with QString()
Change-Id: I21e6165e7e8858df8436c04c9afcc1be5242bda4
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-08-21 09:27:21 +00:00
Nikolai Kosjar
ba6939fa90 Unit tests: Fix ProjectInfoGenerator.* tests
...by adapting to recent mime type changes:

    commit e8e46ab553
    Plugins: Fix that mimetype definition was not valid JSON

Change-Id: Iac416ab481814e4488fac4d818c51c647c1ec349
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-07-27 08:44:12 +00:00
Eike Ziller
e8e46ab553 Plugins: Fix that mimetype definition was not valid JSON
JSON officially does not support multiline strings, so we should use
the same mechanism that we already use for the plugin description
(i.e. additionally support arrays of strings which are interpreted
as lines).
This just happens to work because Qt's JSON parser eats it without
choking.

Change-Id: I25ef04600b209775c5a7af916c687fda4a8b1a4d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-07-25 06:00:49 +00:00
Alessandro Portale
dff0c9df7a Core: Add the "resourcePath" to the global macro expander
Example use case: Multiple wizard json files want to reference a shared
resource file without using fragile relative paths.

Change-Id: I2502083d4c371c25a8b66e7d5d3b4fb9d8697317
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-05-24 14:23:36 +00:00
hjk
3f5caf4cdc Utils: Wrap MimeDatabase into static functions
To avoid repeating the 'MimeDatabase mdb; mdb.something(); ' mantra
all over the place.

Change-Id: I4bfef62e73275a991455141671d6071162788e9d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-03-03 07:57:54 +00:00
Eike Ziller
d64e17ad55 Move mimetype definitions to plugin specs
- Avoids the hassle of QRC files and manually registering mime types
- Avoids performance regressions because of mime types that are
  registered after mime database has been used
- Makes it technically possible to detect that a disabled plugin could
  handle a mime type if it was enabled

Change-Id: I373008b1b56e9c6b4853055f20b3eeb112a6eff9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-02-27 13:54:59 +00:00
Marco Bubke
ddfd29852a Utils: First step to extend search results for clang query support
We need multi line support, multi text range support. This is only adding
enablers and adds later the multi line and multi text support because this
triggers larger changes because you have to know the text document.

Change-Id: I44e46d9d80d7d73b2650c69cc83657c20c85bfae
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-23 10:48:59 +00:00
Orgad Shaneh
410211e090 Merge remote-tracking branch 'origin/4.2'
Change-Id: Ibb932efece05a5f5613823fbc79c5b7601c73905
2016-11-02 16:52:58 +02:00
Eike Ziller
05bf915c03 Core: Refactor argument handling
Split up getting the data from the arguments list and actually applying
the values, and move the details of theme creation and application to
better places.

This gets rid of ugly control flow details like that
CorePlugin::initialize created the action manager before calling
parseArguments, because that is needed to apply the presentation mode
argument setting, and parseArguments created the main window because
that needs to be created _after_ setting the theme (which can be
overridden by command line argument), but _before_ applying the override
color argument setting.

Change-Id: I9c99305b6efbfcc4b37cea9e5c70d816a621963b
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-11-02 11:10:18 +00:00
Tobias Hunger
b75c6444d1 Core: Add a reaper that will asynchronously clean up QProcesses
Change-Id: Ic24dde261eac775d1a5854b8dbcbfeb002d0f729
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-10-28 12:28:46 +00:00
Eike Ziller
9e66ce48e4 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	src/plugins/autotest/testcodeparser.cpp
	src/tools/clangbackend/ipcsource/clangbackendclangipc-source.pri
	tests/unit/unittest/unittest.pro

Change-Id: I9db4fbea6ea7c9fdd0d8e1703735af20c92e754b
2016-05-09 16:37:41 +02:00
Eike Ziller
fad08a1e9b OS X: Fix regression for opening projects from Finder
The kits are restored in delayedInitialize now, but the file open event
from Finder was delivered before that. That lead to the projects mode
being opened with the kit configuration screen, but mostly no kits in
it, when double-clicking a .pro file while Qt Creator is not running.

Delay the remote open file command until plugin initialization is really
done.

Change-Id: I1a75f6b1f7bcefb4c53d594de11df0d3a0d2e5d3
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-05-04 09:39:13 +00:00
Oswald Buddenhagen
3c2f0096ea Merge remote-tracking branch 'origin/4.0' 2016-03-22 15:23:12 +01:00
Alessandro Portale
3e040d4c3d Core: Use a constant for the default creator theme
Change-Id: I53ba63cf55fb6918d959b0d396175a3188d62bd9
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-03-18 11:18:17 +00:00
hjk
bcf7a11c24 Core: Apply 'static' pattern to Core::FindPlugin
Also, rename it to Core::Find. It hasn't been a plugin for a while.

Change-Id: I845885ccf18bdc1440258d523b033758d5583881
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-03-15 12:43:59 +00:00
Orgad Shaneh
9d0d39495f Rename ThemeSettingsWidget -> ThemeChooser
Change-Id: Ie61dc07d9f8bc8639ff80368a0b2ad4dd62cacb3
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-01-21 08:04:07 +00:00
Tobias Hunger
397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
Orgad Shaneh
111a230659 Theme: Remove unused ThemeSettings
Change-Id: I5f3ee8f5afa2ef8618d9a43a10e37a30f771d0af
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-01-14 15:00:01 +00:00
Tobias Hunger
09102ddc7b MacroExpander: Add a way to generate a new UUID
Change-Id: I5c43419f717d84bd9954a4921eb6e6723d331646
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-11-30 15:49:25 +00:00
Niels Weber
2dc660e698 Silence a warning
Commit 11f6162739 removed
the usage of userProvidedTheme leading to "unused variable"
warning. Remove last traces of userProvidedTheme.

Change-Id: I187d7ac335ec659a5e8a52e38ffe075a98446586
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-11-09 14:34:54 +00:00
Eike Ziller
11f6162739 Themes: Fix issues with restoring themes.
Themes from the user config where not restored correctly.
Improve error handling when no themes are found
in case of broken installations.
Cleanly differentiate between theme "id" (currently complete basename of
theme file) and theme "displayName" (as specified as a property in the
theme file).
Remove convoluted broken code that tried to allow using an absolute file
path for a theme on the command line and require themes to be installed
either in Qt Creator globally or in the user settings path.
In general stream line the code.

Task-number: QTCREATORBUG-15113
Task-number: QTCREATORBUG-15233
Change-Id: I014a4314e8bea27422ed4c42462cf16f4220698b
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-11-06 19:37:16 +00:00
Daniel Teske
cac53ea41f Utils::PathChooser: Allow the core plugin to extend the context menu
And then use this to add the "Open in Graphical Shell" and "Open in
Terminal" actions.

Those actions cannot be implemented in Utils directly since the Core::FileUtils
depends on the Options dialog.

This affects all PathChoosers, and there's currently no way for a PathChooser
to opt out or have a different context menu. That can be added at a later
point.

Change-Id: I22121c19d66f08785381c7e0bca5317628eb6342
Task-number: QTCREATORBUG-14736
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-08-31 14:57:09 +00:00
Tobias Hunger
2221636cfb Core: Add HostOs information to MacroExpander
Change-Id: Ibed6302ce82fce984e42f45eb77a9bb9c1a81f7c
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-06-10 11:57:11 +00:00
Tobias Hunger
f733f1805a Core: Expose DocumentManager data to MacroExpander
Expose the last visited directory as well as the project directory
stored by the DocumentManager to the MacroExpander.

Change-Id: I7cdbe5e5471b5c96954c74f21187786de7bb9aa3
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-06-10 11:57:05 +00:00
Tobias Hunger
01a5f9cfc7 MacroExpander: Allow "comment" expansion
%{#: is now treated as a comment and expands to an empty string }

This is useful to add comments about copyright, etc. into the
wizard templates.

Change-Id: I6e25c724edfa4b865d2d4f74b0f4900982d9ea47
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-06-04 15:30:05 +00:00
Tobias Hunger
0b44b6e709 WizardFactory: Trigger scan for wizards early
Trigger scan for wizards in delayedInitialize since we need to
create commands for the wizards. Also make sure wizards are
scanned for when opening the options page, so that the keyboard
shortcut page can be fully populated.

Change-Id: Iefe28dbcb17f43a7ed114f056012fe8f6e4ae352
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-05-27 09:53:28 +00:00
Tobias Hunger
25f2f8e1ee IWizardFactory: Create wizards with factoryCreators
Do not use the object pool to hold potential wizards. Register
FactoryCreator functions with IWizardFactory instead and use
those to create the wizards when necessary.

This saves us a couple of cycles during startup since we can now
delay construction of all wizards and it makes us more flexible
wrt. managing the lifecycle of the wizard factories.

Change-Id: I95d6a6dfcdf0fd995e1934a9fefcd96c6a676753
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-05-26 11:47:53 +00:00
Eike Ziller
50fe3585a8 Merge remote-tracking branch 'origin/3.4'
Conflicts:
	src/libs/timeline/qml/MainView.qml
	src/plugins/git/gitclient.cpp

Change-Id: I0b6ec7b9a592014deb0dd2e1145b19dd6753b1c3
2015-04-15 17:45:47 +02:00
Orgad Shaneh
4a77a31453 Fix plugin error dialog modality
When the dialog is displayed, the welcome mode becomes disabled.

This happens because before the main loop begins, there is no active window, so
the dialog has no parent to return focus to when it is closed.

Change-Id: I2f8830c3c7bc6816d8483e05e81f5abfe5ee335f
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-04-14 08:39:50 +00:00
Eike Ziller
aee54f9df5 Merge remote-tracking branch 'origin/3.4' 2015-03-19 16:00:28 +01:00
Eike Ziller
5d71986585 ActionManager: Remove fallback path for Qt Creator 3.1 settings
Change-Id: I2fe0c76e0ed30b69da9fdba5d9b9de6b46d647d8
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-03-18 08:41:28 +00:00
Eike Ziller
23ec56516e Merge remote-tracking branch 'origin/3.4'
Conflicts:
	src/plugins/coreplugin/coreplugin.cpp

Change-Id: I9aa6c61412e2ef4a91efe028296bcc2d075856d7
2015-03-11 10:35:49 +01:00
Orgad Shaneh
17f2af5082 Fix parsing of filename with position when -client is used
Instead of transforming to absolute paths in the client, pass the
working directory and leave it to the target.

Change-Id: I4f8724c8857e89a7ee77116c78cf8b25c56795fa
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-03-09 16:10:03 +00:00
d3fault
44e7eca559 Add goto column number command line arg to complement goto line number
When specifying a filename as an argument, you can append a colon (or a
plus) followed by a number to indicate which line the cursor should be
positioned at in that file. This patch adds the same functionality but
for the column position as well. Ex: main.cpp:5:4 would open main.cpp
and put the cursor at line 5 column 4. The column number is optional,
just like the line number before it. It should be noted that specified
column numbers larger than the amount of characters available on that
line are wrapped onto subsequent lines.

Change-Id: I50208500fa43e43a9514d2be21630b3c607119a6
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 08:05:42 +00:00
Friedemann Kleint
54da18eaaa Clean exported headers of the Core plugin.
Change-Id: I26472d568844d5fee62323e01f5c5c12082d5450
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-03-05 07:18:14 +00:00
Eike Ziller
2ed31967c4 Mime type settings: Restore user changes
Change-Id: I6c83989113de3beb5d27eb7c39b5c9e825b541e8
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-02-17 15:19:17 +00:00