Commit Graph

634 Commits

Author SHA1 Message Date
Eike Ziller
a3608f595a Editors: Remove BaseTextEditorWidget::setBaseTextDocument
First step in never changing the text document after construction,
because that is actually not really supported.
Second step will be to fix that for the editor duplicate() methods too.

Change-Id: I3d112ba0895e7ee7ac6dd8ae2318f0de7d2cebc9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-01-10 14:31:11 +01:00
Erik Verbruggen
02314e24f0 Editor: add margin displaying to project settings.
This patch also moves the showMargin and marginColumn settings into a
new settings class.

Change-Id: I676447be751c13ee438edc1e31e5998b999c6771
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-10 12:11:24 +01:00
Eike Ziller
f9ce335a6d Editors: Remove useless parent widget argument from create/duplicate
It was never called with a sensible value anyhow, and only complicates things.

Change-Id: I005848700b6c00114d91495670d4a0e15a2d2e64
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-08 11:46:11 +01:00
Eike Ziller
236ea9efb9 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/dumper.cpp
	share/qtcreator/debugger/dumper_p.h
	share/qtcreator/debugger/test/main.cpp
	src/plugins/debugger/gdb/classicgdbengine.cpp
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.h
	src/plugins/debugger/lldblib/guest/main.cpp
	src/plugins/debugger/lldblib/ipcengineguest.cpp
	src/plugins/debugger/lldblib/ipcengineguest.h
	src/plugins/debugger/lldblib/ipcenginehost.cpp
	src/plugins/debugger/lldblib/ipcenginehost.h
	src/plugins/debugger/lldblib/lldbenginehost.cpp
	src/plugins/debugger/lldblib/lldboptionspage.cpp
	src/plugins/qbsprojectmanager/qbsstep.cpp
	src/plugins/qbsprojectmanager/qbsstep.h
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas_p.h
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d_p.h
	src/plugins/qmlprofiler/canvas/qmlprofilercanvas.cpp
	src/plugins/qnx/blackberrycheckdevmodestep.cpp
	src/plugins/qtsupport/debugginghelper.cpp

Change-Id: Ie9fd0a885fb6264a6a8a72daee071b75bcbd2e9d
2014-01-08 11:01:06 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Eike Ziller
f161f1a25d Move some BaseTextDocument setup from BaseTextEditorWidget
There is a 1-to-1 relationship between BaseTextDocument and QTextDocument,
so it doesn't make sense to do the setup between them in the editor widget.

Move creation of BaseTextDocumentLayout and setting up of 'changed' signal
to BaseTextDocument. This also avoids sending multiple
'changed' signals for a single QTextDocument::modificationChanged signal
in case of splits.

Change-Id: Iaab4fea594c5b50f502fd41c88948fac132de9f1
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-07 11:59:34 +01:00
Eike Ziller
8a2f38683c TextEditor: Remove unused signal.
Change-Id: I50a32f435451ffb8991f5e0c0d7e7da950ce19c9
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-07 11:28:30 +01:00
Eike Ziller
025446b02b Move document -> code assist connect to CodeAssistant::configure
Change-Id: I6124c12a269093fbd54cbbbb47b4d7f15ffaae2f
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-12-18 11:37:27 +01:00
Eike Ziller
1adab4c4cc Merge BaseTextEditorWidget::editorDocument() and ::baseTextDocument()
Doesn't really make sense to have the additional IDocument *editorDocument()
method.

Change-Id: I0a7420eb1afaa76f63c3f7e9c4b373acf624ffb9
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-12-18 11:34:34 +01:00
Eike Ziller
b55df87a7b TextEditor: Remove "actionHack" and utilize contexts instead.
The actionHack was used to only forward actions to editors that "belong"
to that action handler instance. That is already clearly defined by the
context that the action handler is created for, so we can just use that
instead.

Change-Id: Ia4c6795c80bb281c1ed258324925f56ca7fd8150
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-12-11 16:02:07 +01:00
Eike Ziller
18313bdb33 Move markableInterface() to ITextEditorDocument
And remove the indirection over BaseTextEditorWidget.

Change-Id: I2c570edf46b9ca72a11704ce27d8ae3f2218dcf0
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-12-10 09:11:45 +01:00
Joerg Bornemann
5efee477b6 remove left-over Q_UNUSED macros
Change-Id: I8dd6861219bc8221030a850779baed2a596d5944
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-11-26 13:51:05 +01:00
Orgad Shaneh
c1c25a0704 TextEditor: Allow only a single "select encoding" infobar entry
Change-Id: I2e8ac37b2e980bed88e270ccd10cb7319f1f9ffd
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-11-14 10:45:03 +01:00
Orgad Shaneh
4442a92729 Braces cleanup
Change-Id: I8413252c90a1487d291f15d92837c30ab697b245
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-14 08:13:52 +01:00
David Schulz
88c647ce68 TextEditor: Update actions after toggling read only mode.
Task-number: QTCREATORBUG-9188

Change-Id: I3448645397e7a39487f2e961728ebef924eec7f6
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-10-30 09:51:07 +01:00
Eike Ziller
c9cf3d1464 TextEditors: Fix document changed indicator in case of splits
Since the changed signal was moved from the editor to the document, we
now need to set up all the connections in the setupDocumentSignals.
Otherwise split editors, which get a different document after creation,
do no longer set up the right connections.

Task-number: QTCREATORBUG-10301
Change-Id: Ifc7b426abf87ab73ea37379c1a55e5af2005fc43
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-10-18 09:00:27 +02:00
Nikolai Kosjar
b8dbac0b9c Rename "[Mm]ethod(s)" to "[Ff]unction(s)"
Only methods as programming functions are affected. Besides renaming
some actions like "Switch Between Function Declaration/Definition" this
mostly touches (api) code comments.

This is a follow-up patch to commit 872bfb7.

Change-Id: Icb65e8d73b59a022f8885b14df497169543a3b92
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-10 15:56:12 +02:00
Nikolai Kosjar
713e4dd5e3 Revert "Pass ShortcutOverride events to base class in BaseTextEditorWidget."
This reverts commit 36552d17ea because it
broke Ctrl+v among others.

Change-Id: I1c1eecdc9c3e003e96b9c836cd638ead9a3b444d
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-10-09 17:12:16 +02:00
David Schulz
36552d17ea Pass ShortcutOverride events to base class in BaseTextEditorWidget.
Task-number: QTCREATORBUG-9820
Change-Id: I34493bf655cc2c5bc21d6dadbe2cf668093cfa0a
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-10-09 13:28:44 +02:00
Orgad Shaneh
2e15e54d95 Fix MSVC warning
basetexteditor.cpp:6013: warning: C4189: 'ts' : local variable is
initialized but not referenced

Change-Id: Ia5d6531f8dab8debbb41da79f1cdf152ee831676
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-08 13:38:17 +02:00
jkobus
2cbb64e0f9 Fix a crash on codestylesettings
Task-number: QTCREATORBUG-10235

Instead of rely on ICodeStylePreferences::destroyed() signal,
when all other objects might be in destruction phase,
clear project code style settings explicitly, when project
closes.

Change-Id: I0dd6675d54c5495d4006acbc9ad12c95f1d0a00c
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
2013-10-07 11:06:43 +02:00
David Schulz
bd144ab0f5 Editor: TabSettings: Make some functions static.
Change-Id: I99597a22b333c44346eb890ebe615193bdbe66d6
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-10-01 15:15:52 +02:00
Nikolai Kosjar
11aeaea86f CppEditor: "Follow Symbol Under Cursor" for virtual functions
F2 on a virtual function call presents a list of overrides in derived
classes. The function declaration of the static type is shown
immediately at the top.

Task-number: QTCREATORBUG-9611

Change-Id: I80ce906fa06272dc9fbd1662cd17500b8c77067f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-01 14:23:00 +02:00
Christian Kamm
88e054e845 Autoindent: Don't reindent on every autotext insert.
Currently the line is completely reintented whenever an autoText
insert is being done (like inserting a matching paren). This is un-
necessary as well as actively harmful.

Unnecessary, because the electric character mechanism is already
supposed to trigger reindents where necessary.

Harmful, because the reindent method that is used does not take care
to preserve explicit user indentation. The electric character reindent
does that (by only changing indentation if the actual current indent
is the same as the previously expected indent).

Change-Id: I19db853b6c30792f867baad919bd4eb9b4c23361
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-09-27 10:47:14 +02:00
Orgad Shaneh
9bf1be7f22 TextEditor: Update circular clipboard on cut
Task-number: QTCREATORBUG-8713
Change-Id: Ic83c78a4caf7f768259c8f6830e7b81016c70e5e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-09-25 09:54:49 +02:00
hjk
ca15d0aa95 Apply static pattern to TextEditorSetting
Change-Id: I4e6f573d893c0aa2bb4ca9812fc8db2961dac172
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-20 10:28:22 +02:00
hjk
8098c085fe Utils: Cleanup of Tooltip interface
Change-Id: If4908e7a5d5ce749ff1e2efc7a026604821737be
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-13 11:35:22 +02:00
Erik Verbruggen
7516ef4969 TextEditor: get CompletionAssistProvider from editor.
And not from the global object pool. This way, the editors that have
different highlighters for various language dialects, or editors that
support multiple languages in a single editor, can decide themselves on
what CompletionAssistProvider to provide.

Change-Id: Ieebc4a8e7b3de6470fdb8103035aa3b8b2ba6598
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-09-09 10:15:55 +02:00
Christian Kandeler
72d173829c Remove superfluous include paths from project files.
A lot of our build system files specify unneeded include
paths. These roughly fall into the following categories:
    a) Paths that are already set in more general files
       such as qtcreator.pri.
    b) Paths that serve no purpose at all, possibly
       left over from earlier versions of the project.
    c) Paths that act as workarounds for wrong include
       statements of the form '#include "xyz.h"', where
       xyz.h is not in the same directory as the including
      file.
This patch removes such path specifications and fixes the offending
include statements from case c).
Tested on Linux, Windows and OSX with qmake and qbs.

Change-Id: I039a8449f8a65df0d616b4c08081145c18ae4b15
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-09-02 17:28:17 +02:00
hjk
4a24df38a3 EditorManager: Use static pattern, adjust surrounding code
Change-Id: I3255a0150cd9a730336456c5a9f986eb74fefbff
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-30 11:22:56 +02:00
jkobus
e8801167aa Add common interface for text formats inside syntax highlighter
Change-Id: I87f64446161a57aea0896f68e4eafacef791969b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-08-26 13:39:40 +02:00
Tobias Hunger
ee47b652a6 Snippets: Allow lowercase/titlecase/uppercase modifiers for variables
Use the same syntax already used in the custom wizard to denote
variables that are modified to be lower-/title-/uppercase:

 $tESt:u$ will become TEST
 $tESt:c$ will become TESt
 $tESt:l$ will become test

The snippet will be inserted without any name mangling happening.
Once the editing is done the name mangling is applied to all fields.

Change-Id: I7c1f5a1ad2bb5acf1b88b54de51bb39391c64763
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-08-20 14:49:17 +02:00
Tobias Hunger
b589336e54 Snippets: Move snippet parsing into the snippet class
* Move the code to parse snippets into the snippet class
* Allow to escape $ so that this character can be used in
  snippets
* Add unit tests for the snippet parsing

Change-Id: I134f3c0de8290e1d7fcaf808577b31f5ac8fbc63
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-08-20 14:49:09 +02:00
Tobias Hunger
9de44134c0 Fix whitespaces
Change-Id: I80381a43cdae20654ebecf341a48cb22c1c018e5
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-20 13:59:22 +02:00
Erik Verbruggen
073e5d6632 C++: optionally let the highlighter handle ifdefed-out blocks.
Change-Id: I38cc0e55348cac0245d2ab8f3e39c68de76e3e6d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-08-19 13:01:07 +02:00
Orgad Shaneh
ad9e7ccab6 Fix coding style for else statements
Change-Id: I1309db70e98d678e150388c76ce665e988fdf081
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-17 11:11:25 +02:00
Eike Ziller
7808266fca TextEditors: Remove useless duplicated (set)textCodec methods
They are duplicated from TextDocument::(set)codec. The default
implementation of the duplicated methods was just delegating to the text
document. The override of setTextCodec in QmlJsEditor was useless, since
it was only called from EditorConfiguration::configureEditor with the
ITextEditor::TextCodecFromProjectSetting flag anyhow, which made the
overridden method in QmlJsEditor be the same as the fallback.
Aside from that, the duplicated methods wouldn't have belonged to the
*editor* anyhow, but to the document.

Change-Id: Ib43c28210b6bf88726159d751a4905a1d062f80e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-17 09:05:41 +02:00
Eike Ziller
fade19a9bf Move IEditor::createNew to IDocument::setContents
The method is for setting the contents, so it belongs to the document,
and should be named correspondingly.

Change-Id: I40363dc08f11268f530885b512e4a88e8b10d096
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-17 09:00:17 +02:00
Eike Ziller
113c5600c9 Move displayName from IEditor to IDocument
The display name is not editor instance specific, but belongs to the
document.

Change-Id: I3c936f04a86e10e6ca30063d85036d85b4b5880e
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-07-10 17:26:15 +02:00
Eike Ziller
dd43d9908f Rename IDocument::fileName --> filePath
That is what it actually is, wrt how Qt API calls it.

Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-09 13:51:42 +02:00
Nikolai Kosjar
10ff6769ac Core: Let IDocument also report failed file reload operations
Change-Id: I8fa02f2398f59306c49481316fdedf50a1c4e32f
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-24 11:13:29 +02:00
jkobus
abe3951d67 Take diff colors from color scheme
Change-Id: I706612a8f89917cb57b7d1e9ecebd86b3f4bcc8d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-06-12 09:23:50 +02:00
Frank Secilia
84e6ab02ed Mismatched parens background color now dark on dark backgrounds.
The color is not configurable, but on dark backgrounds, the color is now
dark magenta, rather than magenta.

Task-number: QTCREATORBUG-9025

Change-Id: I9925e598b30a13c8b9691d6e0e576c0087df38da
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-06-06 10:08:27 +02:00
Eike Ziller
7c8db79817 Switch less often to edit mode
This change
* Removes IMode::type, ModeManager::activateModeType, and
  IEditor::preferredModeType, and adds IEditor::isDesignModePreferred
  instead
* Adapts the mode switching code in EditorManager to handle multiple
  windows, for example switching to edit mode should only happen if
  the editor/view is in the main window. Otherwise the editor window
  should be raised and focused
* Renames EditorManager::NoActivate --> DoNotChangeCurrentEditor
* Reverts the EditorManager::ModeSwitch logic to switch mode or
  make the current editor visible by default, introducing
  DoNotMakeVisible flag instead
* Fixes a few instances where EditorManager::ModeSwitch should have been
  used

One non-trivial problem left: If you open a .ui file and switch to an
external editor window, edit mode is activated, because the current
editor no longer is a .ui file, which means that the design mode gets
deactivated.

Change-Id: I76c5c2391eb4090143b778fb103acff3a5a1ff41
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-06-05 09:43:14 +02:00
Eike Ziller
2125525e77 Move openEditorAt from BaseTextEditorWidget to EditorManager
More sensible place, gotoLine is a method in IEditor anyhow.

Change-Id: I420a6bf17060c16e6f1a4f45e0bef89379fb6bf8
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-06-03 09:33:06 +02:00
Eike Ziller
7d986f0486 Cycle through extra editor windows when cycling through splits
Change-Id: I1bd5654d62b11456c35cc5bf1099e41fb3559bc7
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-05-31 12:27:12 +02:00
hjk
2b93fea580 BaseTextEditor: Style fixes
Whitespace, s/e/m_editorWidget/, remove unneeded struct, remove 'inline'
when not needed...

Change-Id: I1ce76f5c4b1febe45c4a3b6404107fed7d9c6868
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-05-27 09:05:35 +02:00
hjk
4e75fc8c54 TextEditor: Simplify Utils::CommentDefinition structure
Change-Id: I8fc97ed61c47af2c3d9e5cc2bf81e97661204d4f
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-05-27 08:35:46 +02:00
hjk
b8ea4a9bb3 BaseTextEditor: Remove needless indirection for timer members
Change-Id: Iace012eb2fba76438d27d80462e6357cbda73f53
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-05-24 15:38:16 +02:00
Orgad Shaneh
05ef32f242 Remove Nokia leftovers
Mostly internal mimetypes

Change-Id: Ia84206f1334c1f83474cbc307e848719bb98adbc
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-24 12:29:23 +02:00