... or nothing, if the process object is destroyed immediately.
Change-Id: I6a1e1928bc49fc20a1c0e0ee9b8f4f723276bbca
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Similar to QT_RESTRICTED_CAST_FROM_ASCII to avoid the need for
decorations in user code.
At the same time, drop some convenience constructors and functions
in CommandLine and Icon essentially serving the same purpose.
Change-Id: Ida4e5ac19c2da0a4298a97b2a8e1511d56bbb79d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This patch needs to be applied together with the parent change.
There are 3 basic cases:
1. The user doesn't write anything to the write channel:
You don't need to call closeWriteChannel manually anymore.
By default the QtcProcess you create is in ProcessMode::Reader mode.
Internally it opens the process in ReadOnly mode and
closes the write channel just after starting.
2. The user writes some initial data (after being started)
and then closes the write channel:
All what is needed now it to set the write data
(QtcProcess::setWriteData) before calling start.
You also use the default ProcessMode::Reader mode.
Internally it opens the process in ReadWrite mode
and writes the writeData asynchonously when the process
already started. After writing the data it closes the
write channel automatically.
3. The user writes the data also after calling start.
All you need now is to create a process with
ProcessMode::Writer mode. In this mode the write
channel is not closed.
Internally it opens the process in ReadWrite mode
as some writers also read the data from the process.
All the code base is adapted here to the above rules.
Change-Id: Id103019d1d71a3012fd1eade226fe96b9aaa48c2
Reviewed-by: hjk <hjk@qt.io>
There are very few reasons to use mainWindow() directly.
Especially for modal dialogs, using dialogParent() is important, since
that guarantees the stacking order in case of other dialogs currently
being open.
Change-Id: I7ad2c23c5034b43195eb35cfe405932a7ea003e6
Reviewed-by: hjk <hjk@qt.io>
So it doesn't need to be named twice in the editor factory setup.
This intentially includes a de-optimiztion: storing the parameters
by value, not by pointer. That's more natural, does not need to
keep the parameters alive on the caller side, and it's uncritical
in this context.
Change-Id: I92867d3f2f75c38911ae82d3eeb4759cba71b723
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
They were 1:1 in parallel, with quite a bit of function call
ping-pong inbetween, for code-sharing-by-inheritance. Merge
them by making VcsBasePlugin inherit IVersionControl and
merge the derived classes below.
Size of this patch is hard to avoid as all seven systems have to
move simultaneously. Non-necessary potential follow-up cleanup
have been left out on purpose.
Change-Id: Icb71e4182af3db21069cc637e7ae87ffa3829791
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Essentially rename all *Plugin into *PluginPrivate, and pull out
the actual IPlugin related pieces into new *Plugin classes.
Shift the construction of the PluginPrivate to initialize(),
following the general pattern.
I tried to keep the patch as mechanical as possible, giving
room to some obvious but less mechanical cleanup needs,
that are intentionally left out of this here.
Change-Id: Iac662bf73338f9f7669064ed67b960246875c23c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
The VcsBaseSubmitEditor uses CppModelManager to collect the symbol names
from the affected files for completion in the commit message.
Move the C++ code model code into CppModelManager, register it in the
plugin manager, and call it via QObject means from the submit editor.
This avoids a hard dependency from VcsBase to CppTools.
Change-Id: I2fb34dbef153c1414820d711e7fc5596bcac1691
Reviewed-by: hjk <hjk@qt.io>
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>
Instead use the style to get the icon and get the pixmap from there.
Emulates what QMessageBox::setIcon(QMessageBox::Icon) does.
Change-Id: Ic20d55070d510773eb194dc695689954b4862a2f
Reviewed-by: David Schulz <david.schulz@qt.io>
If the prompt is displayed on button press, the default is Commit.
Task-number: QTCREATORBUG-18799
Change-Id: I706a2700e08bb45f44019a0fe8d44365438ee9f3
Reviewed-by: André Hartmann <aha_1980@gmx.de>
The default style on Windows doesn't have mnemonics.
Task-number: QTCREATORBUG-18799
Change-Id: I785ff327a4099cd56cdc081ebdaa14734d9a82a3
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Its only use was removed in 28e8960a1e
(version 4.3.1).
Change-Id: Ibc20bfb0dc57e3ba427cd08b527959b7b1a26646
Reviewed-by: André Hartmann <aha_1980@gmx.de>
The dialog appears when closing the commit dialog without committing,
or when "prompt to submit" setting is enabled.
Fixes: QTCREATORBUG-18799
Change-Id: I8eb20becbcee7281b9f673a35ec698c6f8e04a40
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Use themable, HighDPI enabled icons for commit and diff.
Re-use an existing red cross for the removesubmitfield.
Change-Id: I43f46db96d07de9a7e166937d470d48e45d7f3fb
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Both wrap the corresponding Qt class, but make sure all temporary files
or directories are created inside a "master temporary directory".
Change-Id: I55461be507c828c965224c02863ea5ed9bbf9498
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
We want to distinguish between source files and generated files. So
let's call them by their names.
Change-Id: I324c4b82ca7fb7d8d0e175ea6c4f14f1306ec929
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
setFileModel() calls QTreeView::clearSelection() before setting the new model.
If the view has no model (because it was deleted earlier), a warning is shown.
Change-Id: Id694b073360b08bd8fd4e8b1db04250a71f792c1
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
For non-editor documents it currently is not used, but for editors it
makes more sense to have that on the document instead of the editor.
Most actual implementations of "open" were done in the documents already
anyhow, because it is needed for reloading.
Change-Id: I29d4df2078995cbe80172b51a9bebeecb3afad3c
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
In SubmitFileModel, filetype icons are missing for not "overlaid" icons in
Core::FileIconProvider. This is fixed by ensuring valid file paths are passed
to QFileInfo. VcsBase::SubmitFileModel has now a "repositoryRoot" property
so it can constructs absolute file paths.
VcsBaseSubmitEditor::setFileModel() now relies on SubmitFileModel::repositoryRoot()
instead of passing this info as annex parameter.
Change-Id: Ie045c3a7b247a5b5d48d10aaaf67cb3fdcf9fa7e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
-> Renamed to diffSelectedRows()
This allows to use easily Qt5 connects, without ugly casting to
pick the right overload
Change-Id: Ifaa0242febccb4e1aadd53470cc4b3be79b07c18
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
(cherry picked from commit 12fac12e8f)
If a document has a file name associated with it then the prefix is
composed from path components (subdirectories), starting from the one
where the file is located and going up the parents until the resulting
name becomes unique among other open documents.
If a document doesn't have an associated file name, then a sequential
number (starting from 1) is appended to the display name of the
document.
This feature is useful when working with big projects that have lots
of idendical file names across different subdirectories (e.g.
Makefile.in, main.cpp, etc.) that need to be edited at the same
time. It allows to easily recognize such a file when switching
between documents in the editor, w/o the need to place the
mouse pointer over the name entry to get its full path.
Started-by: Dmitriy Kuminov <coding@dmik.org>
Task-number: QTCREATORBUG-10185
Change-Id: I633ea6d9b9b4fce8b67335dbcce1bda29254efde
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Those should no longer be necessary and some people report warnings
about queueing Qt::ApplicationState when doing commits in creator.
Change-Id: I7bf1be57b8a92212ef677d1a608c0f22d20cab8b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Make the description directly available to subclasses of the submit
editor.
Change-Id: Ieb6f99091fdcb6f794491169e637bec53a04dacb
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Mostly done using the following ruby script:
Dir.glob('**/*.cpp').each { |file|
next if file =~ %r{src/shared/qbs|/qmljs/}
s = File.read(file)
s.scan(/^using namespace (.*);$/) {
ns = $1
t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
before = $1
char = $2
if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
m
else
before + char
end
}
if t != s
puts file
File.open(file, 'w').write(t)
end
}
}
Change-Id: I061c7bdcade96961aed226a8348f8ab07ee95f5f
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Internal paths are supposed to be normalized
Change-Id: Ic6943ce13ad389dfdb44054a9e6f03da8c6cd88d
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>