Since much of the available UI and behavior depends on which platform's
library we start with, let the user choose a platform filter.
Default is the host OS.
Task-number: QTCREATORBUG-17995
Change-Id: Ic8bec7ac30eecf08c1684da4f2823a8add8f6d20
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This would allow to use QTC variables in settings using this widget
such as Extra Debugging Helpers.
Change-Id: I8ac6de46f359f58a501f09774d992a19b48d7d5f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
When editing the path for a custom executable run configuration, the
text cursor would jump to the end every time anything is typed. This
makes changing a part inside the text very cumbersome.
This happens because the executable aspect registers a "display filter"
that transforms the input to native separators.
Solve that issue generically for the path chooser by resetting its text
cursor position after the path has been set, if the input field has
focus.
Change-Id: Ic0a178e942da8df1e53b5d90c78a5bf1675865c2
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
warning: prefer using 'override' or (rarely) 'final' instead of
'virtual' [modernize-use-override]
Change-Id: I6dac7a62b627fa1353b4455e1af92f869c2571cc
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
When manually typing inside a PathChooser that expects an
existing command it was no more possible to type a trailing
slash without tricking the PathChooser.
Change-Id: Ie30e7b0de030f4a3d64fce89ed799c03a594261d
Reviewed-by: hjk <hjk@qt.io>
This makes it a bit simpler to spot leading and trailing whitespaces.
Maybe that could help with problems like QTCREATORBUG-16805, but even
if not it makes our strings more consistent.
Change-Id: I65c486721967d9d3e17020641a1144d593f9bde1
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The default Qt:red for the lineedit in Utils::PathChooser is unreadable
in dark themes. This change ensures that the color comes from the
current theme.
Change-Id: I7b890bb18e4b996cf0a8f0ac3286da87dd33f5f2
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
This moves the fromUserInput that used to be in rawFileName to fileName,
so that fileName produces the same output it used to produce.
Change-Id: Ifb209af3f60d959c3f7119ebfa20f999c5d5f0ca
Reviewed-by: hjk <hjk@theqtcompany.com>
Do not call cleanPath on rawFileName as that sanitizes %{buildDir}/.. to '.',
which is not what is expected for a rawFileName.
Change-Id: I4bb95b33f4c12c79ed0029d5fbf539e113a3774c
Reviewed-by: hjk <hjk@theqtcompany.com>
Use SynchronousProcess::runBlocking in favor of SychronousProcess::run.
This avoid nested event loops which can produce really strange crashes
if not use carefully.
This patch only converts those processes that have a timeout of less
than 5 seconds or use the default timeout.
Change-Id: I9de8899dcc946af7049ea357a91972996c0256a1
Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
waitForFinish returns false if the process is no longer running at
the time of the call. Handle that throughout the codebase.
Change-Id: Ia7194095454e82efbd4eb88f2d55926bdd09e094
Reviewed-by: hjk <hjk@theqtcompany.com>
...to be able to fetch working directory even for
non-active targets.
Change-Id: I563e9b56e8a8393b998811e0fb364078d4c37d03
Reviewed-by: hjk <hjk@theqtcompany.com>
+ use native separators for user visible strings
Change-Id: Id6e4e27db369314f70e355a395cfddca12b8ea90
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
I was only able to crash it with the Mer plugin (not in tree).
Change-Id: Ie478f74c48ac6686418207fd1af8b727bcfed3cd
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Rename the code that evaluates the text and make it a public
slot.
Change-Id: I843bf505fa6e33661fc840a1fd2ec13ceb210037
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
The name is overly generic, particularly with a pathChanged() signal
also present. Rename to "rawPathChanged", which adequately describes the
semantics.
Change-Id: Ia62b8b0a97a794cb6d5ad6b8ce0abcd36b5f5cdb
Reviewed-by: Eike Ziller <eike.ziller@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>
This signal was emitted from two places. In one of them, the argument
was the pure string from the line edit, and in the other one the "raw
path", that is, the aforementioned string processed by cleanPath() and
fromNativeSeparators().
We now use the latter in both contexts. A look at the slots does not
suggest anyone is interested in the other value rather than this one.
Change-Id: Iacb6e0815004b2ef0107bfef03b97b46015da989
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
For example when developing on Windows, cross compiling to Linux, the
result is not executable from the Windows perspective.
Reverts f2cfd3c01a which changed the code
to use ExistingCommand to get the automatic expansion of app bundles on
OS X, and do automatic expansion of app bundles also when using path
chooser of type File. Choosing an app bundle in a path chooser of type
File would previously lead to an invalid entry in the path chooser
anyhow, because the app bundle itself is not a file.
Change-Id: Ie710c47918d2b8735009e290301ed2683e354f2c
Task-number: QTCREATORBUG-14412
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Use aggregation instead of inheritance for customization of validation.
Gets rid of a few additional classes.
Change-Id: Iaf8f12026c40a55bfde98b3786100f8ac431d750
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This allows calling code to add its own path validation without creating
a derived class.
Some notes on API decisions:
- Since all current users of this functionality call the base class
implementation in their derived function, no functionality is
provided to completely replace the path validation function (as
opposed to merely add checks). In the unlikely case that this is
ever needed, we can easily add it.
- The member function is called "setAdditionalValidator" rather than
the shorter "addValidator" because the latter might suggest that
repeated calls will chain the provided functions.
- There is also no functionality to conveniently remove the
additional validator, because such dynamic behavior was not needed
so far.
This patch only does the minimum changes to the calling sites that are
required for them to continue compiling and working. Removal of the
derived classes that are no longer needed happens in a follow-up patch.
Change-Id: I5282835b5dd227149748a7f567006beb288d8aa3
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Replace all* remaining deprecated Qt 4 functions with
their Qt 5 counterparts. This means we no longer need to
define the QT_DISABLE_DEPRECATED_BEFORE macro.
This patch is relatively small because most source-compatible
changes of this kind have been done before.
* The one exception is the QmlDesigner, which uses QWeakPointer
in a deprecated way all over the place.
Change-Id: Id4b839c6685f3b5bdf2b89137f95231758ec53c7
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>