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>
* 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>
Also bundle lifetime management into one object.
Also minor interfact cleanup.
Change-Id: I60eec84b0b28a20ce353fcdbfdff1c4848686ba0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
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>
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>
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>
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>
...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>
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>
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>
To avoid repeating the 'MimeDatabase mdb; mdb.something(); ' mantra
all over the place.
Change-Id: I4bfef62e73275a991455141671d6071162788e9d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
%{#: 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>
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>
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>
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>
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>
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>