Also introduce a indirection, modes have now types, edit and debug have
the same type, and editors do have a prefered type of modes instead of a
prefered mode.
That fixes the bug that if the prefered qml editing mode was set to
design, then in switching between qml editors would
- in Edit Mode: stay in edit mode
- in Debug Mode: switch to debug mode
The function always switched to Edit Mode, which was the cause for
several bugs. Since openEditor() already does switch to the right mode,
the function is not really needed.
The following actions now respect the prefered mode of the editor:
"f file"-locator
The Open Documents list
Editor history navigation
in VCSBaseEditor and BaseTextEditor::createNew to the size
used for limiting file size.
Reviewed-by: Robert Loehning <robert.loehning@nokia.com>
Task-number: QTCREATORBUG-1847
Make VCS-generated editors read-only, enable editing
when opening a patch.
Make VCS-Editor non-read-only by default, add setter
for "Forced read-only" that makes it a temporary,
read-only file.
Task-number: QTCREATORBUG-1528
Reviewed-by: Thorbjorn Lindeijer <thorbjorn.lindeijer@nokia.com>
Merge managesDirectory() and findTopLevelForDirectory()
into one giving managesDirectory() an optional topLevel
parameter. This removes the need to go up the directory
hierarchy twice when checking for Merurial or git and also
saves some checks for CVS/Subversion.
VCSManager: Check cache in reverse order starting out with
the full path first to improve handling of nested repositories.
Rubber-stamped-by: con
Acked-by: dt
* Use id() for methods returning a string used to represent
some type of object.
* Use displayName() for strings that are meant to be user
visible.
* Quieten some warnings while touching the files anyway.
* Move Factories to their products in the plugins where that
was not done before.
Reviewed-by: dt
in annotation editor, including base infrastructure in
VCSBaseEditor. Pass signals of VCSBaseEditor to opaque
VCSBaseEditable (IEditor) for convenience.
Task-number: QTCREATORBUG-503
Fixes:
- Cannot diff a file that does not belong to a project
- Cannot commit when a temporary diff/log view is open
due to the current file pointing to a temporary directory
- git's project-related actions not passing the correct
relative path.
Implementation:
- Centralize code to listen for Qt Creator's relevant state changes
in VCSBasePlugin, dispatching the changes to the instances affected.
(avoiding multiple invocations of searches/QFileInfo on current).
- Do the same for the corelistener catching closing SubmitEditors.
- Introduce VCSBasePluginState representing the relevant state
(current file/project).
- Call git with working directory set and relative arguments
- Remove setEnabled/isEnabled() logic of IVersionControl
- Pass toplevel from VCSManager to avoid duplicate searches.
and ApplicationRunConfiguration to LocalApplicationRunConfiguration,
preparing remote debugging. Change the interface canRun() to be const,
run() to create() (since it does not run anything), use references
to the QSharedPointer<Foo>. Introduce d-Pointer and remove
unneeded headers from ProjectExplorerPlugin and add missing includes
everywhere.
enum ExtraSelectionKind {
CurrentLineSelection,
ParenthesesMatchingSelection,
CodeWarningsSelection,
CodeSemanticsSelection,
OtherSelection,
NExtraSelectionKinds
};
void setExtraSelections(ExtraSelectionKind kind, const QList<QTextEdit::ExtraSelection> &selections);
QList<QTextEdit::ExtraSelection> extraSelections(ExtraSelectionKind kind) const;
This is mainly for the benefit of the cppmodelmanager.