* Move all data handling into DiffEditorDocument
* Move much of the logic of how to update views into the
DiffEditor.
* Introduce a base class for the different views on the diff
to implement.
* Remove DiffEditorGuiController
* Make DiffEditorController smaller and merge the DiffEditorReloader
into the class
* Simplify communication between the classes involved
* Make much of the implementation private to the plugin
Change-Id: I7ccb9df6061923bcb34cf3090d6d8331895e83c7
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.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>
... and default to C_GLOBAL. A rather common case.
Similar for ActionContainer::addSeparator().
Change-Id: I7f9ba573af201c0a472132d5a494ad17cc4175b7
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
PageIds are supposed to be unique, so the CategoryId can be determined
from the PageId. Look for PageIds in the already expanded categories
first before searching through expensive categories.
Change-Id: I006beb0df6183453163ac1810fe59a306a0f52b1
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
In Qt Creator, we want line edits to take up the free horizontal
space.
Change-Id: I4ff78035ab2481cc2f944fc02569638f06f0b090
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
When resizing the dialog, the Commits list should take the free
space.
Change-Id: I6586f43f8f43a4563327867e29630626f4a6e00a
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>
Only expose Core::IDocument and keep DiffEditorDocument internal
to the DiffEditor plugin.
Change-Id: If39b82e2f20d40a65284503b4d4fd8dad919ad3a
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Make the UI a bit nicer and simplify the code to find remotes.
Task-number: QTCREATORBUG-13718
Change-Id: I3b973fee30061232188c9aed3ad95abc8f8f095d
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Event loops can lead to crashes so it is better to use a dialog which has
not it's own event loop.
Change-Id: Ib703aad698f270b1fa491731adee131ad8b081e6
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>
Windows does pick ::log in favor of this->log in the lambda.
Change-Id: Ib3037606dfe70de955b10e69e2bc513b99b82fca
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Also API of VcsBaseEditorParameterWidget was changed to take benefit of C++11 lambdas.
Slot executeCommand() is no longer virtual and only fires signal commandExecutionRequested().
The Vcs client just has to bind a lambda to this signal instead of some boiler-plate code
like keeping track of the arguments of diff/log with "struct XxxDiffParameters", etc.
Change-Id: I347c97d84a8324e9c661df4e6d9a6075980b020f
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
I will try to move all the wizard code that is still relevant there
and then get rid of the rest.
Change-Id: I3963f53fd39ef0f84c71218eb59b05213121cc90
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>